Jie*_*eng 7 amazon-web-services aws-cloudformation amazon-iam
只是想知道确定我应该为我的 CloudFormation 模板提供什么权限的最佳实践是什么?
在尝试提供所需的最低权限一段时间后,我发现这真的很耗时且容易出错。我注意到,根据我的堆栈状态,真的是新的、一些更新的还是删除的,我需要不同的权限。
我想,应该有可能有一些解析器,给定一个 CloudFormation 模板可以确定它需要的最小权限集?
也许我可以ec2:*访问标记为 的资源Cost Center: My Project Name?这个可以吗?但是我想知道当我更改项目名称时会发生什么?
或者,是否可以假设ec2:*可以根据 CloudFormation 部分通常仅在 CodeCommit/Github/CodePipeline 上执行并且它不是可能是公开的/易于破解的东西的假设提供访问权限?--- 这对我来说听起来像是一个有缺陷的陈述......
短期内,您可以使用aws-leastprivilege。但它并不支持所有资源类型。
从长远来看:正如 2019 年 re:invent 演讲中提到的,CloudFormation 正在努力开源并将其大部分资源类型迁移到新的公共资源模式。这样做的好处之一是您将能够查看执行每项操作所需的权限。
例如,对于AWS::ImageBuilder::Image,架构表示
"handlers": {
"create": {
"permissions": [
"iam:GetRole",
"imagebuilder:GetImageRecipe",
"imagebuilder:GetInfrastructureConfiguration",
"imagebuilder:GetDistributionConfiguration",
"imagebuilder:GetImage",
"imagebuilder:CreateImage",
"imagebuilder:TagResource"
]
},
"read": {
"permissions": [
"imagebuilder:GetImage"
]
},
"delete": {
"permissions": [
"imagebuilder:GetImage",
"imagebuilder:DeleteImage",
"imagebuilder:UnTagResource"
]
},
"list": {
"permissions": [
"imagebuilder:ListImages"
]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
433 次 |
| 最近记录: |