Настроить доступ к реестру
Для реестра можно настроить политики доступа с конкретных IP-адресов.
- В консоли управления
выберите каталог, в котором создан реестр. - В списке сервисов выберите Container Registry.
- Выберите реестр, доступ к которому нужно настроить.
- На панели слева нажмите
Доступ для IP-адресов. - Нажмите Настроить.
- Введите IP-адрес и укажите действие. PULL — разрешение на скачивание, PUSH — разрешение на загрузку Docker-образов в реестр.
- Если нужно настроить доступ для нескольких IP-адресов, нажмите Добавить.
- Нажмите кнопку Сохранить.
-
Посмотрите список доступных реестров, их имена и идентификаторы:
yc container registry listРезультат:
+----------------------+--------+----------------------+ | ID | NAME | FOLDER ID | +----------------------+--------+----------------------+ | crpd50616s9a******** | my-reg | b1g88tflru0e******** | +----------------------+--------+----------------------+ -
Задайте настройки доступа к реестру:
yc container registry set-ip-permissions <имя_реестра> \ --pull <IP-адрес> \ --push <IP-адрес>Где:
--pull— флаг, разрешающий скачивание Docker-образов из реестра.--push— флаг, разрешающий загрузку Docker-образов в реестр.
Более подробную информацию о команде смотрите в справочнике CLI.
Выполнение этой команды приведет к удалению всех существующих разрешений для IP-адресов. Чтобы продолжить, введите значение
yesи нажмите Enter.Результат:
WARN: All current ip permissions will be deleted. Are you sure?[y/N] -
Проверьте назначенные ограничения:
yc container registry list-ip-permissions <имя_реестра>Результат:
+--------+-----------+ | ACTION | IP | +--------+-----------+ | PULL | 10.1.2.11 | | PUSH | 10.1.2.11 | +--------+-----------+
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле Terraform настройки доступа к реестру.
resource "yandex_container_registry_ip_permission" "my_ip_permission" { registry_id = <идентификатор_реестра> push = [ "<IP-адрес>", "<IP-адрес>" ] pull = [ "<IP-адрес>", "<IP-адрес>" ] }Где:
my_registry— идентификатор реестра. Если в конфигурации уже есть ресурс yandex_container_registry, вы можете указать на него, напримерyandex_container_registry.my_registry.id.pull— IP-адреса, с которых разрешено скачивание Docker-образов из реестра. Необязательный параметр.push— IP-адреса, с которых разрешена загрузка Docker-образов в реестр. Необязательный параметр.
Более подробную информацию о параметрах
yandex_container_registry_ip_permissionв Terraform см. в документации провайдера. -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно в консоли управления
или с помощью команды CLI:yc container registry list-ip-permissions <имя_реестра> -