簡體   English   中英

無法使用 CDK 為現有用戶附加策略

[英]Can not attach policy for existing user with CDK

我不明白為什么我會收到錯誤消息“無法向導入的用戶添加內聯策略”

背景:我有一個現有用戶,來自:

const testUser = iam.User.fromUserName(this,'test','alarm_test')

然后我用語句創建策略並將策略附加到用戶:


    policy.addStatements( new iam.PolicyStatement({   
        effect: iam.Effect.ALLOW,
        resources: [
          '*'
        ],
        actions: [
          "ec2:DescribeInstances"
        ]            
      }));

    policy.attachToUser(testUser);

查看此處的 aws-cdk 源代碼,您似乎無法向導入的用戶添加任何策略,並且沒有任何好的文檔說明原因。

我沒有解決方法,但我建議在 AWS Github 頁面上創建一個功能請求,開發人員可能會讓您更深入地了解原因。

源代碼在這里: https : //github.com/aws/aws-cdk/blob/d5918c330b6770b84efc5417ce1109a68c22119b/packages/%40aws-cdk/aws-iam/lib/user.ts#L161

我認為原因是因為將內聯策略附加到用戶通常被認為是一種不好的做法。

這應該不再是一個問題,因為它已在較新版本中修復。 但是對於像我這樣使用舊版本的人來說,有一種解決方法對我有用。

創建 IAM 組,添加所需的(托管)策略並將用戶添加到該組。 這有點乏味,但應該可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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