[英]Adding managed policy aws with cdk
我正在嘗試將托管策略添加到包含帳戶 ID 的角色:
const role = iam.Role.fromRoleArn(
this,
'Role',
`arn:aws:iam::${cdk.Stack.of(this).account}:role/example-role`,
);
role.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonDynamoDBFullAccess'));
role.addManagedPolicy(iam.ManagedPolicy.fromAwsManagedPolicyName('AmazonKinesisFullAccess'));
在 aws 控制台上,我看不到添加到角色的策略。
fyi 我的aws-cli
使用正確的帳戶登錄。
不幸的是,CDK 不能修改導入的資源。 所以更改將 go 通過,但不會有任何效果。
正確的方法是使用 CDK 創建角色,並在創建角色的同一位置添加策略。
這是文檔的相關摘錄:
盡管您可以在任何地方使用導入的資源,但您無法修改導入的資源。 例如,在導入的 s3.Bucket 上調用 addToResourcePolicy(Python:add_to_resource_policy)什么都不做。
文檔似乎說這是可能的,但我遇到了同樣的問題。
如果您的帳戶中已經創建了您想在 CDK 應用程序中使用的角色,您可以使用 Role.fromRoleArn 導入它們,如下所示:
role = iam.Role.from_role_arn(self, "Role", "arn:aws:iam::123456789012:role/MyExistingRole",
# Set 'mutable' to 'false' to use the role as-is and prevent adding new
# policies to it. The default is 'true', which means the role may be
# modified as part of the deployment.
mutable=False
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.