シングル サインオンの FAQ

Docker Desktop シングル サインオンに関するよくある質問にお答えします。

全般

Q: Docker SSO はすべての有料サブスクリプションで利用できますか?

Docker SSO は Docker Business サブスクリプションでのみ利用できます。既存のサブスクリプションをアップグレードして Docker SSO の使用を開始してください。

Q: Docker SSO はどのように機能しますか?

Docker シングル サインオン (SSO) は、ID プロバイダー (IdP) を使用した Docker へのアクセス認証を可能にします。Docker では現在、Azure AD と SAML 2.0 をサポートする ID プロバイダーをサポートしています。SSO を有効にすると、ユーザーはメール アドレスとパスワードを使用して認証するため、ID プロバイダーの認証ページにリダイレクトされます。

Q: Docker ではどのような SSO フローをサポートしていますか?

Docker では現在、サービス プロバイダー主導型 (SP-initiated) SSO フローをサポートしています。つまり、ユーザーは Docker Hub または Docker Desktop にログインして、SSO 認証プロセスを開始する必要があります。

Q: Docker SSO 設定方法の詳しい手順はどこにありますか?

まずはじめに、ID プロバイダーと SSO 接続を確立する必要があります。また、ユーザーに対して SSO を実施する前に、会社の電子メールドメインを検証する必要があります。Docker SSO の設定方法に関する詳細な手順については、「シングル サインオンの設定」を参照してください。

Q: Docker SSO は多要素認証 (MFA) をサポートしていますか?

組織で SSO を使用している場合、MFA は Docker システムではなく idP レベルで決定されます。

Q: SSO を使用するには特定のバージョンの Docker Desktop が必要ですか?

はい、組織内のすべてのユーザーが Docker Desktop バージョン 4.4.0 以降にアップグレードする必要があります。古いバージョンの Docker Desktop を使用しているユーザーは、企業ドメイン メールアドレスがログインに使用されている、または既存の Docker アカウントにプライマリ メールアドレスとして紐づけられている場合、SSO 実施後にログインできなくなります。既存のアカウントを持つユーザーは、そのユーザー名とパスワードでログインすることはできません。

SAML SSO

Q: SAML 認証には追加の属性が必要ですか?

SAMLで認証するには、属性としてメール アドレスを指定する必要があります。「Name」属性は現在オプションです。

Q: アプリケーションは、SAMLResponse の Subject に含まれる NameID/Unique Identifier を認識しますか?

望ましい形式はメールアドレスとなり、これは Name ID でもあるはずです。

Q: SAML SSO を実施する場合、どの段階で SAML によるログインの追跡が必要ですか? 実行時ですか、それともインストール時ですか?

組織への認証を要求するように設定されている場合は、Docker Desktop の実行時にログインの追跡が必要です。

Q: SSO を用いたログインではなく、Docker Desktop を通常のユーザー ID、パスワードでログインする場合の猶予期間はありますか?

現在のところ、猶予期間が終了する時期は未定です。

Q: SSO ユーザーに応じた Docker Desktop アプリケーションの利用方法について、何か情報はありますか? また、ライセンスを正しく取り扱っているか、どのように確認すればよいでしょうか?

ユーザーが Docker Desktop の最新版をダウンロードしていることを確認してください。近い将来、ユーザー管理の観測可能性と機能を強化する予定です。

Docker Organization と Docker ID

Q: Docker ID とは何ですか? SSO を使用する際に Docker ID を保持することはできますか?

個人用の Docker ID では、ユーザー自身がアカウントの所有者であり、ユーザーのリポジトリ、イメージ、アセットへのアクセスに関連付けられます。エンドユーザーは Docker アカウントに企業ドメイン メールアドレスを持つことを選択でき、SSO が実施されたとき、アカウントは組織アカウントに結びつきます。または、SSO が企業組織に対して実施された場合、認証済みの企業ドメイン メールアドレスを使用して既存のアカウントなしでログインするすべてのユーザーは、自動的にアカウントがプロビジョニングされ、新しい Docker ID が作成されます。

Q: 希望の Docker Organization ID が取られていたらどうすればよいですか?

ネームスペースの状態によりますが、Docker Organization ID に商標クレームが存在する場合は、法的審査のための手動フローが必要です。

Q: 3つ以上の組織を作りたい場合はどうすればいいですか?

