Управление доступом к образам

Управление доступом к образам — это новая функция, которая является частью подписки Docker Business. Данная функция позволяет владельцам организаций контролировать, какие типы образов (официальные образы Docker, образы проверенных издателей Docker, образы сообщества) их разработчики могут извлекать из Docker Hub.

Например, разработчик, являющийся частью организации, создающий новое контейнерное приложение, может случайно использовать ненадежный образ сообщества в качестве компонента своего приложения. Данный образ может быть вредоносным и представлять угрозу безопасности компании. Используя управление доступом к образам, владелец организации может гарантировать, что разработчик может получbnm доступ только к доверенному содержимому, такому как официальные образы Docker, образы проверенного издателя Docker или собственные образы организации, предотвращая такой риск.

Настраивает разрешения управления доступом к образам

В следующем видео показан процесс настройки разрешений на управление доступом к образам.

Подробные инструкции

Чтобы настроить разрешения на управление доступом к образам, выполните следующие действия:

  1. Войти в свою учетную запись Docker Hub в качестве администратора организации.

  2. Выбрать организацию, перейдите на вкладку Настройки на странице Организации и щелкните Разрешения организации.

    Управление доступом к образам
  3. Включает управление доступом к образам, чтобы установить разрешения для следующих категорий образов, которыми вы можете управлять:

  • Образы организации: если включено управление доступом к образам, образы из вашей организации всегда разрешены. Данные образы могут быть общедоступными или частными, созданными участниками вашей организации.

  • Docker Официальные образы: подборка репозиториев Docker, размещенных на Hub. Они предоставляют репозитории ОС, лучшие практики для Dockerfiles, готовые решения и вовремя применяют обновления безопасности.

  • Образы проверенного издателя Docker: публикуются партнерами Docker, которые участвуют в программе проверенного издателя и имеют право быть включенными в безопасную цепочку поставок разработчиков. Вы можете установить разрешения Разрешено или Ограничено.

  • Общие образы: образы всегда отключаются, если включено управление доступом к образам. Данные образы не являются доверенными, поскольку их добавляют различные пользователи Docker Hub, что создаёт угрозу безопасности.

    Примечание

    По умолчанию управление доступом к образам отключено. Однако члены группы owners в вашей организации имеют доступ ко всем образам независимо от настроек.

  1. Выбрать ограничения категории для ваших образов, нажав Разрешено.

  2. После применения ограничений ваши участники могут просматривать страницу разрешений организации в формате только для чтения.

Принудительная проверка подлинности

Чтобы убедиться, что каждый участник организации использует образы в безопасной и защищенной среде, вы можете выполнить следующие шаги, чтобы принудительно выполнить вход в вашу организацию. Сделать это:

  1. Загружает последнюю версию Docker Desktop, а затем

  2. Создаёт файл registry.json.

Загружает Docker Desktop 4.0 или более позднюю версию.

Создаёт файл registry.json

Перед созданием файла registry.json убедиться, что пользователь является членом хотя бы одной организации в Docker Hub. Если файл registry.json соответствует хотя бы одной организации, членом которой является пользователь, он может войти в Docker Desktop и получить доступ ко всем своим организациям.

В зависимости от операционной системы пользователя необходимо создать файл registry.json в следующем расположении и убедиться, что пользователь не может редактировать данный файл:

Платформа

Расположение

Окна

/ProgramData/DockerDesktop/registry.json

Мак

/Library/Application Support/com.docker.docker/registry.json

Линукс

/usr/share/docker-desktop/registry/registry.json

Файл registry.json должен содержать следующее содержимое, где myorg заменяется названием вашей организации.

{
  "allowedOrgs": ["myorg"]
}

В Docker Hub вы можете загрузить файл registry.json для своей организации или копировать определённые команды, чтобы создать файл для своей организации. Чтобы загрузить файл или копировать команды из Docker Hub: 1. Войдите в Docker Hub как владелец организации. 2. Go в Организации > _Ваша организация_ > Настройки. 3. Выбрать Принудительный вход и следуйте инструкциям на экране для Windows, Mac или Linux.

Кроме того, вы можете использовать следующие методы для создания файла registry.json на основе операционной системы пользователя.

Окна

В Windows вы можете использовать следующие методы для создания файла registry.json.

Создаёт файл registry.json при установке Docker Desktop в Windows

Чтобы автоматически создать файл registry.json при установке Docker Desktop, загружаете Docker Desktop Installer.exe и выполняете одну из следующих команд из каталога, содержащего Docker Desktop Installer.exe. Заменяете myorg на название вашей организации.

