Предоставьте одному пользователю доступ только для чтения к репозиторию 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": "*"
}
]
}
Надеюсь, это поможет:)