Amazon Key Management Service 的操作、资源和条件键
Amazon Key Management Service(服务前缀:kms)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。
参考:
主题
Amazon Key Management Service 定义的操作
您可以在 IAM policy 语句的 Action 元素中指定以下操作。可以使用策略授予在 Amazon 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。
操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource 元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。
操作表的条件键列包括可以在策略语句的 Condition 元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。
有关下表中各列的详细信息,请参阅操作表。
| 操作 | 描述 | 访问级别 | 资源类型(* 为必需) | 条件键 | 相关操作 |
|---|---|---|---|---|---|
| CancelKeyDeletion | 控制权限以取消计划删除 Amazon KMS 密钥 | Write | |||
| ConnectCustomKeyStore | 控制权限以将自定义密钥存储连接或重新连接到关联的 Amazon CloudHSM 集群 | Write | |||
| CreateAlias | 控制权限以便为 Amazon KMS 密钥创建别名。别名是可选的友好名称,您可以将其与 KMS 密钥相关联 | Write | |||
| CreateCustomKeyStore | 控制权限以创建自定义密钥存储,它与您拥有和管理的 Amazon CloudHSM 集群相关联 | Write |
cloudhsm:DescribeClusters iam:CreateServiceLinkedRole |
||
| CreateGrant | 控制权限以便将授权权限添加到 Amazon KMS 密钥。您可以使用授权添加权限,而不更改密钥策略或 IAM policy | 权限管理 | |||
| CreateKey | 控制权限以创建 Amazon KMS 密钥,该密钥可用于保护数据密钥和其他敏感信息 | Write |
iam:CreateServiceLinkedRole kms:PutKeyPolicy kms:TagResource |
||
| Decrypt | 控制权限以解密通过 Amazon KMS 密钥加密的密文 | Write | |||
|
kms:EncryptionContext:${EncryptionContextKey} |
|||||
| DeleteAlias | 控制权限以删除别名。别名是可选的友好名称,您可以将其与 Amazon KMS 密钥相关联 | Write | |||
| DeleteCustomKeyStore | 控制权限以删除自定义密钥存储 | Write | |||
| DeleteImportedKeyMaterial | 控制权限以删除您导入到 Amazon KMS 密钥的加密材料。此操作会使此密钥变得无法使用 | Write | |||
| DescribeCustomKeyStores | 控制权限以查看有关账户和区域中的自定义密钥存储的详细信息 | Read | |||
| DescribeKey | 控制权限以查看有关 Amazon KMS 密钥的详细信息 | Read | |||
| DisableKey | 控制权限以禁用 Amazon KMS 密钥,这会阻止其用于加密操作中 | Write | |||
| DisableKeyRotation | 控制权限以禁止自动轮换客户托管的 Amazon KMS 密钥 | Write | |||
| DisconnectCustomKeyStore | 控制权限以断开自定义密钥存储与其关联的 Amazon CloudHSM 集群的连接 | Write | |||
| EnableKey | 控制权限以将 Amazon KMS 密钥的状态更改为已启用。这允许将 KMS 密钥用于加密操作中 | Write | |||
| EnableKeyRotation | 控制权限以启用自动轮换 Amazon KMS 密钥中的加密材料 | Write | |||
| Encrypt | 控制权限以使用指定的 Amazon KMS 密钥来加密数据和数据密钥 | Write | |||
| GenerateDataKey | 控制权限以使用 Amazon KMS 密钥来生成数据密钥。您可以使用数据密钥在 Amazon KMS 的外部加密数据 | Write | |||
|
kms:EncryptionContext:${EncryptionContextKey} |
|||||
| GenerateDataKeyPair | 控制权限以使用 Amazon KMS 密钥来生成数据密钥对。 | Write | |||
| GenerateDataKeyPairWithoutPlaintext | 控制权限以使用 Amazon KMS 密钥来生成数据密钥对。与 GenerateDataKeyPair 操作不同,此操作返回加密的私有密钥,而不带明文副本 | Write | |||
| GenerateDataKeyWithoutPlaintext | 控制权限以使用 Amazon KMS 密钥来生成数据密钥。与 GenerateDataKey 操作不同,此操作会返回加密的数据密钥,而没有数据密钥的明文版本 | Write | |||
| GenerateMac | 控制使用 Amazon KMS 密钥生成消息身份验证码的权限 | Write | |||
| GenerateRandom | 控制权限以从 Amazon KMS 获取加密的安全随机字节字符串 | Write | |||
| GetKeyPolicy | 控制权限以查看指定的 Amazon KMS 密钥的密钥策略 | Read | |||
| GetKeyRotationStatus | 控制权限以确定是否对 Amazon KMS 密钥启用了自动密钥轮换 | Read | |||
| GetParametersForImport | 控制权限以获取将加密材料导入到客户托管密钥所需的数据,包括公有密钥和导入令牌 | Read | |||
| GetPublicKey | 控制权限以下载非对称 Amazon KMS 密钥的公有密钥 | Read | |||
| ImportKeyMaterial | 控制权限以将加密材料导入到 Amazon KMS 密钥 | Write | |||
| ListAliases | 控制权限以查看在账户中定义的别名。别名是可选的友好名称,您可以将其与 Amazon KMS 密钥相关联 | List | |||
| ListGrants | 控制权限以查看 Amazon KMS 密钥的所有授权 | List | |||
| ListKeyPolicies | 控制权限以查看 Amazon KMS 密钥的密钥策略的名称 | List | |||
| ListKeys | 控制权限以查看账户中所有 Amazon KMS 密钥的密钥 ID 和 Amazon Resource Name (ARN) | List | |||
| ListResourceTags | 控制权限以查看附加到 Amazon KMS 密钥的所有标签 | List | |||
| ListRetirableGrants | 控制权限以查看其中指定的委托人为停用委托人的授权。其他委托人可能能够停用此授权,而且此委托人可能能够停用其他授权 | List | |||
| PutKeyPolicy | 控制权限以替换指定的 Amazon KMS 密钥的密钥策略 | 权限管理 | |||
| ReEncryptFrom | 控制权限以解密数据,作为对 Amazon KMS 内的数据进行解密和重新加密的流程的一部分 | Write | |||
| ReEncryptTo | 控制权限以加密数据,作为对 Amazon KMS 内的数据进行解密和重新加密的流程的一部分 | Write | |||
| ReplicateKey | 控制复制多区域主键的权限 | Write |
iam:CreateServiceLinkedRole kms:CreateKey kms:PutKeyPolicy kms:TagResource |
||
| RetireGrant | 控制权限以停用授权。RetireGrant 操作通常由授权用户在完成授权允许他们执行的任务后调用 | Permissions management | |||
| RevokeGrant | 控制权限以撤销授权,这会对所有依赖于此授权的操作拒绝权限 | 权限管理 | |||
| ScheduleKeyDeletion | 控制权限以计划删除 Amazon KMS 密钥 | Write | |||
| Sign | 控制权限以便为消息生成数字签名 | Write | |||
| SynchronizeMultiRegionKey [仅权限] | 控制对可同步多区域密钥的内部 API 的访问 | Write | |||
| TagResource | 控制权限以创建或更新附加到 Amazon KMS 密钥的标签 | Tagging | |||
| UntagResource | 控制权限以删除附加到 Amazon KMS 密钥的标签 | Tagging | |||
| UpdateAlias | 控制权限以将别名与不同的 Amazon KMS 密钥关联。别名是可选的友好名称,您可以将其与 KMS 密钥相关联 | Write | |||
| UpdateCustomKeyStore | 控制权限以更改自定义密钥存储的属性 | Write | |||
| UpdateKeyDescription | 控制权限以删除或更改 Amazon KMS 密钥的描述 | Write | |||
| UpdatePrimaryRegion | 控制更新多区域主键的主区域的权限 | Write | |||
| Verify | 控制权限以使用指定 Amazon KMS 密钥来验证数字签名 | Write | |||
| VerifyMac | 控制使用 Amazon KMS 密钥验证消息身份验证码的权限 | Write | |||
Amazon Key Management Service 定义的资源类型
以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在表的最后一列。有关下表中各列的详细信息,请参阅资源类型表。
Amazon Key Management Service 的条件键
Amazon Key Management Service 定义以下可以在 IAM policy 的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表。
要查看适用于所有服务的全局条件键,请参阅可用的全局条件键。
| 条件键 | 描述 | 类型 |
|---|---|---|
| aws:RequestTag/${TagKey} | 基于请求中标签的键与值筛选对指定 Amazon KMS 操作的访问权限 | 字符串 |
| aws:ResourceTag/${TagKey} | 根据分配给 Amazon KMS 密钥的标签筛选对指定 Amazon KMS 操作的访问权限 | 字符串 |
| aws:TagKeys | 基于请求中标签的键筛选对指定 Amazon KMS 操作的访问权限 | 字符串数组 |
| kms:BypassPolicyLockoutSafetyCheck | 根据请求中 BypassPolicyLockoutSafetyCheck 参数的值筛选对 CreateKey 和 PutKeyPolicy 操作的访问权限 | Bool |
| kms:CallerAccount | 根据调用方的 Amazon Web Services 账户 ID 筛选对指定 Amazon KMS 操作的访问权限。您可以在单个策略语句中使用该条件键以允许或拒绝访问 Amazon Web Services 账户 中的所有 IAM 用户和角色 | 字符串 |
| kms:CustomerMasterKeySpec | kms:CustomerMasterKeySpec 条件密钥已弃用。改为使用 kms:KeySpec 条件密钥 | 字符串 |
| kms:CustomerMasterKeyUsage | kms:CustomerMasterKeyUsage 条件密钥已弃用。改为使用 kms:KeyUsage 条件密钥 | 字符串 |
| kms:DataKeyPairSpec | 根据请求中的 KeyPairSpec 参数的值,筛选对 GenerateDataKeyPair 和 GenerateDataKeyPairWithoutPlaintext 操作的访问权限 | 字符串 |
| kms:EncryptionAlgorithm | 根据请求中的加密算法的值筛选对加密操作的访问权限 | 字符串 |
| kms:EncryptionContext:${EncryptionContextKey} | 基于加密操作中的加密上下文筛选对对称的 Amazon KMS 密钥的访问权限。此条件可评估每个键值加密上下文对中的键和值 | 字符串 |
| kms:EncryptionContextKeys | 基于加密操作中的加密上下文筛选对对称的 Amazon KMS 密钥的访问权限。此条件键仅评估每个键值加密上下文对中的键 | 字符串数组 |
| kms:ExpirationModel | 根据请求中 ExpirationModel 参数的值筛选对 ImportKeyMaterial 操作的访问权限 | 字符串 |
| kms:GrantConstraintType | 根据请求中的授权限制来筛选对 CreateGrant 操作的访问权限 | 字符串 |
| kms:GrantIsForAWSResource | 当请求来自指定的Amazon服务时,筛选对 CreateGrant 操作的访问权限 | Bool |
| kms:GrantOperations | 根据授权中的操作来筛选对 CreateGrant 操作的访问权限 | 字符串数组 |
| kms:GranteePrincipal | 根据授权中的被授权委托人来筛选对 CreateGrant 操作的访问权限 | 字符串 |
| kms:KeyOrigin | 根据由操作创建或在操作中使用的 Amazon KMS 的 Origin 属性筛选对 API 操作的访问权限。使用它可以限定对 CreateKey 操作或为 KMS 密钥资源授权的任何操作的授权 | 字符串 |
| kms:KeySpec | 根据由操作创建或在操作中使用的 Amazon KMS 的 KeySpec 属性筛选对 API 操作的访问权限。使用它可以限定对 CreateKey 操作或为 KMS 密钥资源授权的任何操作的授权 | 字符串 |
| kms:KeyUsage | 根据由操作创建或在操作中使用的 Amazon KMS 的 KeyUsage 属性筛选对 API 操作的访问权限。使用它可以限定对 CreateKey 操作或为 KMS 密钥资源授权的任何操作的授权 | 字符串 |
| kms:MacAlgorithm | 根据请求中的 MacAlforithm 参数筛选对 GenerateMac 和 VerifyMac 操作的访问 | 字符串 |
| kms:MessageType | 根据请求中的 MessageType 参数值,筛选对 Sign 和 Verify 操作的访问权限 | 字符串 |
| kms:MultiRegion | 根据由操作创建或在操作中使用的 Amazon KMS 的 MultiRegion 属性筛选对 API 操作的访问权限。使用它可以限定对 CreateKey 操作或为 KMS 密钥资源授权的任何操作的授权 | Bool |
| kms:MultiRegionKeyType | 根据由操作创建或在操作中使用的 Amazon KMS 的 MultiRegionKeyType 属性筛选对 API 操作的访问权限。使用它可以限定对 CreateKey 操作或为 KMS 密钥资源授权的任何操作的授权 | 字符串 |
| kms:PrimaryRegion | 根据请求中 PrimaryRegion 参数的值筛选对 UpdatePrimaryRegion 操作的访问权限 | 字符串 |
| kms:ReEncryptOnSameKey | 当 ReEncrypt 操作使用用于加密操作的同一个 Amazon KMS 密钥时,筛选对该操作的访问权限 | Bool |
| kms:RecipientAttestation:ImageSha384 | 根据请求中证明文档中的图像哈希筛选对 Decrypt、GenerateDataKey 和 GenerateRandom 操作的访问权限 | 字符串 |
| kms:RecipientAttestation:PCR | 根据请求中证明文档中的平台配置注册表筛选对 Decrypt、GenerateDataKey 和 GenerateRandom 操作的访问权限 | 字符串 |
| kms:ReplicaRegion | 根据请求中 ReplicaRegion 参数的值筛选对 ReplicateKey 操作的访问权限 | 字符串 |
| kms:RequestAlias | 根据请求中的别名筛选对加密操作、DescribeKey 和 GetPublicKey 的访问 | 字符串 |
| kms:ResourceAliases | 根据与客户 Amazon KMS 关联的别名筛选对指定 Amazon KMS 操作的访问权限 | 字符串数组 |
| kms:RetiringPrincipal | 根据授权中的停用委托人筛选对 CreateGrant 操作的访问权限 | 字符串 |
| kms:SigningAlgorithm | 根据请求中的签名算法筛选对 Sign 和 Verify 操作的访问权限 | 字符串 |
| kms:ValidTo | 根据请求中 ValidTo 参数的值筛选对 ImportKeyMaterial 操作的访问权限。您可以使用此条件键以允许用户仅当在指定的日期到期时才能导入密钥材料 | 日期 |
| kms:ViaService | 当代表委托人发出的请求来自指定的Amazon服务时,筛选访问权限 | 字符串 |
| kms:WrappingAlgorithm | 根据请求中 WrappingAlgorithm 参数的值筛选对 GetParametersForImport 操作的访问权限 | 字符串 |
| kms:WrappingKeySpec | 根据请求中 WrappingKeySpec 参数的值筛选对 GetParametersForImport 操作的访问权限 | 字符串 |