能否限制AWS KMS EC私钥签名操作至特定AWS Nitro Enclave?
AWS KMS EC密钥签名操作的Nitro Enclave限制问题解答
目前AWS KMS确实不支持使用
kms:RecipientAttestation:ImageSha384条件策略来限制kms:Sign操作,该条件仅适用于官方文档明确列出的Decrypt、DeriveSharedSecret、GenerateDataKey、GenerateDataKeyPair和GenerateRandom操作,你没有遗漏相关内容。若要实现仅允许特定PCR哈希的Nitro Enclave调用EC密钥的
kms:Sign操作,可采用以下替代方案:- Enclave内部验证+IAM角色限制:先通过IAM策略限制只有Nitro Enclave关联的IAM角色能调用目标KMS密钥的
kms:Sign操作,再在Enclave内部添加逻辑,验证自身PCR哈希是否匹配指定值,仅在匹配时发起KMS签名请求。这种方式将PCR验证逻辑放在Enclave侧,而非KMS策略层面。 - 迁移至AWS Signer服务:AWS Signer原生支持基于Nitro Enclave attestation的签名权限控制,可直接配置仅允许携带指定PCR哈希的Enclave使用特定签名配置完成签名操作。不过此方案需要将签名流程从KMS的
kms:Sign迁移至AWS Signer。
- Enclave内部验证+IAM角色限制:先通过IAM策略限制只有Nitro Enclave关联的IAM角色能调用目标KMS密钥的
注:AWS服务功能会持续迭代,可关注KMS官方文档更新,查看后续是否会扩展
kms:RecipientAttestation:ImageSha384条件支持的操作范围。
内容的提问来源于stack exchange,提问作者Nikita Kalinichenko
相关产品推荐
相关产品推荐