Если вы используете PowerShell:

PS> Start-Process '.\Docker Desktop Installer.exe' -Wait install --allowed-org=myorg

Если вы используете командную строку Windows:

C:\Users\Admin> "Docker Desktop Installer.exe" install --allowed-org=myorg

Создаёт файл registry.json вручную в Windows

Чтобы вручную создать файл registry.json, выполните следующую команду PowerShell от имени администратора и замените myorg на имя вашей организации:

PS>  Set-Content /ProgramData/DockerDesktop/registry.json '{"allowedOrgs":["myorg"]}'

Это создаёт файл registry.json по адресу C:\ProgramData\DockerDesktop\registry.json и включает информацию об организации, к которой принадлежит пользователь. Убедиться, что данный файл не может быть отредактирован пользователем, только администратором:

PS C:\ProgramData\DockerDesktop> Get-Acl .\registry.json


    Directory: C:\ProgramData\DockerDesktop


Path          Owner                  Access
----          -----                  ------
registry.json BUILTIN\Administrators NT AUTHORITY\SYSTEM Allow  FullControl...

Мак

На Mac вы можете использовать следующие методы для создания файла registry.json.

Создание файла register.json при установке Docker Desktop на Mac

Чтобы автоматически создать файл registry.json при установке Docker Desktop, загружаете Docker.dmg и выполняете следующие команды в терминале из каталога, содержащего Docker.dmg. Заменяете myorg на название вашей организации.

$ sudo hdiutil attach Docker.dmg
$ sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --allowed-org=myorg
$ sudo hdiutil detach /Volumes/Docker

Создание файла registry.json вручную на Mac

Чтобы вручную создать файл registry.json, выполните следующие команды в терминале и замените myorg на название вашей организации.

$ sudo mkdir -p "/Library/Application Support/com.docker.docker"
$ echo '{"allowedOrgs":["myorg"]}' | sudo tee "/Library/Application Support/com.docker.docker/registry.json"

Это создаёт (или обновляет, если файл уже существует) файл registry.json по адресу /Library/Application Support/com.docker.docker/registry.json и включает информацию об организации, к которой принадлежит пользователь. Убедиться, что файл имеет ожидаемое содержимое и не может быть отредактирован пользователем, только администратором.

Убедиться, что содержимое файла содержит правильную информацию:

$ sudo cat "/Library/Application Support/com.docker.docker/registry.json"
{"allowedOrgs":["myorg"]}

Убедиться, что файл имеет ожидаемые разрешения (-rw-r--r--) и право собственности (root и admin):

$ sudo ls -l "/Library/Application Support/com.docker.docker/registry.json"
-rw-r--r--  1 root  admin  26 Jul 27 22:01 /Library/Application Support/com.docker.docker/registry.json

Линукс

В Linux вы можете использовать следующие методы для создания файла registry.json.

Создание файла registry.json вручную в Linux

Чтобы вручную создать файл registry.json, выполните следующие команды в терминале и замените myorg на название вашей организации.

$ sudo mkdir -p /usr/share/docker-desktop/registry
$ echo '{"allowedOrgs":["myorg"]}' | sudo tee /usr/share/docker-desktop/registry/registry.json

Это создаёт (или обновляет, если файл уже существует) файл registry.json по адресу /usr/share/docker-desktop/registry/registry.json и включает информацию об организации, к которой принадлежит пользователь. Убедиться, что файл имеет ожидаемое содержимое и не может быть отредактирован пользователем, только пользователем root.

Убедиться, что содержимое файла содержит правильную информацию:

$ sudo cat /usr/share/docker-desktop/registry/registry.json
{"allowedOrgs":["myorg"]}

Убедиться, что файл имеет ожидаемые разрешения (-rw-r--r--) и право собственности (root):

$ sudo ls -l /usr/share/docker-desktop/registry/registry.json
-rw-r--r--  1 root  root  26 Jul 27 22:01 /usr/share/docker-desktop/registry/registry.json

Проверяет ограничения

Чтобы подтвердить успешность ограничений, попросите каждого члена организации загрузить образ на свой локальный компьютер после входа в Docker Desktop. Если они не смогут войти в систему, они получат сообщение об ошибке.

Например, если вы включаете управление доступом к образам, ваши участники смогут загрузить образ организации, официальный образ Docker или образ проверенного издателя на свой локальный компьютер. Если вы отключаете ограничения, ваши участники смогут загрузить любой образ, включая образы сообщества.

Управление доступом к образам