AWS Key Management Service
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

编辑密钥

您可以使用 AWS KMS API 和 AWS 管理控制台的密钥详细信息页面来编辑您的客户托管客户主密钥 (CMK)。您可以更改描述、添加和删除管理员及用户、管理标签,以及启用和禁用密钥轮换。

您无法更改 AWS 托管 CMK 的属性。

编辑 CMK(控制台)

具有所需权限的用户可以在 AWS 管理控制台中更改客户管理的 CMK 的属性(包括其描述、标签、策略和授权以及轮换状态)。

您可以查看但无法编辑 AWS 托管 CMK 的属性。要查看 AWS 托管 CMK 的密钥策略,请使用 GetKeyPolicy 操作。

导航到 CMK 详细信息页面
  1. 登录 AWS 管理控制台并通过以下网址打开 AWS Key Management Service (AWS KMS) 控制台:https://console.amazonaws.cn/kms

  2. 要更改 AWS 区域,请使用页面右上角的区域选择器。

  3. 在导航窗格中,选择 Customer managed keys (客户托管密钥)。(您无法编辑 AWS 托管密钥的属性。)

  4. 选择要编辑的 CMK 的别名或密钥 ID。现在,使用密钥详细信息页面上的控件查看和更改 CMK 的属性。

更改 CMK 描述

除非密钥状态Pending Deletion,否则您可以添加、更改或删除 CMK 的描述。描述是可选的。

  1. 在右上角,选择 Edit (编辑)

  2. 对于 Description (描述),键入 CMK 的简短描述。您也可以删除现有描述。

    输入一个描述,用来说明您计划保护的数据类型或计划与 CMK 配合使用的应用程序。Default master key that protects my ... when no other key is defined (如果没有定义其他密钥,则由默认的主密钥保护 ...) 描述格式预留用于 AWS 管理的 CMK

  3. 要保存您的更改,请选择 Save

更改 CMK 管理员和用户

您可以更改 CMK 的密钥策略。密钥策略定义可管理 CMK 并将其用于加密操作的 IAM 用户、组和角色。

默认情况下,AWS 账户(根用户)拥有完全权限。因此,任何附加策略允许适当权限的 IAM 用户和角色也可以管理 CMK。有关设置密钥策略和 IAM 策略的详细信息,请参阅 AWS KMS 的身份验证和访问控制

  1. General configuration (常规配置) 下,选择 Key policy (密钥策略) 选项卡。

    如果 CMK 的密钥策略为默认策略,则 Key policy (密钥策略) 选项卡显示包含 Key administrators (密钥管理员)Key deletion (密钥删除)Key users (密钥用户)Other AWS accounts (其他 AWS 账户) 部分的默认视图。否则,该选项卡将显示密钥策略文档。

    要直接编辑密钥策略文档,请选择 Switch to policy view (切换到策略视图)(如果适用),选择 Edit (编辑),编辑文档,然后选择 Save (保存)

    此过程的剩余步骤说明如何使用默认视图编辑密钥策略。

  2. 要更改可管理 CMK 的用户和角色,请使用 Key Administrators (密钥管理员) 部分。

    • 要添加密钥管理员,请选择 Add (添加),选择或键入用户或角色,然后选择 Add (添加)

    • 要删除密钥管理员,请选中用户或角色对应的框,然后选择 Remove (删除)

  3. 要阻止密钥管理员计划 CMK 的删除,请在 Key deletion (密钥删除) 部分中,清除 Allow key administrators to delete this key (允许密钥管理员删除此密钥) 复选框。

  4. 要更改可在加密操作中使用 CMK 的用户和角色,请使用 Key users (密钥用户) 部分。

    • 要添加密钥用户,请选择 Add (添加),选择用户或角色,然后选择 Add (添加)

    • 要删除密钥用户,请选中用户或角色对应的框,然后选择 Remove (删除)

  5. 要更改可在加密操作中使用 CMK 的其他 AWS 账户,请在 Other AWS accounts (其他 AWS 账户) 部分中,选择 Add other AWS accounts (添加其他 AWS 账户)

    注意

    添加外部账户不允许此账户中的用户和角色使用 CMK。要允许外部账户中的用户和角色使用 CMK,外部账户的管理员必须添加提供这些权限的 IAM 策略。有关更多信息,请参阅允许其他账户中的用户使用 CMK

    • 要添加账户,请选择 Add another AWS account (添加其他 AWS 账户),键入账号。

    • 要删除账户,请在包含账号的行上,选择 Remove (删除)

    完成后,选择 Save changes (保存更改),然后单击 X 关闭窗口。

