Amazon Key Management Service 的操作、资源和条件键
Amazon Key Management Service(服务前缀:kms)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。
参考:
主题
Amazon Key Management Service 定义的操作
您可以在 IAM 策略语句的 Action 元素中指定以下操作。可以使用策略授予在 Amazon 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。
操作表的访问级别列描述如何对操作进行分类(列出、读取、权限管理或标记)。此分类可以帮助您了解当您在策略中使用操作时,相应操作授予的访问级别。有关访问级别的更多信息,请参阅策略摘要中的访问级别。
操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource 元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。
操作表的条件键列包括可以在策略语句的 Condition 元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。
操作表的依赖操作列显示成功调用操作可能需要的其他权限。除了操作本身的权限以外,可能还需要这些权限。若某个操作指定依赖操作,则这些依赖关系可能适用于为该操作定义的其他资源,而不仅仅是表中列出的第一个资源。
注意
资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。
有关下表中各列的详细信息,请参阅操作表。
Amazon Key Management Service 定义的资源类型
以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在资源类型表的最后一列。有关下表中各列的详细信息,请参阅资源类型表。
Amazon Key Management Service 的条件键
Amazon Key Management Service 定义以下可以在 IAM policy 的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表。
要查看适用于所有服务的全局条件键,请参阅 Amazon 全局条件上下文键。
| 条件键 | 描述 | 类型 |
|---|---|---|
| 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:KeyAgreementAlgorithm | 根据请求中 KeyAgreementAlgorithm 参数的值筛选对 DeriveSharedSecret 操作的访问权限 | 字符串 |
| 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 密钥资源授权的任何操作的授权 | 布尔型 |
| kms:MultiRegionKeyType | 根据由操作创建或在操作中使用的 Amazon KMS 的 MultiRegionKeyType 属性筛选对 API 操作的访问权限。使用它可以限定对 CreateKey 操作或为 KMS 密钥资源授权的任何操作的授权 | 字符串 |
| kms:PrimaryRegion | 根据请求中 PrimaryRegion 参数的值筛选对 UpdatePrimaryRegion 操作的访问权限 | 字符串 |
| kms:ReEncryptOnSameKey | 当 ReEncrypt 操作使用用于加密操作的同一个 Amazon KMS 密钥时,筛选对该操作的访问权限 | 布尔型 |
| kms:RecipientAttestation:ImageSha384 | 根据请求中证明文档中的图像哈希筛选对 API 操作的访问权限 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR0 | 按请求中证明文档中的平台配置寄存器(PCR)0 筛选访问权限。PCR0 是核心系统固件可执行代码的连续度量 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR1 | 按请求中证明文档中的平台配置寄存器(PCR)1 筛选访问权限。PCR1 是核心系统固件数据/主机平台配置的连续度量,通常包括序列号和型号 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR10 | 按请求中证明文档中的平台配置寄存器(PCR)10 筛选访问权限。PCR10 是保护 IMA 度量日志的连续度量 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR11 | 按请求中证明文档中的平台配置寄存器(PCR)11 筛选访问权限。PCR11 是统一内核映像(UKI)所有组件的连续度量 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR12 | 按请求中证明文档中的平台配置寄存器(PCR)12 筛选访问权限。PCR12 是内核命令行、系统凭证和系统配置映像的连续度量 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR13 | 按请求中证明文档中的平台配置寄存器(PCR)13 筛选访问权限。PCR13 是 initrd 所有系统扩展映像的连续度量 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR14 | 按请求中证明文档中的平台配置寄存器(PCR)14 筛选访问权限。PCR14 是“MOK”证书和哈希值的连续度量 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR15 | 按请求中证明文档中的平台配置寄存器(PCR)15 筛选访问权限。PCR15 是根文件系统卷加密密钥的连续度量 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR16 | 按请求中证明文档中的平台配置寄存器(PCR)16 筛选访问权限。PCR16 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR17 | 按请求中证明文档中的平台配置寄存器(PCR)17 筛选访问权限。PCR17 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR18 | 按请求中证明文档中的平台配置寄存器(PCR)18 筛选访问权限。PCR18 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR19 | 按请求中证明文档中的平台配置寄存器(PCR)19 筛选访问权限。PCR19 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR2 | 按请求中证明文档中的平台配置寄存器(PCR)2 筛选访问权限。PCR2 是扩展或可插拔的可执行代码的连续度量,包括可插拔硬件上的选项 ROM | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR20 | 按请求中证明文档中的平台配置寄存器(PCR)20 筛选访问权限。PCR20 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR21 | 按请求中证明文档中的平台配置寄存器(PCR)21 筛选访问权限。PCR21 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR22 | 按请求中证明文档中的平台配置寄存器(PCR)22 筛选访问权限。PCR22 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR23 | 按请求中证明文档中的平台配置寄存器(PCR)23 筛选访问权限。PCR23 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR3 | 按请求中证明文档中的平台配置寄存器(PCR)3 筛选访问权限。PCR3 是扩展或可插拔的固件数据的连续度量,包括有关可插拔硬件的信息 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR4 | 按请求中证明文档中的平台配置寄存器(PCR)4 筛选访问权限。PCR4 是引导加载程序和其他驱动程序的连续度量,包括由引导加载程序加载的二进制文件和扩展程序 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR5 | 按请求中证明文档中的平台配置寄存器(PCR)5 筛选访问权限。PCR5 是 GPT/分区表的连续度量 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR6 | 按请求中证明文档中的平台配置寄存器(PCR)6 筛选访问权限。PCR6 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR7 | 按请求中证明文档中的平台配置寄存器(PCR)7 筛选访问权限。PCR7 是 SecureBoot 状态的连续度量 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR8 | 按请求中证明文档中的平台配置寄存器(PCR)8 筛选访问权限。PCR8 是命令和内核命令行的连续度量 | 字符串 |
| kms:RecipientAttestation:NitroTPMPCR9 | 按请求中证明文档中的平台配置寄存器(PCR)9 筛选访问权限。PCR9 是读取的所有文件(包括内核映像)的连续度量 | 字符串 |
| kms:RecipientAttestation:PCR0 | 按请求中证明文档中的平台配置寄存器(PCR)0 筛选访问权限。PCR0 是 Enclave 映像文件内容的连续度量,不包括截面数据 | 字符串 |
| kms:RecipientAttestation:PCR1 | 按请求中证明文档中的平台配置寄存器(PCR)1 筛选访问权限。PCR1 是 Linux 内核和引导数据的连续度量 | 字符串 |
| kms:RecipientAttestation:PCR10 | 按请求中证明文档中的平台配置寄存器(PCR)10 筛选访问权限。PCR10 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR11 | 按请求中证明文档中的平台配置寄存器(PCR)11 筛选访问权限。PCR11 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR12 | 按请求中证明文档中的平台配置寄存器(PCR)12 筛选访问权限。PCR12 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR13 | 按请求中证明文档中的平台配置寄存器(PCR)13 筛选访问权限。PCR13 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR14 | 按请求中证明文档中的平台配置寄存器(PCR)14 筛选访问权限。PCR14 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR15 | 按请求中证明文档中的平台配置寄存器(PCR)15 筛选访问权限。PCR15 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR16 | 按请求中证明文档中的平台配置寄存器(PCR)16 筛选访问权限。PCR16 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR17 | 按请求中证明文档中的平台配置寄存器(PCR)17 筛选访问权限。PCR17 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR18 | 按请求中证明文档中的平台配置寄存器(PCR)18 筛选访问权限。PCR18 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR19 | 按请求中证明文档中的平台配置寄存器(PCR)19 筛选访问权限。PCR19 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR2 | 按请求中证明文档中的平台配置寄存器(PCR)2 筛选访问权限。PCR2 是用户应用程序的按顺序连续度量,无需启动 ramfs | 字符串 |
| kms:RecipientAttestation:PCR20 | 按请求中证明文档中的平台配置寄存器(PCR)20 筛选访问权限。PCR20 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR21 | 按请求中证明文档中的平台配置寄存器(PCR)21 筛选访问权限。PCR21 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR22 | 按请求中证明文档中的平台配置寄存器(PCR)22 筛选访问权限。PCR22 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR23 | 按请求中证明文档中的平台配置寄存器(PCR)23 筛选访问权限。PCR23 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR24 | 按请求中证明文档中的平台配置寄存器(PCR)24 筛选访问权限。PCR24 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR25 | 按请求中证明文档中的平台配置寄存器(PCR)25 筛选访问权限。PCR25 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR26 | 按请求中证明文档中的平台配置寄存器(PCR)26 筛选访问权限。PCR26 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR27 | 按请求中证明文档中的平台配置寄存器(PCR)27 筛选访问权限。PCR27 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR28 | 按请求中证明文档中的平台配置寄存器(PCR)28 筛选访问权限。PCR28 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR29 | 按请求中证明文档中的平台配置寄存器(PCR)29 筛选访问权限。PCR29 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR3 | 按请求中证明文档中的平台配置寄存器(PCR)3 筛选访问权限。PCR3 是分配给父实例的 IAM 角色的连续度量 | 字符串 |
| kms:RecipientAttestation:PCR30 | 按请求中证明文档中的平台配置寄存器(PCR)30 筛选访问权限。PCR30 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR31 | 按请求中证明文档中的平台配置寄存器(PCR)31 筛选访问权限。PCR31 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR4 | 按请求中证明文档中的平台配置寄存器(PCR)4 筛选访问权限。PCR4 是父实例 ID 的连续度量 | 字符串 |
| kms:RecipientAttestation:PCR5 | 按请求中证明文档中的平台配置寄存器(PCR)5 筛选访问权限。PCR5 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR6 | 按请求中证明文档中的平台配置寄存器(PCR)6 筛选访问权限。PCR6 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR7 | 按请求中证明文档中的平台配置寄存器(PCR)7 筛选访问权限。PCR7 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:RecipientAttestation:PCR8 | 按请求中证明文档中的平台配置寄存器(PCR)8 筛选访问权限。PCR8 是为 Enclave 映像文件指定的签名证书的度量 | 字符串 |
| kms:RecipientAttestation:PCR9 | 按请求中证明文档中的平台配置寄存器(PCR)9 筛选访问权限。PCR9 是一种自定义 PCR,可以由用户针对特定使用案例进行定义 | 字符串 |
| kms:ReplicaRegion | 根据请求中 ReplicaRegion 参数的值筛选对 ReplicateKey 操作的访问权限 | 字符串 |
| kms:RequestAlias | 根据请求中的别名筛选对加密操作、DescribeKey 和 GetPublicKey 的访问 | 字符串 |
| kms:ResourceAliases | 根据与客户 Amazon KMS 关联的别名筛选对指定 Amazon KMS 操作的访问权限 | 字符串数组 |
| kms:RetiringPrincipal | 根据授权中的停用委托人筛选对 CreateGrant 操作的访问权限 | 字符串 |
| kms:RotationPeriodInDays | 根据请求中 RotationPeriodInDays 参数的值筛选对 EnableKeyRotation 操作的访问权限 | 数值 |
| kms:ScheduleKeyDeletionPendingWindowInDays | 根据请求中 PendingWindowInDays 参数的值筛选对 ScheduleKeyDeletion 操作的访问权限 | 数值 |
| kms:SigningAlgorithm | 根据请求中的签名算法筛选对 Sign 和 Verify 操作的访问权限 | 字符串 |
| kms:ValidTo | 根据请求中 ValidTo 参数的值筛选对 ImportKeyMaterial 操作的访问权限。您可以使用此条件键以允许用户仅当在指定的日期到期时才能导入密钥材料 | 日期 |
| kms:ViaService | 当代表委托人发出的请求来自指定的Amazon服务时,筛选访问权限 | 字符串 |
| kms:WrappingAlgorithm | 根据请求中 WrappingAlgorithm 参数的值筛选对 GetParametersForImport 操作的访问权限 | 字符串 |
| kms:WrappingKeySpec | 根据请求中 WrappingKeySpec 参数的值筛选对 GetParametersForImport 操作的访问权限 | 字符串 |