複数の組織や 1 つの組織の下に複数のチームを作成することができます。SSO を実施する場合、現時点では、SSO は単一の ID プロバイダーを持つ単一の組織に対してのみ利用可能です。

Q: 複数の組織を持っており、すべて同じドメインに接続されている場合、組織にどのような影響を与えますか?

現在、そのような環境のサポートには制限があります。SSO を実施する予定で、メールドメインが 1 つしかない場合は、同じ組織の下に異なるチームを設定することをお勧めします。

ID プロバイダー

Q: Docker SSO で複数の IdP を使用することはできますか?

いいえ、Docker SSO は 1 つの IdP でのみ動作するように設定できます。ドメインは 1 つの IdP にのみ関連付けることができます。Docker では現在、Azure AD と SAML 2.0 をサポートする ID プロバイダーをサポートしています。

Q: SSO を設定後に ID プロバイダーを変更できますか?

はい。Docker Hub で既存の IdP を削除してから、新しい IdP で SSO を設定します。すでに SSO ログイン強制をオンにしている場合は、プロバイダーの SSO 接続を更新する前に強制をオフにする必要があります。

Q: SSO を設定するため ID プロバイダーからどのような情報が必要ですか?

Docker で SSO を有効にするには、IdP から以下の情報が必要になります。

  • SAML: エンティティ ID、ACS URL、シングル ログアウト URL、および X.509 証明書
  • Azure AD: クライアント ID、クライアント シークレット、AD ドメイン
Q: 既存の証明書の期限が切れたらどうなりますか?

既存の証明書の期限が切れた場合、ID プロバイダーに連絡して、新しい x509 証明書を生成してもらう必要があります。新しい証明書は、Docker Hub の SSO 設定ページに追加します。

Q: SSO が有効で IdP がダウンしたらどうなりますか?

IdP がダウンした場合、Docker Hub にアクセスすることはできません。ただし、パーソナル アクセス トークンを使用して CLI から Docker Hub イメージにアクセスすることはできます。または、SSO 実施前に既存のアカウントを保有していた場合は、組織の猶予期間中にユーザー名とパスワードを使用して Docker Hub イメージにアクセスできます。

Q: 組織の SSO を無効にしたらどうなりますか?

SSO を無効にすると、Docker にアクセスするため ID プロバイダー経由の認証が不要になります。ユーザーは引き続きシングル サインオン、または Docker ID とパスワードでログインできます。

Q: Docker Hub を使用し、セカンダリ レジストリとしてアカウントはどのように扱えばよいですか? ボット アカウントは必要ですか?

IdP にボット アカウントを追加し、専用のアクセス トークンを作成することで、他のクレデンシャルを置き換えることができます。

Q: Docker では、SAML ジャストインタイム (JIT) プロビジョニングをリリースする予定はありますか?

Docker の SSO 実装はすでに 「ジャストインタイム (JIT)」 です。管理者は Hub 上でユーザーのアカウントを作成する必要はなく、IdP 上で有効化し、ユーザーは Hub 上のドメイン メール経由でログインできます。

Q: IdP-initiated ログインはありますか? Docker は Hub と Desktop 以外の SSO ログインをサポートする予定がありますか?

現時点では、IdP-initiated ログインをサポートする予定はございません。

Q: ビルド エージェント - SSO を使用している場合、dockerorg 内のシートを埋めるためにボット アカウントを作成する必要がありますか?

はい、一般的にボット アカウントは、通常のエンド ユーザーと同様に、IdP で有効な非エイリアス ドメインのメールを持ち、Hub でシートを消費します。

Q: Microsoft Azure Active Directory グループと Docker Hub を直接接続することは可能ですか?

はい、Azure AD は、直接の統合と SAML 経由の両方で、Docker Business の SSO に対応しています。

ドメインの追加とドメインの検証

Q: ドメインの txt レコードを追加する際、文字数の制限に達した場合はどうすればよいですか。

SSO にサブドメインを追加することはできますが、すべてのメールアドレスはそのドメイン上にある必要があります。お使いの DNS プロバイダーが、同じドメインに対して複数の txt フィールドをサポートしていることを確認してください。

Q: DNS プロバイダーは、1回限りの検証のために一度設定し、後で削除することができますか? もしくは永久に必要になりますか?

