Amazon Elastic Container Registry (Amazon ECR) — это управляемая AWS служба реестра образов контейнеров, которая поддерживает частные репозитории с разрешениями на основе ресурсов с помощью AWS Identity and Access Management (IAM). Вы можете предоставить контейнерным службам Amazon Lightsail доступ к частным репозиториям Amazon ECR в том же регионе AWS. Затем вы можете развернуть образы из частного хранилища в своих контейнерных службах.
Примечание. Мы рекомендуем использовать консоль Lightsail для управления доступом контейнерных служб к частным хранилищам Amazon ECR. При использовании консоли вам не нужно вручную добавлять имя ресурса Amazon Resource Name (ARN) принципала роли IAM к вашим частным репозиториям.
Необходимые разрешения
Пользователь, который будет управлять доступом контейнерных служб Lightsail к частным репозиториям Amazon ECR, должен иметь одну из следующих политик разрешений в IAM.
Предоставление доступа к любому частному хранилищу Amazon ECR
Следующая политика разрешений предоставляет пользователю разрешение на настройку доступа к любому частному хранилищу Amazon ECR.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ManageEcrPrivateRepositoriesAccess",
"Effect": "Allow",
"Action": [
"ecr:SetRepositoryPolicy",
"ecr:DescribeRepositories",
"ecr:DeleteRepositoryPolicy",
"ecr:GetRepositoryPolicy"
],
"Resource": "arn:aws:ecr:*:AwsAccountId:repository/*"
}
]
}
В политике замените AwsAccountId на идентификационный номер учетной записи AWS.
Предоставление доступа к определенному частному хранилищу Amazon ECR
Следующая политика разрешений предоставляет пользователю разрешение на настройку доступа к определенному частному хранилищу Amazon ECR в определенном регионе AWS.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ManageEcrPrivateRepositoriesAccess",
"Effect": "Allow",
"Action": [
"ecr:SetRepositoryPolicy",
"ecr:DescribeRepositories",
"ecr:DeleteRepositoryPolicy",
"ecr:GetRepositoryPolicy"
],
"Resource": "arn:aws:ecr:AwsRegion:AwsAccountId:repository/RepositoryName"
}
]
}
В политике замените следующий текст примера на свой собственный:
AwsRegion — Код региона AWS (например, us-east-1) частного хранилища. Ваш контейнерный сервис Lightsail должен находиться в том же регионе AWS, что и частные хранилища, к которым вы хотите получить доступ.
AwsAccountId — Идентификационный номер вашей учетной записи AWS.
RepositoryName — имя частного хранилища, для которого вы хотите управлять доступом.
Ниже приведен пример политики разрешений, заполненной примерными значениями.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ManageEcrPrivateRepositoriesAccess",
"Effect": "Allow",
"Action": [
"ecr:SetRepositoryPolicy",
"ecr:DescribeRepositories",
"ecr:DeleteRepositoryPolicy",
"ecr:GetRepositoryPolicy"
],
"Resource": "arn:aws:ecr:us-east-1:111122223333:repository/my-private-repo"
}
]
}
Управление доступом к частным хранилищам с помощью консоли Lightsail
Выполните следующую процедуру, чтобы настроить доступ контейнерной службы Lightsail к частному хранилищу Amazon ECR.
- Войдите в консоль Lightsail.
- На главной странице Lightsail выберите вкладку Контейнеры.
- Выберите имя контейнерной службы, для которой вы хотите настроить доступ к частному хранилищу Amazon ECR.
- Выберите вкладку Образы.
- Выберите один из следующих вариантов в разделе страницы Частные репозитории Amazon ECR:
-
Добавить хранилище, чтобы предоставить доступ вашей контейнерной службе к частному хранилищу Amazon ECR. Чтобы завершить добавление хранилища, перейдите к шагу 6 данной процедуры.
-
Удалить, чтобы удалить доступ для вашей службы контейнеров из ранее добавленного частного хранилища Amazon ECR. Доступ службы контейнеров к хранилищу будет немедленно удален.
- В появившемся выпадающем списке выберите частное хранилище, к которому вы хотите получить доступ.
- Выберите Добавить. Lightsail потратит несколько минут на активацию IAM-роли Amazon ECR image puller для вашей службы контейнеров, которая включает основное имя ресурса Amazon Resource Name (ARN). Затем Lightsail автоматически добавляет основную роль IAM ARN в политику разрешений выбранного вами частного репозитория Amazon ECR. Это предоставит вашей службе контейнеров доступ к частному хранилищу и его образам. Не закрывайте окно браузера, пока появившееся модальное окно не сообщит, что процесс завершен, и вы можете выбрать Continue.
- Выберите Продолжить, когда активация будет завершена. Выбранный частный репозиторий Amazon ECR отображается в разделе Частные репозитории Amazon ECR на странице. Чтобы использовать образ из своего хранилища, укажите формат URI, который отображается на странице, в развертывании службы контейнеров. В URI замените тег example на тег образа, который вы хотите развернуть.