本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
保護儲存位置登入資料
DataSync 會使用位置來存取位於內部部署、其他雲端或 中的儲存資源 AWS。某些位置類型會要求您提供登入資料,例如存取金鑰和私密金鑰或使用者名稱和密碼,以使用您的儲存系統進行身分驗證。當您建立需要憑證進行身分驗證的 DataSync 位置時,您可以選擇下列其中一個選項來控制憑證的秘密存放方式:
-
AWS Secrets Manager 使用以預設金鑰加密的服務受管秘密,將秘密存放在 中。
-
AWS Secrets Manager 使用以您管理的 AWS KMS 金鑰加密的服務受管秘密,將秘密存放在 中。
-
AWS Secrets Manager 使用您建立和管理的秘密和金鑰,將秘密存放在 中。DataSync 會使用您提供的 IAM 角色存取此秘密。
在所有情況下,Secrets Manager 秘密都會儲存在您的帳戶中,讓您視需要更新秘密,而與 DataSync 服務無關。您只需針對使用在 DataSync 外部建立的秘密付費。由 DataSync 建立和管理的秘密具有字首 aws-datasync
。
使用使用預設金鑰加密的服務受管秘密
當您建立 DataSync 位置時,只需提供秘密字串。DataSync 會在 中建立秘密資源 AWS Secrets Manager ,以儲存您提供的秘密,並使用您帳戶的預設 Secrets Manager KMS 金鑰加密秘密。您可以直接在 Secrets Manager 中變更秘密值,或使用 DataSync 主控台 AWS CLI或 SDK 更新位置。當您刪除位置資源或將其更新為使用自訂秘密時,DataSync 會自動刪除秘密資源。
注意
若要在 Secrets Manager 中建立、修改和刪除秘密資源,DataSync 必須具有適當的許可。如需詳細資訊,請參閱 AWS DataSync 的 受管政策。
使用使用自訂 AWS KMS 金鑰加密的服務受管秘密
當您建立 DataSync 位置時,請提供金鑰的 AWS KMS 秘密和 ARN。DataSync 會自動在 中建立秘密資源 AWS Secrets Manager ,以存放您提供的秘密,並使用 AWS KMS 金鑰對其進行加密。您可以直接在 Secrets Manager 中變更秘密值,或使用 DataSync 主控台 AWS CLI或 SDK 更新位置。當您刪除位置資源或將其更新為使用自訂秘密時,DataSync 會自動刪除秘密資源。
注意
您的 AWS KMS 金鑰必須搭配 ENCRYPT_DECRYPT
金鑰類型使用對稱加密。如需詳細資訊,請參閱AWS Secrets Manager 《 使用者指南》中的選擇 AWS Key Management Service 金鑰。
若要在 Secrets Manager 中建立、修改和刪除秘密資源,DataSync 必須具有適當的許可。如需詳細資訊,請參閱AWS 受管政策︰AWSDataSyncFullAccess。
除了使用正確的 DataSync 受管政策之外,您也需要下列許可:
{ "Sid": "DataSyncKmsPermissions", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "
your-kms-key-arn
", "Condition": { "StringLike": { "kms:ViaService": "secretsmanager.*.amazonaws.com" } } }
將 your-kms-key-arn
取代為 KMS 金鑰 ARN。
若要擷取和解密秘密值,DataSync 會使用服務連結角色 (SLR) 來存取您的 AWS KMS 金鑰。若要確保 DataSync 可以使用 KMS 金鑰,請將下列項目新增至金鑰的政策陳述式:
{ "Sid": "Allow DataSync to use the key for decryption", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
accountid
:role/aws-service-role/datasync.amazonaws.com/AWSServiceRoleForDataSync" }, "Action": "kms:Decrypt", "Resource": "*" }
將 accountid
取代為您的 AWS 帳戶 ID。
使用您管理的秘密
在建立 DataSync 位置之前,請在 中建立秘密 AWS Secrets Manager。秘密的值只能包含純文字的秘密字串本身。當您建立 DataSync 位置時,請提供秘密的 ARN,以及 DataSync 用來存取秘密的 IAM 角色,以及用來加密秘密的 AWS KMS 金鑰。若要建立具有適當許可的 IAM 角色,請執行下列動作:
-
前往 https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
在左側導覽窗格的存取管理下,選擇角色,然後選擇建立角色。
-
在選取信任的實體頁面上,針對信任的實體類型,選擇 AWS 服務。
-
針對使用案例,從下拉式清單中選擇 DataSync。選擇下一步。
-
在 Add permissions (新增許可) 頁面上,選擇 Next (下一步)。輸入角色的名稱,然後選擇建立角色。
-
在角色頁面上,搜尋您剛建立的角色,然後選擇其名稱。
-
在角色的詳細資訊頁面上,選擇許可索引標籤。選擇新增許可,然後選擇建立內嵌政策。
-
選擇 JSON 索引標籤,並將下列許可新增至政策編輯器:
以 Secrets Manager 秘密的 ARN 取代
your-secret-arn
。 -
選擇下一步。輸入政策的名稱,然後選擇建立政策。
-
(建議) 若要防止跨服務混淆代理人問題,請執行下列動作:
-
在角色的詳細資訊頁面上,選擇信任關係索引標籤。選擇編輯信任政策。
-
使用以下範例更新信任政策,其中包含
aws:SourceArn
和aws:SourceAccount
全域條件內容索引鍵: -
選擇更新政策。
-
您可以在建立位置時指定此角色。如果您的秘密使用客戶受管 AWS KMS 金鑰進行加密,則您也需要更新金鑰的政策,以允許從您在先前程序中建立的角色進行存取。若要更新政策,請將下列內容新增至 AWS KMS 金鑰的政策陳述式:
{ "Sid": "Allow DataSync use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam
accountid
:role/your-role-name
” }, "Action": "kms:Decrypt", "Resource": "*" }
將 accountid
取代為您的 AWS 帳戶 ID,並將 your-role-name
取代為您在先前程序中建立的 IAM 角色名稱。
注意
當您將秘密存放在 Secrets Manager 時, AWS 帳戶 會產生費用。如需定價的資訊,請參閱 AWS Secrets Manager
定價