我正在使用 AWS CDK,每次我去创建一个新资源(CodePipeline、VPC 等)时,我都以相同的循环结束......
...再三,一而再再而三。然后与 I 相同cdk destroy,但对于 "foo:DeleteFoo"
是否有更有效的方法来确定策略执行特定 CDK 操作所需的权限?也许我可以参考文档中的某个地方?
谢谢
我正在设置一个 CDK 应用程序,以便可以将其部署到多个 AWS 账户(开发和生产)。该产品帐户是在几周前由另一位开发人员启动的,但通过使用在带有附加策略的CDKDeployUser组中调用的用户来按预期工作。使用的策略(适用于产品帐户中与 CDK 相关的所有日常功能)是:CDKDeployUsersCDKDeployPolicy
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Resource": [
"arn:aws:iam::*:role/cdk-*"
]
},
{
"Effect": "Allow",
"Action": [
"cloudformation:*"
],
"Resource": [
"arn:aws:cloudformation:us-west-2:*:*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
当我设置开发帐户时,我创建了一个完全相同的用户、组、策略并尝试运行,cdk bootstrap但出现了关于能够承担cdk-*新创建的帐户中尚不存在的相关角色的错误。我假设 Cloudformation 会像在产品帐户中一样创建这些角色,但同样,我也不确切知道该帐户是如何引导的。
为了“让它工作”,我向CDKDeployUsers组添加了管理员策略并运行cdk bootstrap,当然引导程序确实创建了以前无法使用的必要角色。
那么,引导必须由管理员完成,即使后续 CDK 操作可以用少得多的权限执行,这是众所周知的事情吗?
我在任何地方都找不到它的记录。期望我们每次需要引导时都添加管理策略(或从 CDK v2 升级引导模板),然后再分离它们,这似乎很疯狂。