サインインを要求する registry.json の設定
registry.json
ファイルは、ユーザーが所属するべき Docker 組織を定めるものとして、管理者が設定するファイルです。
したがって組織に対する設定は、ユーザーセッションに対して適用されます。
Docker Desktop のインストーラーがこのファイルを生成して、インストール処理の一部として各ユーザーマシンにこれをデプロイします。
ユーザーマシンにregistry.json
ファイルをデプロイした後は、Docker Desktop へのサインインが求められます。
ユーザーがサインインしなかった場合、またはregistry.json
に指定されている組織とは別の組織を使ってサインインしようとした場合、Docker Desktop へのアクセスは拒否されます。
registry.json
ファイルをデプロイしてユーザーに対して認証操作を行わせることには、以下のメリットがあります。
- イメージアクセス管理 などにおいて管理者は、チームメンバーに許可する機能を以下のように制限することができます。
- Docker Hub では信頼されたコンテンツのみへのアクセスとする。
- 指定したカテゴリーのイメージしかプルできないようにする。
- 認証されたユーザーは匿名ユーザーに比べて、より高いプル制限率が得られます。 たとえば認証ユーザーの場合、6 時間ごとに 200 プルを行うことができます。 これが匿名ユーザーの場合は IP アドレスごとに、6 時間内では 100 プルしか行うことができません。 詳しいことは ダウンロード率制限 を参照してください。
- 指定した組織にユーザーが追加されていない限りは、Docker Desktop へのアクセスを拒否することができます。
registry.json ファイルの生成
registry.json
ファイルを生成する際に、開発担当者は Docker Hub 上の少なくとも 1 つの組織のメンバーであることを確認します。registry.json
ファイルが、開発者の属する少なくとも 1 つの組織と一致した場合、Docker Desktop へのサインインが可能となり、その組織すべてにアクセスができます。
Windows の場合
Windows では、端末上から以下のコマンドを実行して Docker Desktop をインストールします。
C:\Users\Admin> "Docker Desktop Installer.exe" install
PowerShell の利用時は以下を実行します。
PS> Start-Process '.\win\build\Docker Desktop Installer.exe' -Wait install
Windows コマンドプロンプトの場合は以下とします。
C:\Users\Admin> start /w "" "Docker Desktop Installer.exe" install
install
コマンドには以下のフラグ指定ができます。
--allowed-org=<org name>
This requires the user to sign in and be part of the specified Docker Hub organization when running the application. For example:
C:\Users\Admin> "Docker Desktop Installer.exe" install --allowed-org=acmeinc
This creates the registry.json
file at C:\ProgramData\DockerDesktop\registry.json
and includes the organization information the user belongs to. Make sure this file
can’t be edited by the individual developer, only by the administrator.
Mac の場合
After downloading Docker.dmg
, run the following commands in a terminal to install
Docker Desktop in the Applications folder:
$ sudo hdiutil attach Docker.dmg
$ sudo /Volumes/Docker/Docker.app/Contents/MacOS/install
$ sudo hdiutil detach /Volumes/Docker
The install
command accepts the following flags:
--allowed-org=<org name>
This requires the user to sign in and be part of the specified Docker Hub organization when running the application. For example:
$ sudo hdiutil attach Docker.dmg --allowed-org=acmeinc
This creates the registry.json
file at /Library/Application Support/com.docker.docker/registry.json
and includes the organization information the user belongs to. Make sure this file
can’t be edited by the individual developer, only by the administrator.
変更の確認
registry.json
ファイルを生成して、各ユーザーマシンに対してデプロイしたら、各ユーザーが Docker Desktop を起動できるかどうかを問い合わせて、変更が適用されたことを確認します。
設定が正しく行われたら、各ユーザーによる Docker Desktop の起動時に、組織情報を使ったユーザー認証が求められます。 ユーザー認証に失敗した場合は、エラーメッセージが表示されて、Docker Desktop へのアクセスが拒否されます。
authentication, registry.json, configure