Граница пользовательских разрешений AWS CloudFormation

#amazon-web-services #amazon-cloudformation

#amazon-веб-сервисы #amazon-cloudformation

Вопрос:

Можно ли написать свою политику пользовательских границ разрешений внутри AWS CloudFormation для AWS Lambda LambdaExecutionRole ?

Было бы лучше, если бы я мог написать все необходимые политики для LambdaExecutionRole внутреннего этого кода вместо использования !Ref или !Sub .

Пожалуйста, ознакомьтесь с PermissionBoundary частью

(Этот код не работает из-за неправильно настроенной части границы разрешений)

 LambdaExecutionRole:
    Description: Creating service role in IAM for AWS Lambda
    Type: AWS::IAM::Role
    Properties:
      RoleName: !Sub 'CodeStar-${ProjectId}-Execution${Stage}'
      AssumeRolePolicyDocument:
        Statement:
        - Effect: Allow
          Principal:
            Service: [lambda.amazonaws.com]
          Action: sts:AssumeRole
      Path: /
      ManagedPolicyArns:
        - !Sub 'arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole'
      PermissionsBoundary: !Sub
        Properties:
          PolicyDocument:
            Statement:
            - Action:
              - logs:CreateLogGroup
              - logs:CreateLogStream
              - logs:DescribeLogGroups
              - logs:PutLogEvents
              - xray:Put*
              Effect: Allow
              Resource: '*'
 

Ответ №1:

К сожалению, вы не можете этого сделать. PermissionsBoundary требуется ARN для политики IAM. Итак, сначала вам нужно создать AWS::IAM::ManagedPolicy , а затем ссылаться на его ARN PermissionsBoundary .

Комментарии:

1. Вы имеете в виду, что вам нужно создать управляемую политику вне шаблона CloudFormation или ее можно создать внутри и ссылаться на нее?