Как разделить переменную политики aws: username, чтобы проверить, предоставлено ли разрешение на запись в нее? - PullRequest
0 голосов
/ 17 октября 2019

Как разделить имя пользователя, взять 3-й элемент при разделении на разделитель '-' и сопоставить этот элемент с folderName внутри корзины /?

aws: имя пользователя является только росписью при записи в конкретную корзину,Это означает, что его нет при создании политики. Что приводит к сбою разбиения.

Я попытался переместить логику в поле условия, но результата пока нет.

  Resources:
    testTagGroupPolicy:
      Type: AWS::IAM::Group
      Properties:
        GroupName: !Sub "test-tag-group-${Environment}"
        Policies:
          - PolicyName: !Sub "test-tag1-group-policy-${Environment}"
            PolicyDocument:
              Version: 2012-10-17
              Statement:
                - Sid: AllowAllActionsInUserFolder
                  Effect: Allow
                  Action:
                    - s3:*
                  Resource: !Sub "arn:aws:s3:::test-tag1-bucket-${Environment}"
                  Condition:
                    StringLikeIfExists:
                      "s3:prefix": !Sub
                        - ${Application}/*"
                        - Application: !Select
                            - 2
                            - !Split ["-", !Sub "${aws:username}"]

Допустим, у нас есть сегмент с именем: test1

У нас есть пользователь с именем test-tag1-team1-dev

Тогда этот пользователь сможет писать только в папку test1/team1. поэтому вместо использования полного имени пользователя используйте только третий элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...