本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定自我管理 Active Directory
若要設定自我管理 AD,請採取下列步驟。
主題
步驟 1:在您的 AD 中建立組織單位
重要
我們建議您為擁有加入自我管理 AD 網域之 RDS for SQL Server 資料庫執行個體的任何 AWS 帳戶建立範圍為該 OU 的專用 OU 和服務憑證。透過專用 OU 和服務憑證,您可以避免衝突的許可,並遵循最低權限的主體。
在您的 AD 中建立 OU
-
以網域管理員身分連線至您的 AD 網域。
-
開啟 Active Directory 使用者和電腦,然後選取您要在其中建立 OU 的網域。
-
在網域上按一下滑鼠右鍵,然後選擇新增,再選擇組織單位。
-
輸入 OU 的名稱。
-
保持選取保護容器免遭意外刪除的方塊。
-
按一下 OK (確定)。您的新 OU 會出現在您的網域下方。
步驟 2:在您的 AD 中建立 AD 網域使用者
網域使用者登入資料將用於 AWS Secrets Manager 中的秘密。
在您的 AD 中建立 AD 網域使用者
-
開啟 Active Directory 使用者和電腦,然後選取您要在其中建立使用者的網域。
-
在使用者上按一下滑鼠右鍵,然後選擇新增,再選擇使用者。
-
輸入使用者的名字、姓氏和登入名稱。按一下 Next (下一步)。
-
輸入使用者的密碼。不要選取「使用者在下次登入時必須變更密碼」。不要選取「帳戶已停用」。按一下 Next (下一步)。
-
按一下 OK (確定)。您的新使用者會出現在您的網域下方。
步驟 3:將控制權委派給 AD 使用者
將控制權委派給網域中的 AD 網域使用者
-
開啟 Active Directory 使用者和電腦 MMC 嵌入式管理單元,然後選取您要在其中建立使用者的網域。
-
在您先前建立的 OU 上按一下滑鼠右鍵,然後選擇委派控制權。
-
在委派控制權精靈頁面上,按下一步。
-
在使用者或群組區段上,按一下新增。
-
在選取使用者、電腦或群組區段上,輸入您建立的 AD 使用者,然後按一下檢查名稱。如果 AD 使用者檢查成功,請按一下確定。
-
在使用者或群組區段上,確認已新增 AD 使用者,然後按下一步。
-
在要委派的任務區段上,選取建立要委派的自訂任務,然後按下一步。
-
在 Active Directory 物件類型區段上:
-
選擇僅限資料夾中的下列物件。
-
選取電腦物件。
-
選取在此資料夾中建立選取的物件。
-
選取刪除此資料夾中選取的物件,然後按下一步。
-
-
在許可區段上:
-
保持選取一般。
-
選取已驗證寫入 DNS 主機名稱。
-
選取已驗證寫入服務主體名稱,然後按下一步。
-
-
對於完成委派控制權精靈,請檢閱並確認您的設定,然後按一下完成。
步驟 4:建立 AWS KMS 金鑰
KMS 金鑰用於加密您的 AWS 秘密。
建立 AWS KMS 金鑰
注意
對於加密金鑰,請勿使用 AWS 預設 KMS 金鑰。請務必在包含您要加入自我管理 AD 的 RDS for SQL Server 資料庫執行個體的相同 AWS 帳戶中建立 AWS KMS 金鑰。
-
在 AWS KMS 主控台中,選擇建立金鑰。
-
對於金鑰類型,選擇對稱。
-
對於金鑰用途,選擇加密和解密。
-
針對 Advanced options (進階選項):
-
對於金鑰材料來源,選擇 KMS。
-
對於區域性,選擇單一區域金鑰,然後按下一步。
-
-
對於別名,提供 KMS 金鑰的名稱。
-
(選用) 對於描述,提供 KMS 金鑰的描述。
-
(選用) 對於標籤,提供 KMS 金鑰的標籤,然後按下一步。
-
對於金鑰管理員,提供 IAM 使用者的名稱,然後選取該名稱。
-
對於金鑰刪除,保持選取允許金鑰管理員刪除此金鑰的方塊,然後按下一步。
-
對於金鑰使用者,提供上一個步驟中相同的 IAM 使用者,然後選取該使用者。按一下 Next (下一步)。
-
檢閱組態。
-
對於金鑰政策,在政策聲明中包含下列內容:
{ "Sid": "Allow use of the KMS key on behalf of RDS", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com" ] }, "Action": "kms:Decrypt", "Resource": "*" }
-
按一下 Finish (完成)。
步驟 5:建立 AWS 秘密
若要建立機密
注意
請務必在包含您要加入自我管理 AD 之 RDS for SQL Server 資料庫執行個體的相同 AWS 帳戶中建立秘密。
-
在 AWS Secrets Manager 中,選擇儲存新的秘密。
-
針對機密類型,選擇其他類型的機密。
-
對於金鑰/值對,新增兩個金鑰:
對於第一個金鑰,輸入
CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME
。對於第一個金鑰的值,請僅輸入 AD 使用者的使用者名稱 (不含網域字首)。請勿包含網域名稱,因為這會導致執行個體建立失敗。
對於第二個金鑰,輸入
CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD
。對於第二個金鑰的值,輸入您在網域上為 AD 使用者建立的密碼。
-
對於加密金鑰,輸入您在上一個步驟中建立的 KMS 金鑰,然後按下一步。
-
對於秘密名稱,輸入可協助您稍後尋找密碼的描述性名稱。
-
(選用) 對於描述,輸入秘密名稱的描述。
-
對於資源許可,按一下編輯。
-
請將下列政策新增至許可政策:
注意
建議您使用政策中的
aws:sourceAccount
和aws:sourceArn
條件金鑰,保護自己免受混淆代理人問題的困擾。使用 AWS 帳戶 適用於 的aws:sourceAccount
和適用於 的 RDS for SQL Server 資料庫執行個體 ARNaws:sourceArn
。如需詳細資訊,請參閱防止跨服務混淆代理人問題。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*", "Condition": { "StringEquals": { "aws:sourceAccount": "
123456789012
" }, "ArnLike": { "aws:sourceArn": "arn:aws:rds:us-west-2
:123456789012
:db:*
" } } } ] } -
按一下儲存,然後按下一步。
-
對於設定輪換設定,保留預設值並選擇下一步。
-
檢閱秘密的設定,然後按一下存放。
-
選擇您建立的秘密,然後複製秘密 ARN 的值。這將在下一個步驟中用來設定自我管理 Active Directory。
步驟 6:建立或修改 SQL Server 資料庫執行個體
您可以使用主控台、CLI 或 RDS API,將 RDS for SQL Server 資料庫執行個體與自我管理 AD 網域建立關聯。您可採用下列其中一種方式來這麼做:
-
使用主控台、create-db-instance CLI 命令,或 CreateDBInstance RDS API 操作,建立新的 SQL Server 資料庫執行個體。
如需說明,請參閱「建立 Amazon RDS 資料庫執行個體」。
-
使用主控台、modify-db-instance CLI 命令,或 ModifyDBInstance RDS API 操作,修改現有的 SQL Server 資料庫執行個體。
如需說明,請參閱「修改 Amazon RDS 資料庫執行個體」。
-
使用主控台、restore-db-instance-from-db-snapshot CLI 命令,或 RestoreDBInstanceFromDBSnapshot RDS API 操作,從資料庫快照還原 SQL Server 資料庫執行個體。
如需說明,請參閱「還原至資料庫執行個體」。
-
使用主控台、restore-db-instance-to-point-in-time CLI 命令,或 RestoreDBInstanceToPointInTime RDS API 操作,將 SQL Server 資料庫執行個體還原至某個時間點。
如需說明,請參閱將資料庫執行個體還原至 Amazon RDS 的指定時間。
當您使用 時 AWS CLI,資料庫執行個體需要下列參數,才能使用您建立的自我管理 Active Directory 網域:
-
對於
--domain-fqdn
參數,使用自我管理 Active Directory 的完整網域名稱 (FQDN)。 -
對於
--domain-ou
參數,使用您在自我管理 AD 中建立的 OU。 -
對於
--domain-auth-secret-arn
參數,使用您在上一個步驟中所建立之秘密 ARN 的值。 -
對於
--domain-dns-ips
參數,針對自我管理 AD 使用 DNS 伺服器的主要和次要 IPv4 地址。如果您沒有次要 DNS 伺服器 IP 地址,請輸入主要 IP 地址兩次。
下列範例 CLI 命令說明如何建立、修改及移除具有自我管理 AD 網域的 RDS for SQL Server 資料庫執行個體。
重要
如果您修改資料庫執行個體,以將其加入自我管理 AD 網域或從中移除,則需要重新啟動資料庫執行個體,修改才會生效。您可以選擇立即套用變更,也可以等到下一個維護時段。選擇立即套用選項會導致單一可用區域資料庫執行個體停機。多可用區域資料庫執行個體將在完成重新啟動之前執行容錯移轉。如需詳細資訊,請參閱使用排程修改設定。
下列 CLI 命令會建立新的 RDS for SQL Server 資料庫執行個體,並將其加入自我管理 AD 網域。
對於 Linux、 macOS或 Unix:
aws rds create-db-instance \ --db-instance-identifier
my-DB-instance
\ --db-instance-classdb.m5.xlarge
\ --allocated-storage50
\ --enginesqlserver-se
\ --engine-version15.00.4043.16.v1
\ --license-modellicense-included
\ --master-usernamemy-master-username
\ --master-user-passwordmy-master-password
\ --domain-fqdnmy_AD_domain.my_AD.my_domain
\ --domain-ouOU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain
\ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456"
\ --domain-dns-ips"10.11.12.13" "10.11.12.14"
在 Windows 中:
aws rds create-db-instance ^ --db-instance-identifier
my-DB-instance
^ --db-instance-classdb.m5.xlarge
^ --allocated-storage50
^ --enginesqlserver-se
^ --engine-version15.00.4043.16.v1
^ --license-modellicense-included
^ --master-usernamemy-master-username
^ --master-user-passwordmy-master-password
^ --domain-fqdnmy-AD-test.my-AD.mydomain
^ --domain-ouOU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain
^ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" \
^ --domain-dns-ips"10.11.12.13" "10.11.12.14"
下列 CLI 命令會修改現有的 RDS for SQL Server 資料庫執行個體,以使用自我管理 Active Directory 網域。
對於 Linux、 macOS或 Unix:
aws rds modify-db-instance \ --db-instance-identifier
my-DB-instance
\ --domain-fqdnmy_AD_domain.my_AD.my_domain
\ --domain-ouOU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain
\ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456"
\ --domain-dns-ips"10.11.12.13" "10.11.12.14"
在 Windows 中:
aws rds modify-db-instance ^ --db-instance-identifier
my-DBinstance
^ --domain-fqdnmy_AD_domain.my_AD.my_domain
^ --domain-ouOU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain
^ --domain-auth-secret-arn"arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456"
^ --domain-dns-ips"10.11.12.13" "10.11.12.14"
下列 CLI 命令會從自我管理 Active Directory 網域中移除 RDS for SQL Server 資料庫執行個體。
對於 Linux、 macOS或 Unix:
aws rds modify-db-instance \ --db-instance-identifier
my-DB-instance
\ --disable-domain
在 Windows 中:
aws rds modify-db-instance ^ --db-instance-identifier
my-DB-instance
^ --disable-domain
步驟 7:建立 Windows 身分驗證 SQL Server 登入
使用 Amazon RDS 主要使用者憑證來連線至 SQL Server 資料庫執行個體,如同您對任何其他資料庫執行個體所做一般。因為資料庫執行個體已加入自我管理 AD 網域,所以您可以佈建 SQL Server 登入和使用者。您可以從自我管理 AD 網域中的 AD 使用者和群組公用程式執行此操作。您可透過對這些 Windows 登入授予和撤銷的標準 SQL Server 許可來管理資料庫許可。
為了讓自我管理 AD 向 SQL Server 進行身分驗證,對於自我管理 AD 使用者或使用者為其成員之自我管理 Active Directory 群組,SQL Server Windows 登入必須存在。精細定義的存取控制是透過授予和撤銷這些 SQL Server 登入的許可來處理。自我管理 AD 使用者若沒有 SQL Server 登入,或不屬於具有此類登入的自我管理 AD 群組,則無法存取 SQL Server 資料庫執行個體。
需要 ALTER ANY LOGIN 許可,才能建立自我管理 AD SQL Server 登入。如果您尚未使用此許可建立任何登入,請使用 SQL Server 身分驗證,以資料庫執行個體的主要使用者身分連線,並在主要使用者的內容下建立自我管理 AD SQL Server 登入。
您可以執行如下的資料定義語言 (DDL) 命令,為自我管理 AD 使用者或群組建立 SQL Server 登入。
注意
使用 Windows 2000 前版的登入名稱,以格式
來指定使用者和群組。您無法使用格式為 my_AD_domain
\my_AD_domain_user
my_AD_domain_user
@
的使用者原則名稱 (UPN)。my_AD_domain
USE [master] GO CREATE LOGIN [
my_AD_domain
\my_AD_domain_user
] FROM WINDOWS WITH DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english]; GO
如需詳細資訊,請參閱 Microsoft 開發人員網路文件中的 建立登入 (Transact-SQL)
來自您網域的使用者 (人員和應用程式兩者) 現在可以使用 Windows 身分驗證,從加入自我管理 AD 網域的用戶端機器連線至 RDS for SQL Server Active 執行個體。