接続に追加するために一度だけ行うことは可能です。IdP を変更し、SSO を再度セットアップする必要がある場合は、再度検証が必要になります。

Q: SSO の設定にドメインの追加は必要ですか? どのようなドメインを追加すればよいでしょうか?また、どのように追加すればよいですか?

SSO を有効にし、実施するためには、ドメインの追加と確認が必要です。ドメインの追加をクリックし、サーバー経由での認証を許可するメール ドメインを指定します。これには、ユーザーが Docker にアクセスするために使用するすべてのメール ドメインが含まれている必要があります。gmail.com、outlook.com など、パブリック ドメインは許可されません。また、メール ドメインはプライマリ メールとして設定する必要があります。

Q: ユーザーが個人のメールアドレスを使用している場合、組織に招待される前に組織のドメインを使用するように変換する必要がありますか? ハブ アカウントを変更するだけでよいのでしょうか?

いいえ。ただし、1つの Docker ID に複数の電子メールを追加することは可能です。しかし、そのメールアドレスは Docker 全体で 1度しか使用できません。もう一つ注意点として、(2022年 1月現在) SSO は MVP としてマルチ ドメインでは機能せず、個人メールでも機能しません。

Q: Docker ID は SAML からトラッキングされるので、どの時点で SAML からログインする必要があるのでしょうか? ランタイムまたはインストール時ですか?

Docker Desktop で組織への認証が必要な設定をしている場合は、Docker Desktop のランタイムとなります。

Q: IdP-Initiated の認証 (Okta タイル対応など) には対応していますか?

IdP-Initiated の認証には対応していません。ユーザーは Docker Desktop または Hub からログインを開始する必要があります。

SSO の実施

Q: すべての組織で SSO を有効にできますか?

SSO は、Docker Business サブスクリプションを利用している組織で有効にできます。

Q: 現在 Docker Team サブスクリプションを利用していますが、SSO を有効にするにはどうすればよいですか?

Docker SSO は Docker Business サブスクリプションで利用できます。SSO を有効にするには、Docker Business サブスクリプションにアップグレードする必要があります。

Q: サービス アカウントは SSO でどのように機能しますか?

SSO が有効な場合、サービス アカウントはほかのユーザーと同様に動作します。サービス アカウントが SSO が有効なドメインのメールを使用している場合、CLI と API の使用には PAT が必要です。

Q: SSO を有効にするため DNS 認証は必要ですか?

はい。SSO 接続で使用する前に、ドメインを確認する必要があります。

Q: Docker SSO はコマンドラインからの認証をサポートしていますか?

はい。SSO が有効な場合、パーソナル アクセス トークン (PAT) を利用して Docker CLI にアクセスできます。各ユーザーは、CLI にアクセスするため PAT を作成する必要があります。PAT の作成方法は、「アクセス トークンの管理」を参照してください。PAT への移行期間として、CI/CD の中断リスクを軽減するため、2022 年の初めまで引き続き CLI から個人証明書を使用してログインできます。

Q: SSO はオートメーション システムや CI/CD パイプラインにどのような影響を与えますか?

SSO を実施する前に、オートメーション システムと CI/CD パイプラインの PAT を作成して、パスワードの代わりに使用する必要があります。

SSO を実施すると、オートメーション システムや CI/CD パイプラインでパスワードによる認証は動作しなくなります。

Q: Docker Desktop 内でプロジェクトに取り組んでいるユーザーがいますが、個人アカウントまたはメール無しで認証されています。Docker Business のライセンスを購入した後、Okta 経由で SSO を実装し、ユーザーを管理する予定です。このユーザーが SSO でサインインした場合、新しいアカウントへの移行に伴い、Docker Desktop での作業が損なわれたり、影響を受けたりすることはないでしょうか?

もし、すでに企業メールがアカウントに紐づけされている場合は、そのまま SSO に移行されます。

Q: 組織が SSO を有効にすると、管理者は企業メールドメインに関連する Docker ID を制御することができますが、これらの Docker ID の中には、Docker Desktop のユーザーではなく Business サブスクリプションを必要としないものがあります。管理者はどの Docker ID を Docker Organization に追加し、Business 機能にアクセスするかを選択することができますか? また、これらの Docker ID のうちどれが Docker Desktop のユーザーであるか、フラグを立てる方法はありますか?

