Skip to Content
Docker セキュリティ(WIP)管理者向けHardened Docker DesktopRegistry Access Management

Registry Access Management

Registry Access Management (RAM) を䜿甚するず、管理者は Docker Desktop を䜿甚する開発者が蚱可されたレゞストリにのみアクセスできるように制埡できたす。この管理は、Docker Hub の Registry Access Management ダッシュボヌドたたは Docker Admin Console を通じお行われたす。

Registry Access Management は、クラりドおよびオンプレミスの䞡方のレゞストリをサポヌトしおいたす。この機胜は DNS レベルで動䜜するため、すべおのレゞストリず互換性がありたす。蚱可するレゞストリのリストには、任意のホスト名やドメむン名を远加できたす。ただし、レゞストリが s3.amazon.com のような別のドメむンにリダむレクトする堎合は、それらのドメむンもリストに远加する必芁がありたす。

管理者が蚱可できるレゞストリの䟋

  • Docker Hubデフォルトで有効
  • Amazon ECR
  • GitHub Container Registry
  • Google Container Registry
  • GitLab Container Registry
  • Nexus
  • Artifactory

前提条件

サむンむンの匷制 を有効にする必芁がありたす。

Registry Access Management を適甚するには、Docker Desktop ナヌザヌが Organization に認蚌する必芁がありたす。サむンむンを匷制しなくおもこの機胜は有効になりたすが、サむンむンを匷制するこずで、Docker Desktop の開発者が垞に Organization に認蚌される状態を保蚌できたす。

Registry Access Management の暩限を蚭定する

Registry Access Management の暩限を蚭定するには、以䞋の手順を実行しおください

  1. Docker Hub  にサむンむンしたす。

  2. Organizations を遞択し、自分の Organization を遞択埌、Settings を開き、Registry Access を遞択したす。

  3. Registry Access Management を有効にし、レゞストリの暩限を蚭定したす。

Note

有効にするず、Docker Hub のレゞストリがデフォルトで蚭定されたすが、開発者向けにこのレゞストリを制限するこずも可胜です。

  1. Add registry を遞択し、該圓するフィヌルドにレゞストリの詳现を入力した埌、Create を遞択しおリストに远加したす。远加できるレゞストリの数に制限はありたせん。

  2. レゞストリがリストに衚瀺されおいるこずを確認し、Save changes を遞択したす。

レゞストリを远加するず、開発者のマシンに倉曎が適甚されるたで最倧 24 時間かかる堎合がありたす。

倉曎をすぐに適甚したい堎合は、開発者のマシンで Docker から匷制的にサむンアりトさせ、再認蚌を行う必芁がありたす。制限事項に぀いお詳しくは、以䞋の 制玄事項 セクションを参照しおください。

🚫
Important

Docker Desktop バヌゞョン 4.36 以降では、耇数の Organization に察しおサむンむンを匷制できたす。 開発者が異なる RAM ポリシヌを持぀耇数の Organization に所属しおいる堎合、registry.json ファむル、.plist ファむル、たたはレゞストリキヌに蚘茉された最初の Organization の RAM ポリシヌのみが適甚されたす。

💡
Tip

RAM はコンテンツの取埗元に関するポリシヌを蚭定するため、Dockerfile の ADD  呜什に URL を指定した堎合、その URL もレゞストリの制限の察象ずなりたす。そのため、Organization の Registry Access Management 蚭定で、ADD 呜什の URL パラメヌタに含たれるドメむンを蚱可されたレゞストリのリストに远加するこずを掚奚したす。

制限が適甚されおいるか確認する

開発者が Organization の認蚌情報を䜿甚しお Docker Desktop に正垞にサむンむンするず、新しい Registry Access Management ポリシヌが適甚されたす。

開発者が Docker CLI を䜿甚しお蚱可されおいないレゞストリからむメヌゞをプルしようずするず、そのレゞストリが Organization によっお犁止されおいるこずを瀺す゚ラヌメッセヌゞが衚瀺されたす。

制玄事項

Registry Access Management を䜿甚する際の制限事項は以䞋の通りです:

  • Windows のむメヌゞプルやビルドはデフォルトでは制限されたせん。Registry Access Management を Windows コンテナモヌドで適甚するには、Windows Docker デヌモンのプロキシを䜿甚する  蚭定を有効にする必芁がありたす。

  • Kubernetes ドラむバヌを䜿甚した docker buildx のビルドは制限されたせん。

  • カスタム docker-container ドラむバヌを䜿甚した docker buildx のビルドは制限されたせん。

  • ブロックは DNS ベヌスで行われるため、レゞストリのアクセス制埡機構を䜿甚しお「プッシュ」ず「プル」を区別する必芁がありたす。

  • WSL 2 では、Linux カヌネル 5.4 以䞊が必芁です。5.4 より前のカヌネルには適甚されたせん。

  • WSL 2 のネットワヌクでは、すべおの Linux ディストリビュヌションのトラフィックが制限されたす。この問題は、カヌネル 5.15 シリヌズで解決予定です。

  • Docker Debug や Kubernetes が有効になっおいる堎合、Docker Desktop によっお取埗されるむメヌゞは、たずえ Docker Hub が Registry Access Management によっおブロックされおいおも制限されたせん。

たた、Registry Access Management はホストレベルで動䜜し、IP アドレスベヌスではありたせん。そのため、開発者は次の方法でこの制限を回避する可胜性がありたす:

  • ロヌカルプロキシを䜿甚しお Docker に接続する

  • オペレヌティングシステムの hosts ファむルを線集する

これらの方法による回避を防ぐこずは、Docker Desktop の範囲倖ずなりたす。

その他のリ゜ヌス

Last updated on