Предоставьте одному пользователю доступ только для чтения к репозиторию ECR
Как я могу дать a_user доступ только для чтения (т.е. нет разрешения на Push) и b_user не забанен?
Что я сделал до сих пор:
Добавлен мой доступ к AWS + секретный ключ с
aws configureСделал репозиторий ECR и сделал
aws ecr get-login ...Команда, чтобы получить мой логинДобавлено разрешение, которое делает:
DenyПринципал:my_principal_id, Я:a_user,PushПопробовал Docker Push, и он явно отказывает мне, несмотря на
b_user(разрешение только запретыa_user?)
1 ответ
Решение
Это может быть лучше достигнуто с помощью политики IAM для пользователя, а не на уровне репо ECR.
Попробуйте это как политику IAM для a_user (только для чтения):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:Get*",
"ecr:List*",
"ecr:Describe*",
"ecr:BatchGetImage",
"ecr:BatchCheckLayerAvailability"
],
"Resource": "arn:aws:ecr:*:*:repository/test"
},
{
"Effect": "Allow",
"Action": "ecr:GetAuthorizationToken",
"Resource": "*"
}
]
}
И это как политика для b_user (чтение-запись):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:*"
],
"Resource": "arn:aws:ecr:*:*:repository/test"
},
{
"Effect": "Allow",
"Action": "ecr:GetAuthorizationToken",
"Resource": "*"
}
]
}
Надеюсь, это поможет:)