Differences in AWS Managed AD and On Premises AD

2022-01-18 AWS

還記得上一次摸 Microsoft Active Directory 已經將近 5 年多的時間了,那時候最新的版本仍是 Microsoft Server 2008R2,想說破窗計劃就此不會需要再跟 Windows 有接觸,殊不知在年前就準備了一個 AWS Managed AD 的客戶訓練,只好在這個時間釐清了許多在過去沒有補足的地方,也在這裡做一個紀錄。

在 Microsoft 領域小弟絕對不是專家,在這篇主要會講到 AWS Managed AD 和傳統自架的 Microsoft AD 的差異之處,讓有意在 AWS 上使用 AWS Managed AD 時可以更快的了解及上手。

What is AWS Managed AD

什麼是 AWS Managed AD?在 AWS 的服務名稱掛上「Managed」的意思顧名思義就是由 AWS 所託管的服務,最大的優勢是讓你減少 Operation 的工作,即使有複雜需要手動介入的動作也讓你只透過簡單的幾個步驟就能完成。AWS Managed AD 實際上是由 AWS 所託管的 Windows Server 2012 R2 底層加上 Active Directory Domain Controller 服務。

而 AWS Managed AD 在建立時就必須採用 two-subnets, multiple-AZ 來達到可用性,預設 DC 之間就會互相同步,在需要切換 DC 時就不用擔心資料遺失的問題。

Differences in Standard and Enterprise Edition

AWS Managed AD 提供 Standard 和 Enterprise 兩種版本選擇,主要的考量是「使用量級」為主,以 Standard 來說支援最大 1GB directory object storage 以及 5,000 個使用者註冊 等等 (詳細參考 AWS Directory Service options),超過就必須選到 Enterprise 版本,而 Enterprise 也另外支援 Multi-Region replication 的功能由 AWS 自動將 DC 資料同步到更多的 AWS Region。

Cross accounts and regions

在 AWS 上部署跨 account 以及跨 region 是很常見的事情,而 AWS Managed AD 也具備這樣的特性。首先,跨帳號時 AWS Managed AD 的 Amazon VPC 彼此必須網路串通 (VPC Peering, Transit Gateway) 後再使用 Shared directories 的功能,同時支援 AWS Organizations OU 以及在 AWS Organizations 之外的 AWS account。

當環境開始有跨區 (cross-region) 的要求時 AWS Managed AD 必須是 Enterprise 版本才有支援,AWS 會將不同 region 間的 AD DC 做 replication,你只需要指定 Primary DC 是哪一個 region 為主作為主要 replication 來源。

Differences in AWS Managed AD and On Premises AD

多數 AD Domain Controller 的功能在 AWS Managed AD 都能實現,畢竟他就是一組 Windows Server 2012 R2 的 Amazon EC2,但是在 Domain Controller 的設計上有些許的不同:

OU 的 Computers, Users 位於 {domain}/{NetBIOS} 底下、預設 AWS OU 群組

在自架的情況下通常註冊的 Users, Computers 會直接在 {domain}/Computers{domain}/Users 底下,但 AWS Managed AD 會多一層 {domain}/{NetBIOS} 如果是從 On Prem AD 遷移需要注意在 OU 的設計上有所不同。而另外也會看到 AWS Delegated Groups 預先提供給管理者已經 group 好的 OU 使用,以及 AWS Reserved 在服務整合上會使用上的 OU (e.g. Amazon RDS)

GPO (Group Policy Object) 必須跟著 OU 層級走到 {domain}/{NetBIOS}

如果有設定 GPO 的話,那麼 Users, Computers 的對應也需要一並修改到 {domain}/{NetBIOS}

預設啟用 Domain Policy

AWS Managed AD 建立後預設對這個 DC 底下的資源就有一定的 Default domain policy 保護。

Security in AWS AD

因為 Microsoft AD 在整個基礎設施內是安全性極高的一個服務,像是 password policy, trust policy 這類的設定都是在 Windows AD 內基本要注意的,但除了傳統管理 AD 以外在 AWS Managed AD 才有的安全性措施,例如:

IAM:除了在 Windows AD 內的管理以外,在 AWS API/Console 操作上的權限有幾個 Write 是必須特別注意的:

  • ds:ResetUserPassword
  • ds:CreateTrust
  • ds:DeleteTrust
  • ds:UpdateTrust
  • ds:DeleteSnapshot

特別是 ds:ResetUserPassword 這個操作是允許使用 AWS API 重設 Admin 這個 super user 的密碼,必須特別注意這個權限不要被任意用戶拿走了 Domain Administrator。

Security Group:AWS Managed AD 預設會建立一個 ${directory_id}_controllers 的 security group 開放所有預設在加入 AD 網域會使用到的 ports (e.g. 389, 445) 所以在選擇 subnets 時建議是在 Amazon VPC 內的 private subnets 做到一個基本的網路環境隔離 (AD 暴露在 Internet 根本就是肉靶!),當然更好的建議是調整 ${directory_id}_controllers 僅允許特定的 Network CIDR 以及 ports。

Use cases

其實這篇主要還是圍繞在 AWS Managed AD 與傳統自建 AD 的不同,但以過去經驗來說還是簡單概略一下會使用 AWS Managed AD 的用戶群分佈於哪些需求:

簡化 Microsoft AD 管理

我想多數使用者都是衝著「AWS Managed」才使用 AWS Managed AD 的,畢竟能少一件事是一件事,如果成本、需求和 SLA 都能達到平衡,那何必自己管呢?

全球化

Microsoft AD 的管理當大到一定程度時,尤其是要做到全球化是一件很不容易管理的事情,擴展 Domain Controller 即便做習慣也需要半天到一整天才能完成,在 AWS Managed AD 都是基於自動化完成並且背後自動同步。

AWS services integration

對於 AWS 重度使用者來說,AWS 服務整合上絕對是 AWS Managed AD 能獲得更好的體驗,舉一個作者必用的一個服務 AWS Single Sign-On 使用 AWS Managed AD 來管 Users 是非常容易的事情。

References

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