簡體   English   中英

使用 cdk 添加托管策略 aws

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM