CloudFormation报错KMS策略主体无效,求排查SAM模板问题
排查CloudFormation KMS密钥策略无效主体问题
检查现有角色KMSKeyAdminRole的引用格式
KMS密钥策略中的主体必须使用完整ARN,不能直接写角色名称。如果模板里写的是"Principal": {"AWS": "KMSKeyAdminRole"},这是错误的,应替换为"arn:aws:iam::<MY_ACCOUNT>:role/KMSKeyAdminRole"。同时确认该角色确实存在于当前AWS账号中,无拼写错误。修正隐式Lambda角色NotesFunctionRole的引用方式
SAM自动生成的Lambda执行角色,不能直接用角色名称作为主体,需通过Fn::GetAtt获取角色ARN,示例如下:"Principal": { "AWS": { "Fn::GetAtt": ["NotesFunctionRole", "Arn"] } }注意:SAM隐式角色的逻辑ID为
<FunctionName>Role,此处函数名为NotesFunction,所以逻辑ID为NotesFunctionRole,需确保引用无拼写错误。验证账号ID<MY_ACCOUNT>的正确性
确认模板中所有<MY_ACCOUNT>都替换为实际12位AWS账号纯数字ID,无多余符号或拼写错误。检查策略语句的语法格式
确保KMS密钥策略的JSON格式正确,逗号、括号配对无误,Principal字段结构符合AWS要求(例如AWS字段值应为ARN字符串或ARN数组,不能是无效字符串)。
内容的提问来源于stack exchange,提问作者hotmeatballsoup
相关产品推荐
相关产品推荐

