Ограничить доступ к определенному распределению Cloudfront с помощью IAM
Я пытаюсь предоставить доступ определенному пользователю IAM к определенному распределению Cloudfront.
Я пробовал эту политику:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1428659042000",
"Effect": "Allow",
"Action":["cloudfront:*"],
"Resource": [ "arn:aws:cloudfront:E3J2B3GMZI73G0" ]
}
]
}
Контроллер политики AWS-IAM говорит, что аргумент arn недействителен. Согласно документации по ограничениям IAM для Cloudfront, AWS не указывает на какой-либо пример ограничения доступа к определенным Распределениям. Они всегда относятся к:
"Resource":"*"
Идеи о том, как предоставить конкретному пользователю доступ к конкретному распределению Cloudfront?
Ответы
Ответ 1
Уровень ресурса AWS Identity and Access Management (IAM), к сожалению, пока не поддерживается всеми службами AWS и Amazon CloudFront действительно не соответствует обзорной таблице в службах AWS, поддерживающих IAM, которая также явно подтверждена в CloudFront Resources:
Вы используете звездочку (*) в качестве ресурса при написании политики для контроля доступа к действиям CloudFront. Это связано с тем, что вы не можете использовать IAM для управления доступом к определенным ресурсам CloudFront. Например, вы не можете предоставить пользователям доступ к определенному дистрибутиву. Разрешения, предоставляемые с помощью IAM, включают все ресурсы, которые вы используете с CloudFront. Поскольку вы не можете указывать ресурсы для контроля доступа, нет никаких ресурсов ресурса CloudFront (имена ресурсов Amazon) для использования в политике IAM. [...] [акцент мой]
Ответ 2
У меня была аналогичная проблема и с использованием приведенного ниже формата:
arn:aws:cloudfront::123456789012:distribution/ABCDEFG1234567
где
123456789012
- это идентификатор учетной записи AWS вашей учетной записи AWS и
ABCDEFG1234567
- это идентификатор распространения дистрибутива, к которому вы предоставляете доступ.
Общая политика:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAllCloudFrontPermissions",
"Effect": "Allow",
"Action": [
"cloudfront:*"
],
"Resource":"arn:aws:cloudfront:: 123456789012:distribution/ABCDEFG1234567"
}
}