【问题标题】:AWS CDK - Stop Generating PoliciesAWS CDK - 停止生成策略
【发布时间】:2019-10-08 18:32:49
【问题描述】:

以下CDK代码

    const queue = new sqs.Queue(this, 'my-sqs-queue', {
      visibilityTimeout: cdk.Duration.seconds(300)
    });

    const role = iam.Role.fromRoleArn(this, "myrole", "arn:aws:iam::1234:role/myrole")

    const evtHandler = new lambda.Function(this, 'MyLambda', {
      code: lambda.Code.fromInline(`
        exports.handler =  async function(event, context) {
        console.log("EVENT: \n" + JSON.stringify(event, null, 2))
        return context.logStreamName
      }`),
      handler: 'index.handler',
      runtime: lambda.Runtime.NODEJS_8_10,
      role
    });

    evtHandler.addEventSource(new SqsEventSource(queue, {
      batchSize: 10 // default
    }));

将设置一个轮询 SQS 的 lambda。惊人的!但是,它也会生成这个 CF

myrolePolicy99283C52:
    Type: AWS::IAM::Policy
    Properties:
      PolicyDocument:
        Statement:
          - Action:
              - sqs:ReceiveMessage
              - sqs:ChangeMessageVisibility
              - sqs:GetQueueUrl
              - sqs:DeleteMessage
              - sqs:GetQueueAttributes
            Effect: Allow
            Resource:
              Fn::GetAtt:
                - sqseventloaderusw2tstF27FC9C7
                - Arn
        Version: "2012-10-17"
      PolicyName: snssqslambdaPolicy16AEE704
      Roles:
        - myrole

问题是,myrole 已经有了允许这些事情的政策。这也意味着执行这个脚本的东西需要有创建/更新策略/角色的权限:(

我的组织中的安全人员不会对允许这种事情感到非常满意。有没有办法阻止它生成策略并将它们附加到角色?

【问题讨论】:

  • 我很感激这是几年前的事了,但是你是如何解决这个问题的,因为我在 SNS 和 SQS 添加默认策略时遇到了同样的问题
  • 我可以使用autoCreatePolicy

标签: aws-cdk


【解决方案1】:

对于以后遇到此问题的任何人,将选项 mutable 设置为 false 为我解决了这个问题。

因此,在 OP 的示例中,角色将更改为:

const role = iam.Role.fromRoleArn(this, "myrole", "arn:aws:iam::1234:role/myrole", {mutable: false})

供参考:https://github.com/aws/aws-cdk/issues/4422

【讨论】:

  • 这与询问“如何停止创建新策略”而不是如何防止 IAM 角色附加新策略的原始问题无关。
【解决方案2】:

当我进行开发时,我通常会在我工作区的另一个窗口中设置文档。您只需要将属性autoCreatePolicy 设置为false。

根据文档:https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html#autocreatepolicy

【讨论】:

    猜你喜欢
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-24
    • 1970-01-01
    • 2020-12-16
    • 2020-12-19
    • 2020-11-14
    相关资源
    最近更新 更多