У меня есть корзина с пустой политикой корзины, блок publi c доступ включен (ACL и Bucket), и я пытаюсь вывести список корзин с помощью политики IAM, привязанной к пользователю с помощью STS AssumeRole, со следующей прикрепленной политикой.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:GetObject",
"s3:GetBucket*",
"s3:ListBucket*",
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::my-test-bucket/*"
]
}
]
}
Предполагаемые учетные данные роли используются во время сеанса STS в python (boto3)
s3c = boto3.client('s3',
aws_access_key_id=credentials['AccessKeyId'],
aws_secret_access_key=credentials['SecretAccessKey'],
aws_session_token=credentials['SessionToken'])
s3c.list_buckets()
Я получаю это исключение:
botocore.exceptions.ClientError: An произошла ошибка (AccessDenied) при вызове операции ListBuckets: доступ запрещен
Когда я пытался использовать симулятор политики IAM, он указывает «неявно отказано». Я думаю, если мне нужно получить доступ к политике ведра для этого пользователя? Мое понимание было, если и политика IAM и Bucket, это пересечение. Если один из них отсутствует, другой имеет приоритет.