使用 cdk 添加托管策略 aws

G.a*_*ziz 2 amazon-web-services amazon-iam typescript aws-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'));
Run Code Online (Sandbox Code Playgroud)

在 aws 控制台上,我看不到添加到角色中的策略。

仅供参考,我aws-cli已使用正确的帐户登录。

在此输入图像描述

gsh*_*hka 5

不幸的是,CDK 无法修改外部资源。因此,这些变化将会发生,但不会产生任何影响。

正确的方法是使用 CDK 创建角色,并将策略添加到创建角色的同一位置。

以下是文档的相关摘录:

尽管您可以在任何需要使用 AWS CDK 应用程序中定义的类似资源的地方使用外部资源,但您无法修改它。例如,在外部 s3.Bucket 上调用 addToResourcePolicy(Python:add_to_resource_policy)不会执行任何操作。