SSO の強制は、ドメイン メールのユーザーに適用され、SSO を強制にしている組織に、そのユーザーを自動的に追加します。管理者は手動でユーザーを組織から削除することができますが、SSO が強制された場合、削除されたユーザーは認証することができなくなります。

Q: SSO を有効にして、ドメイン認証と SSO 強制のオプションを控えることはできますか?

はい、強制しないように選択することができます。また、ユーザーはサインイン画面で Docker ID でのサインイン、または企業メールアドレス (SSO) を使用したサインインのいずれかを使用するオプションがあります。

Q: SSO を強制していますが、あるユーザーが複数の組織 (および複数のメールアドレス) に接続しており、SSO を回避して Docker ID とパスワードでログインすることができます。なぜこのようなことが起こるのでしょうか。

ログインに使用しているメールアドレスが、SSO が強制されたときに使用されている企業メールと一致しない場合、そのユーザーは SSO をバイパスすることができます。

Q: 本番運用を開始する前に、Okta のテスト テナントでこの機能をテストする方法はありますか?

はい、テスト組織を作成することができます。企業は、新しい組織に 5 シートの Business プランを設定してテストすることができます (SSO を有効にするだけで、それを強制しないように注意してください。強制した場合、指定したすべてのドメインのメールユーザーがそのテスト テナントにサインインするよう強制されてしまいます)。

Q: Docker Desktop の SSO を有効にしたら、サービスアカウントを使用する Build システムのフローにどのような影響がありますか?

SSO が有効化されても、今のところ影響はありません。引き続き、ユーザー名/パスワード、またはパーソナル アクセス トークンのどちらかのサインインに対応します。ただし、SSO を強制する場合:

  • サービスアカウントのドメイン メールアドレスは、IdP 側でエイリアス解除して有効にしておく必要があります。
  • ユーザー名/パスワードとパーソナル アクセス トークンは引き続き機能します (ただし、それらが既存で存在する場合のみで、新規アカウントには存在しません)。
  • IdP の認証情報を知っている人は、Hub 上の SSO でそのサービスアカウントとしてサインインし、そのサービスアカウントのパーソナル アクセス トークンを作成または変更することができます。

ユーザー管理

Q: SSO を使用する際のユーザー管理はどのようにすれば良いですか?

ユーザーは Docker Hub の組織で管理されます。Docker で SSO を設定する際に、IdP アカウントに各ユーザーのアカウントが存在することを確認する必要があります。ユーザーが組織のドメインのメール アドレスを使用して Docker に初めてログインすると、認証後に自動的に組織に追加されます。

Q: ユーザーを手動で組織に追加する必要がありますか?

いいえ、Docker Hub でユーザーを手動で組織に追加する必要はありません。ユーザーのアカウントが IdP に存在することを確認してください。設定したドメインのメールアドレスを使ってユーザーが Docker Hub にサインインすると、自動的に組織に割り当てられます。

ユーザーが組織のドメインのメール アドレスを使用して Docker に初めてログインすると、認証後に自動的に組織に追加されます。

Q: 組織内のユーザーが異なるメール アドレスを使用して SSO 認証することはできますか?

SSO の設定時に、認証を許可する会社のメール ドメインを指定する必要があります。組織内のすべてのユーザーは、SSO の設定時に指定されたメール ドメインを使用して認証する必要があります。ユーザーの中には、個人プロジェクト用に別のアカウントを維持したい人もいるかもしれません。

パブリック ドメインのメール アドレスのユーザーはゲストとして追加されます。

Q: SSO が有効な場合に、ユーザーを自動的に追加するのではなく、Docker の組織オーナー/管理者がユーザーの組織への追加とシートの使用を承認するようにできますか?

現在、管理者と組織オーナーは、IdP で権限を設定してユーザーを承認できます。つまり、ユーザー アカウントが IdP で設定されている場合、利用可能なシートがある限り、ユーザーは Docker Hub の組織に自動的に追加されます。

Q: ユーザーは Docker の組織のメンバーになったことをどのようにして認識しますか?

SSO を有効にすると、次回ユーザーが Docker Hub や Docker Desktop にログインしようとすると、SSO を通して認証するように促されます。システムはエンドユーザーが Docker ID に関連付けられたドメイン メール アドレスで認証しようとしていることを検出して、代わりに SSO のメール アドレスと認証情報でログインするように促します。

CLI からログインする場合は、パーソナル アクセス トークン (PAT) を使用して認証する必要があります。

Q: Docker Desktop のユーザーに認証を強制したり、会社のドメインを使用して認証させることはできますか?

はい。管理者は、registry.json 設定ファイルをプロビジョニングすることで、Docker Desktop での認証をユーザーに強制できます。registry.json file ファイルallowedOrgs リストで設定されているユーザーとして認証することをユーザーに強制します。

Docker Hub 上の DB 組織で SSO を設定して、Docker Desktop で認証を強制すると、ユーザーはユーザー名とパスワードの代わりに、IdP を利用して SSO で認証するように強制されます。

ドメイン メール アドレス以外を使用して、組織の「ゲスト」アカウントとして認証することもできますが、これは組織オーナーがそのドメイン メール アドレスを組織に招待した場合にのみ可能です。

Q: 既存のユーザーを非 SSO から SSO アカウントに変換できますか?

はい、既存のユーザーを SSO アカウントに変換できます。非 SSO アカウントからユーザーを変換するには、以下を確認します。

  • ユーザーが会社のドメインのメール アドレスを保有しており、IdP にアカウントがあること。
  • すべてのユーザーのマシンに Docker Desktop バージョン 4.4.0 以降がインストールされていること。
  • Docker CLI からログインできるように、各ユーザーがパスワードの代わりに PAT を作成済みであること。
  • すべての CI/CD パイプライン オートメーション システムのパスワードを PAT に変更済みであること。

詳細な必要条件と SSO を有効にする手順は、「シングル サインオンの設定」を参照してください。

Q: SSO アカウントへ移行したらユーザーはどのような影響を受けますか?

SSO が有効になると、ユーザーはメール アドレスとパスワードを使用してログインするだけでよくなります。

Q: Docker SSO は Active Directory (AD) と完全に同期していますか?

Docker は現在、AD との完全な同期をサポートしていません。ユーザーが組織を離れる場合、管理者は Docker Hub にログインして、手動でユーザーを組織から削除する必要があります。

この作業は API を使用して行うこともできます。

Q: SSO なしで Docker Subscription をプロビジョニングする最善の方法は何ですか?

組織の Owners グループの管理者は、Docker Hub UI を通じて、メールアドレス (任意のユーザー) または Docker ID (ユーザーがすでに Hub 上にユーザーアカウントを作成している場合) によりユーザーを招待することができます。

Q: 初めてユーザーを手動で追加する場合、ダッシュボードで登録すれば、そのユーザーに招待リンクがメールで届きますか?

はい、ユーザーがメールアドレス経由で組織に追加された場合、招待メールが届きます。既存のユーザーとして Docker ID 経由で招待された場合は、自動的に組織に追加されます。近い将来、新しい招待フローを追加し、この状況でも (ユーザーがオプトアウトすることを選択できるように) メールアドレスによる招待を必須化する予定です。もし、その組織が後にドメインの SSO を設定した場合、次にサインインする際には ID プロバイダーとの SSO 認証が必要になり (Hub ログインが自動的に ID プロバイダーにリダイレクトされます) 、そのドメインを使用するユーザーは自動的に SSO 組織に追加されます。

Q: 誰かが招待状なしで組織に参加することはできますか? 既存のメールアカウントで特定のユーザーを組織に入れることは可能ですか?

SSO なしではできません。参加には Owners グループのメンバーからの招待が必要です。SSO が強制されると、SSO で確認されたドメインは、ドメインメールが割り当てられているユーザーとして次回サインインするときに、自動的に組織に参加することができます。

Q: ユーザーに招待状を送った場合、既存のアカウントは統合されて保持されるのでしょうか?

はい、既存のユーザーアカウントは、すべてのアセットを保持したまま組織に参加されます。

Q: ユーザーの複数のメールアドレスを表示、更新、削除するにはどうすればよいですか?

Docker プラットフォームでは、1 ユーザーにつき 1 つのメールアドレスのみをサポートしています。

Q: 組織へサインインしていない招待者を削除するにはどうすればいいですか?

組織ビューの招待者リストに移動して、削除することができます。

Q: サービスアカウント認証のフローは、UI ユーザーアカウントとどう違うのですか?

製品上、両者を区別していません。