Удалить пользователя AWS IAM, который имеет только определенный тег, с помощью Cloudformation (условие)

Я пытаюсь разрешить пользователям IAM (OperationsAdmin) в определенной группе (группа OperationsAdmin) удалять пользователей с определенным тегом (тег, указывающий, что администратор создал пользователя).

Это то, что можно сделать в Cloudformation? Я пробовал это, но это не работает. Другие пользователи-администраторы в других группах администраторов могут удалять пользователей, которых они не должны иметь. Любые мысли о том, как сделать это с помощью cloudformation, используя yaml?

        OperationsUserGroupAdmin:
Type: AWS::IAM::Group
Properties:
  GroupName: !Sub OperationsUserGroupAdmin-${StackName}
  Path: "/"
  Policies:
    - PolicyName: !Sub OperationsUserGroupAdminPolicy-${StackName}
      PolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Action:
              - "iam:AddUserToGroup"
              - "iam:RemoveUserFromGroup"
            Resource:
              - !Sub "arn:aws:iam::*:group/OperationsUserGroup-${StackName}"
          - Effect: Allow
            Sid: DeleteUser
            Action:
              - "iam:DeleteUser"
            Resource: 'arn:aws:iam::*:user/*'
            Condition:
              StringEquals:
                aws:RequestTag/CreatedBy:
                  - OperationsAdmin

1 ответ

Я смог найти ответ. По сути, я использовал неправильное условие. Я должен был использовать «aws:ResourceTag»:

                - Effect: Allow
            Sid: DeleteUser
            Action:
              - "iam:DeleteUser"
            Resource: 'arn:aws:iam::*:user/*'
            Condition:
              StringEquals:
                aws:ResourceTag/CreatedBy:
                  - OperationsAdmin

https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#:%7E:text=ab12%2D22222222/%22%5D%0A%7D%7D-,aws%3AResourceTag/tag%2Dkey,-Works%20with%20string:%7E:text=ab12%2D22222222/%22%5D%0A%7D%7D-,aws%3AResourceTag/tag%2Dkey,-Works%20with%20string

Другие вопросы по тегам