

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 共享用于加密共享的 Amazon EBS 快照的 KMS 密钥
<a name="share-kms-key"></a>

共享加密快照时，还必须共享用于加密快照的客户托管密钥。您可以在创建客户托管密钥时或以后的某个时间向客户托管密钥应用跨账户权限。

必须为正在访问加密快照的共享客户托管密钥用户授予对密钥执行以下操作的权限：
+ `kms:DescribeKey`
+ `kms:CreateGrant`
+ `kms:GenerateDataKey`
+ `kms:GenerateDataKeyWithoutPlaintext`
+ `kms:ReEncrypt`
+ `kms:Decrypt`

**提示**  
为遵循最小特权原则，请不要允许对 `kms:CreateGrant` 拥有完全访问权限。相反，使用`kms:GrantIsForAWSResource`条件密钥允许用户仅在 Amazon 服务代表用户创建授权时才允许用户在 KMS 密钥上创建授权。

有关如何控制对客户托管密钥的访问权限的更多信息，请参阅 *Amazon Key Management Service 开发人员指南*中的[使用 Amazon KMS中的密钥策略](https://docs.amazonaws.cn/kms/latest/developerguide/key-policies.html)。

**使用 Amazon KMS 控制台共享客户托管密钥**

1. 在 [https://console.aws.amazon.com/km Amazon KMS](https://console.amazonaws.cn/kms) s 处打开控制台。

1. 要更改 Amazon Web Services 区域，请使用页面右上角的区域选择器。

1. 在导航窗格中，选择**客户托管密钥**。

1. 在**别名**列中，选择用于加密快照的客户托管密钥的别名（文本链接）。密钥详细信息将在新页面中打开。

1. 在**密钥政策**部分中，您会看到*政策视图*或*默认视图*。策略视图显示密钥策略文档。默认视图显示**密钥管理员**、**密钥删除**、**密钥使用**和**其他 Amazon 账户**几个部分。如果您在控制台中创建了策略，但尚未对其进行自定义，则会显示默认视图。如果默认视图不可用，则需要在策略视图中手动编辑策略。有关更多信息，请参阅 *Amazon Key Management Service 开发人员指南*中的[查看密钥策略（控制台）](https://docs.amazonaws.cn/kms/latest/developerguide/key-policy-viewing.html#key-policy-viewing-console)。

   根据您可以访问的视图，使用策略视图或默认视图向策略中添加一个或多个 Amazon 账户 IDs ，如下所示：
   + （策略视图）选择**编辑**。在以下 IDs 对 Amazon 账单中添加一个或多个账户：`"Allow use of the key"`和`"Allow attachment of persistent resources"`。选择**保存更改**。在以下示例中， Amazon 账户 ID `444455556666` 已添加到策略中。

     ```
     {
       "Sid": "Allow use of the key",
       "Effect": "Allow",
       "Principal": {"AWS": [
         "arn:aws:iam::111122223333:user/KeyUser",
         "arn:aws:iam::444455556666:root"
       ]},
       "Action": [
         "kms:Encrypt",
         "kms:Decrypt",
         "kms:ReEncrypt*",
         "kms:GenerateDataKey*",
         "kms:DescribeKey"
       ],
       "Resource": "*"
     },
     {
       "Sid": "Allow attachment of persistent resources",
       "Effect": "Allow",
       "Principal": {"AWS": [
         "arn:aws:iam::111122223333:user/KeyUser",
         "arn:aws:iam::444455556666:root"
       ]},
       "Action": [
         "kms:CreateGrant",
         "kms:ListGrants",
         "kms:RevokeGrant"
       ],
       "Resource": "*",
       "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}}
     }
     ```
   + （默认视图）向下滚动到 “**其他 Amazon 账户**”。选择 “**添加其他 Amazon 账户**”，然后根据提示输入 Amazon 账户 ID。要添加其他账户，请选择**添加其他 Amazon 账户**并输入 Amazon 账户 ID。添加完所有 Amazon 账户后，选择 **Save changes**（保存更改）。