Как я могу дать 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
?)
Этого можно добиться с помощью Политика 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": "*"
}
]
}
Надеюсь, это поможет :)