Как получить доступ к текущему пользователю в шаблоне облачной информации? - PullRequest
0 голосов
/ 20 октября 2018

Я хочу создать ключ KMS с помощью CloudFormation.Я хочу предоставить пользователю, выполняющему файл YAML облачной информации (я назову его «cloudformation-runner»), административный доступ к создаваемому им ключу.

Я могу настроить политику IAM, чтобы обеспечитьпользовательский («cloudformation-runner») доступ к API администрирования KMS.Однако для того, чтобы пользователь мог обновить / удалить только что созданный ключ, мне также необходимо указать KeyPolicy , который позволит ему это сделать.Чтобы сделать это, как я могу получить текущее имя пользователя («cloudformation-runner») в скрипте CloudFormation?

Вот как выглядит мой шаблон для ключа KMS, как мне получить текущего пользователя в качестве принципала?

MyKey:
      Type: AWS::KMS::Key
      Properties:
        Description: "..."
        KeyPolicy:
          Version: "2012-10-17"
          Id: "MyId"
          Statement:
            -
              Sid: "Allow administration of the key"
              Effect: "Allow"
              Principal:
                AWS:
                  - # TODO: Get Current User
              Action:
                - "kms:Create*"
                - "kms:Describe*"
                - "kms:Enable*"
                - "kms:List*"
                - "kms:Put*"
                - "kms:Update*"
                - "kms:Revoke*"
                - "kms:Disable*"
                - "kms:Get*"
                - "kms:Delete*"
                - "kms:ScheduleKeyDeletion"
                - "kms:CancelKeyDeletion"
              Resource: "*"

Я могу вручную указать ARN для пользователя IAM.Однако это делает шаблон менее переносимым, поскольку пользователям необходимо вручную обновить имя пользователя в этом файле.

...