Как разделить имя пользователя, взять 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
. поэтому вместо использования полного имени пользователя используйте только третий элемент.