关于AWS Lambda KMS密钥轮换及别名引用的配置问题咨询
关于密钥轮换是否需要更新Lambda策略ARN的问题
首先明确:AWS KMS 无论是自动密钥轮换还是手动轮换同一KMS密钥的密钥材料,都不会修改该KMS密钥的ARN、密钥ID等固定标识符,轮换的仅仅是后台用于加解密的密钥材料。因此你Lambda策略中写死的KMS密钥ARN始终有效,不需要AWS自动更新策略,也不需要你手动修改。
只有当你主动删除原有KMS密钥、创建全新的KMS密钥替换时,才会生成新的ARN,这时候才需要更新策略中的ARN值。
如何通过KMS别名实现策略不绑定固定密钥ARN
你之前直接把KMS别名的ARN写在策略的Resource字段不生效,是因为KMS别名是指向密钥的动态指针,本身不属于KMS密钥资源,IAM策略校验时无法将别名识别为有效资源。
你可以通过**KMS条件键kms:ResourceAliases**实现用别名控制权限,示例策略如下:
{ "Sid": "KMSDecryptionViaAlias", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ResourceAliases": "alias/kms_test" } } }
这种配置下,权限会自动匹配所有绑定了alias/kms_test别名的KMS密钥,后续你更换密钥只要保持别名绑定到新密钥,不需要修改Lambda的权限策略,完全不受密钥替换的影响。对应Terraform配置也不需要再调用数据源获取别名指向的ARN,直接写入别名即可,配置更简洁。
内容的提问来源于stack exchange,提问作者user1555190
相关产品推荐
相关产品推荐

