Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Container Registry
  • Начало работы
    • Все инструкции
    • Установить и настроить Docker
    • Аутентифицироваться в Container Registry
    • Сканирование Docker-образа на наличие уязвимостей
    • Создание триггера для реестра
  • Yandex Container Solution
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Решение проблем
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Способы аутентификации
  • Аутентифицироваться как пользователь
  • Аутентифицироваться с помощью Docker Credential helper
  • Настройка Credential helper
  • Дополнительные опции Credential helper
  1. Пошаговые инструкции
  2. Аутентифицироваться в Container Registry

Аутентифицироваться в Container Registry

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.
  • Способы аутентификации
  • Аутентифицироваться как пользователь
  • Аутентифицироваться с помощью Docker Credential helper
    • Настройка Credential helper
    • Дополнительные опции Credential helper

Перед началом работы с Container Registry необходимо настроить Docker и аутентифицироваться для соответствующего интерфейса:

  • Для Консоли управления минимально необходимая роль на каталог — viewer.
  • Для Docker CLI или Yandex Managed Service for Kubernetes минимально необходимая роль на реестр или репозиторий — container-registry.images.puller.

Назначьте нужную роль пользователю Yandex Cloud. Ознакомьтесь со способами аутентификации и выберите подходящий.

Подробнее про роли читайте в разделе Управление доступом в Container Registry.

Способы аутентификацииСпособы аутентификации

Вы можете аутентифицироваться:

  • Как пользователь:

    • С помощью OAuth-токена (срок жизни — год).
    • С помощью IAM-токена (срок жизни — не более 12 часов).
  • С помощью хранилища учетных данных Docker Credential helper.

Аутентифицироваться как пользовательАутентифицироваться как пользователь

С помощью OAuth-токена
С помощью IAM-токена

Примечание

Срок жизни OAuth-токена — 1 год. После этого необходимо получить новый OAuth-токен и повторить процедуру аутентификации.

  1. Если у вас не установлен Docker, установите его.

  2. Если у вас еще нет OAuth-токена, получите его по ссылке.

  3. Выполните команду:

    echo <OAuth-токен>|docker login \
      --username oauth \
      --password-stdin \
     cr.yandex
    

    Где:

    • <OAuth-токен> — тело полученного ранее OAuth-токена.
    • --username — тип токена: значение oauth указывает на то, что для аутентификации используется OAuth-токен.
    • cr.yandex — эндпоинт, к которому будет обращаться Docker при работе с реестром образов. Если его не указать, запрос пойдет в сервис по умолчанию — Docker Hub.

Примечание

У IAM-токена короткое время жизни — не более 12 часов. Поэтому такой способ подойдет для приложений, которые будут запрашивать IAM-токен автоматически.

  1. Если у вас не установлен Docker, установите его.

  2. Получите IAM-токен.

  3. Выполните команду:

    echo <IAM-токен>|docker login \
      --username iam \
      --password-stdin \
      cr.yandex
    

    Где:

    • <IAM-токен> — тело полученного ранее IAM-токена.
    • --username — тип токена: значение iam указывает на то, что для аутентификации используется IAM-токен.
    • cr.yandex — эндпоинт, к которому будет обращаться Docker при работе с реестром образов. Если его не указать, запрос пойдет в сервис по умолчанию — Docker Hub.

При выполнении команды вы можете получить сообщение об ошибке: docker login is not supported with yc credential helper.

В этом случае отключите Docker Credential helper. Подробнее см. в разделе Решение проблем в Container Registry.

Аутентифицироваться с помощью Docker Credential helperАутентифицироваться с помощью Docker Credential helper

Docker Engine может хранить учетные данные пользователя во внешнем хранилище. Это безопаснее, чем хранить их в конфигурационном файле Docker. Чтобы использовать хранилище учетных данных, необходима внешняя программа — Docker Credential helper.

В состав Yandex Cloud CLI входит утилита docker-credential-yc, которая выступает в роли Docker Credential helper для Yandex Cloud. Она хранит учетные данные пользователя и позволяет работать с приватными реестрами Yandex Cloud, не выполняя команду docker login.

Настройка Credential helperНастройка Credential helper

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Сконфигурируйте Docker для использования docker-credential-yc:

    yc container registry configure-docker
    

    Результат:

    Credential helper is configured in '/home/<user>/.docker/config.json'
    

    Настройки сохраняются в профиле текущего пользователя.

    Важно

    Credential helper работает только при использовании Docker без sudo. О том, как настроить запуск Docker от имени текущего пользователя без использования sudo читайте в официальной документации.

  2. Проверьте, что Docker сконфигурирован.

    В конфигурационном файле ${HOME}/.docker/config.json должна появиться строка:

    "cr.yandex": "yc"
    
  3. Docker готов к использованию, например, для загрузки Docker-образов.

Дополнительные опции Credential helperДополнительные опции Credential helper

Использовать Credential helper для другого профиля Yandex Cloud CLIИспользовать Credential helper для другого профиля Yandex Cloud CLI

Вы можете использовать Credential helper для другого профиля, не переключая текущий, с помощью команды:

yc container registry configure-docker --profile <имя_профиля>

Подробнее об управлении профилями читайте в пошаговых инструкциях Yandex Cloud CLI.

Не использовать Credential helperНе использовать Credential helper

Чтобы не использовать Credential helper при аутентификации, удалите в конфигурационном файле ${HOME}/.docker/config.json из блока credHelpers строку домена cr.yandex.

Была ли статья полезна?

Предыдущая
Установить и настроить Docker
Следующая
Получить информацию об имеющихся Docker-образах
Проект Яндекса
© 2025 ООО «Яндекс.Облако»