添加、编辑和删除标签

您可以更改 CMK 的标签。每个标签都是一个名称–值对。标签名称在账户和区域中必须是唯一的。

您可以使用标签对 CMK 进行标识和分类。在将标签添加到 AWS 资源时,AWS 可生成成本分配报告,其中按标签汇总了使用情况和成本。有关 CMK 标签的更多信息,请参阅标记密钥

  • General configuration (常规配置) 下,选择 Tags (标签) 选项卡。

    • 要创建您的第一个标签,请选择 Create tag (创建标签),键入标签名称和标签值,然后选择 Save (保存)

    • 要添加标签,请选择 Edit (编辑),选择 Add tag (添加标签),键入标签名称和标签值,然后选择 Save (保存)

    • 要更改标签的名称或值,请选择 Edit (编辑),进行更改,然后选择 Save (保存)

    • 要删除标签,请选择 Edit (编辑)。在标签行上,选择 Remove (删除),然后选择 Save (保存)

启用或禁用轮换

您可在客户托管 CMK 中启用和禁用加密材料的自动轮换。具有导入的密钥材料的 CMK 不支持此功能。

AWS 托管 CMK每三年自动轮换一次。您无法启用或禁用此功能。

  1. General configuration (常规配置) 下,选择 Key rotation (密钥轮换) 选项卡。

  2. 要启用自动密钥轮换,请选中 Automatically rotate this CMK every year (每年自动轮换此 CMK) 复选框。要禁用自动密钥轮换,请清除此复选框。

  3. 要保存您的更改,请选择 Save

编辑 CMK(KMS API)

您可使用 AWS Key Management Service (AWS KMS) API 编辑客户托管 CMK 的属性。这些示例使用 AWS Command Line Interface (AWS CLI),但您可以使用任何受支持的编程语言。本部分演示几种返回现有 CMK 详细信息的操作。

您无法编辑 AWS 托管 CMK 的属性。

提示

有关添加、删除和编辑标签的信息,请参阅标记密钥

UpdateKeyDescription:更改 CMK 的描述

UpdateKeyDescription 会使用您指定的描述替换 CMK 的描述。您可以使用它来添加、更改或删除 CMK 的描述。要查看描述,请使用 DescribeKey 操作。

例如,这个对 UpdateKeyDescription 操作的调用会更改指定 CMK 的描述。

$ aws kms update-key-description --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --description "Example key"

要获取密钥的描述,请使用 DescribeKey 操作,如以下示例所示。

$ aws kms describe-key --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "Example key", "KeyManager": "CUSTOMER", "Enabled": true, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1499988169.234, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333" } }

PutKeyPolicy:更改 CMK 的密钥策略

PutKeyPolicy 操作会将 CMK 的密钥策略更改为您指定的策略。该策略包括管理员、用户和角色的权限。有关详细示例,请参阅 PutKeyPolicy 示例

启用和禁用密钥轮换

EnableKeyRotation 操作会在 CMK 中启用加密材料的自动轮换DisableKeyRotation 操作会禁用它。GetKeyRotationStatus 操作会返回一个布尔值,以告诉您自动密钥轮换是已启用 (true) 还是已禁用 (false)。

有关示例,请参阅轮换客户主密钥