Вы явно предоставляете вашему новому пользователю доступ к Cloudformation в вашем шаблоне.У вас есть этот раздел:
CFNUserPolicies:
Type: AWS::IAM::Policy
Properties:
PolicyName: CFNUsers
PolicyDocument:
Statement:
- Effect: Allow
Action: ['cloudformation:Describe*', 'cloudformation:List*', 'cloudformation:Get*']
Resource: '*'
Groups: [!Ref 'CFNUserGroup']
CFNAdminPolicies:
Type: AWS::IAM::Policy
Properties:
PolicyName: CFNAdmins
PolicyDocument:
Statement:
- Effect: Allow
Action: cloudformation:*
Resource: '*'
Groups: [!Ref 'CFNAdminGroup']
, в котором ваши операторы разрешения специально предоставляют доступ к Cloudformation.Если вы пытаетесь предоставить доступ к s3, то почему вы предоставляете доступ к Cloudformation?
Если вы хотите, чтобы у пользователя был доступ только к s3, и если вы идете дальше на один конкретный сегмент s3, тогда ваша политика будет выглядеть примерно такэто (обратите внимание, что это в json):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::YOUR-BUCKET",
"arn:aws:s3:::YOUR-BUCKET/*"
]
}
]
}
Если вы хотите, чтобы ваш пользователь имел доступ ко всем корзинам, тогда ваша политика будет выглядеть примерно так:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1557048549844",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "*"
}
]
}
Смотрите этоИсточник: https://objectivefs.com/howto/how-to-restrict-s3-bucket-policy-to-only-one-aws-s3-bucket