本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
保护存储位置凭证
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 必须具有相应的权限。有关更多信息,请参阅适用于 DataSync 的AWS 托管策略。
使用使用自定义 AWS KMS 密钥加密的服务管理密钥
创建 DataSync 位置时,您需要提供密钥的密钥和 ARN。 AWS KMS 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 账户 身份证替换。
使用您管理的密钥
在创建 DataSync 营业地点之前,请在中创建密钥 AWS Secrets Manager。密钥的值只能包含纯文本格式的秘密字符串本身。创建 DataSync 位置时,您需要提供密钥的 ARN 以及用于访问您的密钥和用于加密您的密 AWS KMS 钥的 IAM 角色。 DataSync 要创建具有相应权限的 IAM 角色,请执行以下操作:
-
使用 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在左侧导航窗格的访问管理下,选择角色,然后选择创建角色。
-
在选择可信实体页面上,为可信实体类型选择AWS 服务。
-
对于 “用例”,请DataSync从下拉列表中进行选择。选择下一步。
-
在添加权限页面上,选择下一步。输入角色的名称,然后选择创建角色。
-
在角色页面上,搜索您刚刚创建的角色并选择其名称。
-
在角色的详细信息页面上,选择权限选项卡。选择添加权限,然后选择创建内联策略。
-
选择 JSON 选项卡,然后将以下权限添加到策略编辑器中:
your-secret-arn
替换为你的 Secrets Manager 密钥的 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 角色的名称。
注意
当你在 Secret AWS 账户 s Manager 中存储密钥时,会产生费用。有关定价的信息,请参阅 AWS Secrets Manager
定价