Настроить доступ к реестру
Для реестра можно настроить политики доступа с конкретных 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 <имя_реестра>
-