本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Active Directory 的最佳實務
以下是將 Amazon FSx for NetApp ONTAP SVMs 加入自我管理的 Microsoft Active Directory 時應考慮的一些建議和準則。請注意,建議使用這些作為最佳實務,但並非必要。
主題
將許可委派給您的 Amazon FSx 服務帳戶
請務必使用所需的最低許可來設定您提供給 Amazon FSx 的服務帳戶。此外,將組織單位 (OU) 與其他網域控制站問題分開。
若要將 Amazon FSx SVMs加入您的網域,請確定服務帳戶已委派許可。網域管理員群組的成員有足夠的許可來執行此任務。不過,最佳實務是使用只有執行此操作所需的最低許可的服務帳戶。下列程序示範如何僅委派將 FSx for ONTAP SVMs 加入網域所需的許可。
在加入目錄且已安裝 Active Directory 使用者和電腦 MMC 嵌入式的機器上執行此程序。
為您的 Microsoft Active Directory 網域建立服務帳戶
請確定您以 Microsoft Active Directory 網域的網域管理員身分登入。
-
開啟 Active Directory 使用者和電腦 MMC 嵌入。
在任務窗格中,展開網域節點。
-
找到並開啟您要修改之 OU 的內容 (按一下滑鼠右鍵) 選單,然後選擇委派控制。
-
在控制委派精靈頁面上,選擇下一步。
-
選擇新增,為選取的使用者和群組新增特定使用者或特定群組,然後選擇下一步。
-
在 Tasks to Delegate (要委派的任務) 頁面上,選擇 Create a custom task to delegate (建立要委派的自訂任務),然後選擇 Next (下一步)。
-
選擇僅資料夾中的下列物件,然後選擇電腦物件。
-
選擇在此資料夾中建立選取的物件,以及在此資料夾中刪除選取的物件。然後選擇下一步。
-
在顯示這些許可下,確定已選取一般和屬性特定。
-
針對許可,選擇下列項目:
-
重設密碼
-
讀取和寫入帳戶限制
-
驗證寫入 DNS 主機名稱
-
驗證寫入服務主體名稱
寫入 msDS-SupportedEncryptionTypes
-
-
選擇 Next (下一步),然後選擇 Finish (完成)。
-
關閉 Active Directory 使用者和電腦 MMC 嵌入。
重要
建立 SVMs 之後,請勿移動 Amazon FSx 在 OU 中建立的電腦物件。這樣做會導致您的 SVMs設定錯誤。
使用 Amazon FSx 保持 Active Directory 組態的更新
若要持續提供 Amazon FSx SVMs,請在變更自我管理 AD 設定時更新 SVM 的自我管理 Active Directory (AD) 組態。
例如,假設您的 AD 使用以時間為基礎的密碼重設政策。在此情況下,一旦重設密碼,請務必使用 Amazon FSx 更新服務帳戶密碼。若要這樣做,請使用 Amazon FSx 主控台、Amazon FSx API 或 AWS CLI。同樣地,如果 Active Directory 網域的 DNS 伺服器 IP 地址變更,只要變更發生,就會立即使用 Amazon FSx 更新 DNS 伺服器 IP 地址。
如果更新的自我管理 AD 組態發生問題,SVM 狀態會切換到設定錯誤。此狀態會在主控台、API 和 CLI 的 SVM 描述旁顯示錯誤訊息和建議的動作。如果 SVM AD 組態發生問題,請務必針對組態屬性採取建議的修正動作。如果問題已解決,請確認 SVM 的狀態變更為已建立。
如需詳細資訊,請參閱使用 AWS 管理主控台 AWS CLI、 和 API 更新現有的 SVM Active Directory 組態及使用 ONTAP CLI 修改 Active Directory 組態。
使用安全群組限制 VPC 內的流量
若要限制虛擬私有雲端 (VPC) 中的網路流量,您可以在 VPC 中實作最低權限原則。換句話說,您可以將許可限制為所需的最低許可。若要這樣做,請使用安全群組規則。如需詳細資訊,請參閱 Amazon VPC 安全群組。
為檔案系統的網路界面建立傳出安全群組規則
為了提高安全性,請考慮使用傳出流量規則設定安全群組。這些規則應僅允許傳出流量到您的自我管理 AD 網域控制器,或在子網路或安全群組內。將此安全群組套用至與 Amazon FSx 檔案系統彈性網路界面相關聯的 VPC。如需詳細資訊,請參閱 使用 Amazon VPC 的檔案系統存取控制。
使用 存放 Active Directory 登入資料 AWS Secrets Manager
您可以使用 AWS Secrets Manager 安全地存放和管理 Microsoft Active Directory 網域聯結服務帳戶登入資料。這種方法無需將敏感登入資料以純文字形式存放在應用程式程式碼或組態檔案中,從而增強您的安全狀態。
您也可以設定 IAM 政策來管理對秘密的存取,並設定密碼的自動輪換政策。
步驟 1:建立 KMS 金鑰
建立 KMS 金鑰以加密和解密 Secrets Manager 中的 Active Directory 登入資料。
建立金鑰
注意
對於加密金鑰,建立新的金鑰,請勿使用 AWS 預設 KMS 金鑰。請務必 AWS KMS key 在包含您要加入 Active Directory 之 SVM 的相同區域中建立 。
在 https://https://console.aws.amazon.com/kms 開啟 AWS KMS 主控台。
-
選擇建立金鑰。
-
對於金鑰類型,選擇對稱。
-
對於金鑰用途,選擇加密和解密。
-
對於進階選項,請執行下列動作:
-
對於金鑰材料來源,選擇 KMS。
-
針對區域性,選擇單一區域金鑰,然後選擇下一步。
-
-
選擇下一步。
-
對於別名,提供 KMS 金鑰的名稱。
-
(選用) 對於描述,提供 KMS 金鑰的描述。
-
(選用) 對於標籤,提供 KMS 金鑰的標籤,然後選擇下一步。
-
(選用) 針對金鑰管理員,提供有權管理此金鑰的 IAM 使用者和角色。
-
針對金鑰刪除,請保留選取允許金鑰管理員刪除此金鑰的方塊,然後選擇下一步。
-
(選用) 對於金鑰使用者,請提供授權在密碼編譯操作中使用此金鑰的 IAM 使用者和角色。選擇下一步。
-
針對金鑰政策,選擇編輯並在政策陳述式中包含以下內容,以允許 Amazon FSx 使用 KMS 金鑰,然後選擇下一步。請務必將
us-west-2取代為部署 AWS 區域 檔案系統的 ,並將123456789012取代為您的 AWS 帳戶 ID。{ "Sid": "Allow FSx to use the KMS key", "Version": "2012-10-17", "Effect": "Allow", "Principal": { "Service": "fsx.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/*", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-west-2.amazonaws.com", "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:fsx:us-west-2:123456789012:file-system/*", "arn:aws:fsx:us-west-2:123456789012:storage-virtual-machine/fs-*/svm-*" ] } } } -
選擇完成。
注意
您可以修改 Resource和 aws:SourceArn 欄位以鎖定特定秘密和檔案系統,藉此設定更精細的存取控制。
步驟 2:建立 AWS Secrets Manager 秘密
若要建立機密
-
請開啟位於 https://console.aws.amazon.com/secretsmanager/
的機密管理員控制台。 -
選擇存放新的機密。
-
針對機密類型,選擇其他類型的機密。
-
對於金鑰/值對,請執行下列動作來新增您的兩個金鑰:
-
對於第一個金鑰,輸入
CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME。 -
對於第一個金鑰的值,僅輸入 AD 使用者的使用者名稱 (不含網域字首)。
-
對於第二個金鑰,輸入
CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD。 -
對於第二個金鑰的值,輸入您在網域上為 AD 使用者建立的密碼。
-
-
對於加密金鑰,輸入您在上一個步驟中建立的 KMS 金鑰的 ARN,然後選擇下一步。
-
對於秘密名稱,輸入可協助您稍後尋找密碼的描述性名稱。
-
(選用) 對於描述,輸入秘密名稱的描述。
-
針對資源許可,選擇編輯。
將下列政策新增至許可政策,以允許 Amazon FSx 使用秘密,然後選擇下一步。請務必將
us-west-2取代為部署 AWS 區域 檔案系統的 ,並將123456789012取代為您的 AWS 帳戶 ID。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "fsx.amazonaws.com" }, "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:us-west-2:123456789012:secret:*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:fsx:us-west-2:123456789012:file-system/*", "arn:aws:fsx:us-west-2:123456789012:storage-virtual-machine/fs-*/svm-*" ] } } } ] } -
(選用) 您可以設定 Secrets Manager 自動輪換您的登入資料。選擇下一步。
-
選擇完成。
步驟 1:建立 KMS 金鑰
建立 KMS 金鑰以加密和解密 Secrets Manager 中的 Active Directory 登入資料。
若要建立 KMS 金鑰,請使用 AWS CLI 命令 create-key。
在此命令中,設定 --policy 參數以指定定義 KMS 金鑰許可的金鑰政策。政策必須包含下列項目:
-
Amazon FSx 的服務主體,即
fsx.amazonaws.com。 -
必要的 KMS 動作:
kms:Decrypt和kms:DescribeKey。 -
您 AWS 區域 和 帳戶的資源 ARN 模式。
-
限制金鑰用量的條件金鑰:
-
kms:ViaService以確保請求透過 Secrets Manager 進行。 -
aws:SourceAccount限制為您的帳戶。 -
aws:SourceArn限制為特定 Amazon FSx 檔案系統。
-
下列範例會使用允許 Amazon FSx 使用金鑰進行解密和金鑰描述操作的政策來建立對稱加密 KMS 金鑰。命令會自動擷取您的 AWS 帳戶 ID 和區域,然後使用這些值設定金鑰政策,以確保 Amazon FSx、Secrets Manager 和 KMS 金鑰之間的適當存取控制。請確定您的 AWS CLI 環境與將加入 Active Directory 的 SVM 位於相同的區域。
# Set region and get Account ID REGION=${AWS_REGION:-$(aws configure get region)} ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text) # Create Key KMS_KEY_ARN=$(aws kms create-key --policy "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"Enable IAM User Permissions\", \"Effect\": \"Allow\", \"Principal\": { \"AWS\": \"arn:aws:iam::$ACCOUNT_ID:root\" }, \"Action\": \"kms:*\", \"Resource\": \"*\" }, { \"Sid\": \"Allow FSx to use the KMS key\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"fsx.amazonaws.com\" }, \"Action\": [ \"kms:Decrypt\", \"kms:DescribeKey\" ], \"Resource\": \"*\", \"Condition\": { \"StringEquals\": { \"kms:ViaService\": \"secretsmanager.$REGION.amazonaws.com\", \"aws:SourceAccount\": \"$ACCOUNT_ID\" }, \"ArnLike\": { \"aws:SourceArn\": [ \"arn:aws:fsx:$REGION:$ACCOUNT_ID:file-system/*\", \"arn:aws:fsx:$REGION:$ACCOUNT_ID:storage-virtual-machine/fs-*/svm-*\"] } } } ] }" --query 'KeyMetadata.Arn' --output text) echo "KMS Key ARN: $KMS_KEY_ARN"
注意
您可以修改 Resource和 aws:SourceArn 欄位以鎖定特定秘密和檔案系統,藉此設定更精細的存取控制。
步驟 2:建立 AWS Secrets Manager 秘密
若要為 Amazon FSx 建立秘密以存取您的 Active Directory,請使用 AWS CLI 命令 create-secret 並設定下列參數:
-
--name:秘密的識別符。 -
--description:秘密用途的描述。 -
--kms-key-id:您在步驟 1 中建立用於加密靜態秘密之 KMS 金鑰的 ARN。 -
--secret-string:JSON 字串,其中包含以下格式的 AD 登入資料:-
CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME:沒有網域字首的 AD 服務帳戶使用者名稱,例如svc-fsx。請勿提供網域字首,例如CORP\svc-fsx。 -
CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD:您的 AD 服務帳戶密碼
-
-
--region:建立 SVM AWS 區域 的 。如果AWS_REGION未設定 ,則預設為您設定的區域。
建立秘密後,使用 put-resource-policy 命令連接資源政策,並設定下列參數:
-
--secret-id:要連接政策的秘密名稱或 ARN。下列範例使用FSxSecret做為--secret-id。 -
--region:與您的秘密 AWS 區域 相同。 -
--resource-policy:授予 Amazon FSx 存取秘密許可的 JSON 政策文件。政策必須包含下列項目:-
Amazon FSx 的服務主體,即
fsx.amazonaws.com。 -
必要的 Secrets Manager 動作:
secretsmanager:GetSecretValue和secretsmanager:DescribeSecret。 -
您 AWS 區域 和 帳戶的資源 ARN 模式。
-
限制存取的下列條件金鑰:
-
aws:SourceAccount限制為您的帳戶。 -
aws:SourceArn限制為特定 Amazon FSx 檔案系統。
-
-
下列範例會建立具有所需格式的秘密,並連接允許 Amazon FSx 使用秘密的資源政策。此範例會自動擷取您的 AWS 帳戶 ID 和區域,然後使用這些值設定資源政策,以確保 Amazon FSx 與秘密之間的適當存取控制。
請務必將 取代KMS_KEY_ARN為您在步驟 1、 和 中建立之金鑰的 ARNCUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME,CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD取代為您的 Active Directory 服務帳戶憑證。此外,請確認您的 AWS CLI 環境已設定為與將加入 Active Directory 的 SVM 相同的區域。
# Set region and get account ID REGION=${AWS_REGION:-$(aws configure get region)} ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text) # Replace with your KMS key ARN from Step 1 KMS_KEY_ARN="arn:aws:kms:us-east-2:123456789012:key/1234542f-d114-555b-9ade-fec3c9200d8e" # Replace with your Active Directory credentials AD_USERNAME="Your_Username" AD_PASSWORD="Your_Password" # Create the secret SECRET_ARN=$(aws secretsmanager create-secret \ --name "FSxSecret" \ --description "Secret for FSx access" \ --kms-key-id "$KMS_KEY_ARN" \ --secret-string "{\"CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME\":\"$AD_USERNAME\",\"CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD\":\"$AD_PASSWORD\"}" \ --region "$REGION" \ --query 'ARN' \ --output text) echo "Secret created with ARN: $SECRET_ARN" # Attach the resource policy with proper formatting aws secretsmanager put-resource-policy \ --secret-id "FSxSecret" \ --region "$REGION" \ --resource-policy "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"fsx.amazonaws.com\" }, \"Action\": [ \"secretsmanager:GetSecretValue\", \"secretsmanager:DescribeSecret\" ], \"Resource\": \"$SECRET_ARN\", \"Condition\": { \"StringEquals\": { \"aws:SourceAccount\": \"$ACCOUNT_ID\" }, \"ArnLike\": { \"aws:SourceArn\": [ \"arn:aws:fsx:$REGION:$ACCOUNT_ID:file-system/*\", \"arn:aws:fsx:$REGION:$ACCOUNT_ID:storage-virtual-machine/fs-*/svm-*\"] } } } ] }" echo "Resource policy attached successfully"
注意
您可以修改 Resource和 aws:SourceArn 欄位以鎖定特定秘密和檔案系統,藉此設定更精細的存取控制。