Docker SSO は Docker Business サブスクリプションでのみ利用できます。既存のサブスクリプションをアップグレードして Docker SSO の使用を開始してください。
Docker シングル サインオン (SSO) は、ID プロバイダー (IdP) を使用した Docker へのアクセス認証を可能にします。Docker では現在、Azure AD と SAML 2.0 をサポートする ID プロバイダーをサポートしています。SSO を有効にすると、ユーザーはメール アドレスとパスワードを使用して認証するため、ID プロバイダーの認証ページにリダイレクトされます。
Docker では現在、サービス プロバイダー主導型 (SP-initiated) SSO フローをサポートしています。つまり、ユーザーは Docker Hub または Docker Desktop にログインして、SSO 認証プロセスを開始する必要があります。
まずはじめに、ID プロバイダーと SSO 接続を確立する必要があります。また、ユーザーに対して SSO を実施する前に、会社の電子メールドメインを検証する必要があります。Docker SSO の設定方法に関する詳細な手順については、「シングル サインオンの設定」を参照してください。
組織で SSO を使用している場合、MFA は Docker システムではなく idP レベルで決定されます。
はい、組織内のすべてのユーザーが Docker Desktop バージョン 4.4.0 以降にアップグレードする必要があります。古いバージョンの Docker Desktop を使用しているユーザーは、企業ドメイン メールアドレスがログインに使用されている、または既存の Docker アカウントにプライマリ メールアドレスとして紐づけられている場合、SSO 実施後にログインできなくなります。既存のアカウントを持つユーザーは、そのユーザー名とパスワードでログインすることはできません。
SAMLで認証するには、属性としてメール アドレスを指定する必要があります。「Name」属性は現在オプションです。
望ましい形式はメールアドレスとなり、これは Name ID でもあるはずです。
組織への認証を要求するように設定されている場合は、Docker Desktop の実行時にログインの追跡が必要です。
現在のところ、猶予期間が終了する時期は未定です。
ユーザーが Docker Desktop の最新版をダウンロードしていることを確認してください。近い将来、ユーザー管理の観測可能性と機能を強化する予定です。
個人用の Docker ID では、ユーザー自身がアカウントの所有者であり、ユーザーのリポジトリ、イメージ、アセットへのアクセスに関連付けられます。エンドユーザーは Docker アカウントに企業ドメイン メールアドレスを持つことを選択でき、SSO が実施されたとき、アカウントは組織アカウントに結びつきます。または、SSO が企業組織に対して実施された場合、認証済みの企業ドメイン メールアドレスを使用して既存のアカウントなしでログインするすべてのユーザーは、自動的にアカウントがプロビジョニングされ、新しい Docker ID が作成されます。
ネームスペースの状態によりますが、Docker Organization ID に商標クレームが存在する場合は、法的審査のための手動フローが必要です。
複数の組織や 1 つの組織の下に複数のチームを作成することができます。SSO を実施する場合、現時点では、SSO は単一の ID プロバイダーを持つ単一の組織に対してのみ利用可能です。
現在、そのような環境のサポートには制限があります。SSO を実施する予定で、メールドメインが 1 つしかない場合は、同じ組織の下に異なるチームを設定することをお勧めします。
いいえ、Docker SSO は 1 つの IdP でのみ動作するように設定できます。ドメインは 1 つの IdP にのみ関連付けることができます。Docker では現在、Azure AD と SAML 2.0 をサポートする ID プロバイダーをサポートしています。
はい。Docker Hub で既存の IdP を削除してから、新しい IdP で SSO を設定します。すでに SSO ログイン強制をオンにしている場合は、プロバイダーの SSO 接続を更新する前に強制をオフにする必要があります。
Docker で SSO を有効にするには、IdP から以下の情報が必要になります。
既存の証明書の期限が切れた場合、ID プロバイダーに連絡して、新しい x509 証明書を生成してもらう必要があります。新しい証明書は、Docker Hub の SSO 設定ページに追加します。
IdP がダウンした場合、Docker Hub にアクセスすることはできません。ただし、パーソナル アクセス トークンを使用して CLI から Docker Hub イメージにアクセスすることはできます。または、SSO 実施前に既存のアカウントを保有していた場合は、組織の猶予期間中にユーザー名とパスワードを使用して Docker Hub イメージにアクセスできます。
SSO を無効にすると、Docker にアクセスするため ID プロバイダー経由の認証が不要になります。ユーザーは引き続きシングル サインオン、または Docker ID とパスワードでログインできます。
IdP にボット アカウントを追加し、専用のアクセス トークンを作成することで、他のクレデンシャルを置き換えることができます。
Docker の SSO 実装はすでに 「ジャストインタイム (JIT)」 です。管理者は Hub 上でユーザーのアカウントを作成する必要はなく、IdP 上で有効化し、ユーザーは Hub 上のドメイン メール経由でログインできます。
現時点では、IdP-initiated ログインをサポートする予定はございません。
はい、一般的にボット アカウントは、通常のエンド ユーザーと同様に、IdP で有効な非エイリアス ドメインのメールを持ち、Hub でシートを消費します。
はい、Azure AD は、直接の統合と SAML 経由の両方で、Docker Business の SSO に対応しています。
SSO にサブドメインを追加することはできますが、すべてのメールアドレスはそのドメイン上にある必要があります。お使いの DNS プロバイダーが、同じドメインに対して複数の txt フィールドをサポートしていることを確認してください。
接続に追加するために一度だけ行うことは可能です。IdP を変更し、SSO を再度セットアップする必要がある場合は、再度検証が必要になります。
SSO を有効にし、実施するためには、ドメインの追加と確認が必要です。ドメインの追加をクリックし、サーバー経由での認証を許可するメール ドメインを指定します。これには、ユーザーが Docker にアクセスするために使用するすべてのメール ドメインが含まれている必要があります。gmail.com、outlook.com など、パブリック ドメインは許可されません。また、メール ドメインはプライマリ メールとして設定する必要があります。
いいえ。ただし、1つの Docker ID に複数の電子メールを追加することは可能です。しかし、そのメールアドレスは Docker 全体で 1度しか使用できません。もう一つ注意点として、(2022年 1月現在) SSO は MVP としてマルチ ドメインでは機能せず、個人メールでも機能しません。
Docker Desktop で組織への認証が必要な設定をしている場合は、Docker Desktop のランタイムとなります。
IdP-Initiated の認証には対応していません。ユーザーは Docker Desktop または Hub からログインを開始する必要があります。
SSO は、Docker Business サブスクリプションを利用している組織で有効にできます。
Docker SSO は Docker Business サブスクリプションで利用できます。SSO を有効にするには、Docker Business サブスクリプションにアップグレードする必要があります。
SSO が有効な場合、サービス アカウントはほかのユーザーと同様に動作します。サービス アカウントが SSO が有効なドメインのメールを使用している場合、CLI と API の使用には PAT が必要です。
はい。SSO 接続で使用する前に、ドメインを確認する必要があります。
はい。SSO が有効な場合、パーソナル アクセス トークン (PAT) を利用して Docker CLI にアクセスできます。各ユーザーは、CLI にアクセスするため PAT を作成する必要があります。PAT の作成方法は、「アクセス トークンの管理」を参照してください。PAT への移行期間として、CI/CD の中断リスクを軽減するため、2022 年の初めまで引き続き CLI から個人証明書を使用してログインできます。
SSO を実施する前に、オートメーション システムと CI/CD パイプラインの PAT を作成して、パスワードの代わりに使用する必要があります。
SSO を実施すると、オートメーション システムや CI/CD パイプラインでパスワードによる認証は動作しなくなります。
もし、すでに企業メールがアカウントに紐づけされている場合は、そのまま SSO に移行されます。
SSO の強制は、ドメイン メールのユーザーに適用され、SSO を強制にしている組織に、そのユーザーを自動的に追加します。管理者は手動でユーザーを組織から削除することができますが、SSO が強制された場合、削除されたユーザーは認証することができなくなります。
はい、強制しないように選択することができます。また、ユーザーはサインイン画面で Docker ID でのサインイン、または企業メールアドレス (SSO) を使用したサインインのいずれかを使用するオプションがあります。
ログインに使用しているメールアドレスが、SSO が強制されたときに使用されている企業メールと一致しない場合、そのユーザーは SSO をバイパスすることができます。
はい、テスト組織を作成することができます。企業は、新しい組織に 5 シートの Business プランを設定してテストすることができます (SSO を有効にするだけで、それを強制しないように注意してください。強制した場合、指定したすべてのドメインのメールユーザーがそのテスト テナントにサインインするよう強制されてしまいます)。
SSO が有効化されても、今のところ影響はありません。引き続き、ユーザー名/パスワード、またはパーソナル アクセス トークンのどちらかのサインインに対応します。ただし、SSO を強制する場合:
ユーザーは Docker Hub の組織で管理されます。Docker で SSO を設定する際に、IdP アカウントに各ユーザーのアカウントが存在することを確認する必要があります。ユーザーが組織のドメインのメール アドレスを使用して Docker に初めてログインすると、認証後に自動的に組織に追加されます。
いいえ、Docker Hub でユーザーを手動で組織に追加する必要はありません。ユーザーのアカウントが IdP に存在することを確認してください。設定したドメインのメールアドレスを使ってユーザーが Docker Hub にサインインすると、自動的に組織に割り当てられます。
ユーザーが組織のドメインのメール アドレスを使用して Docker に初めてログインすると、認証後に自動的に組織に追加されます。
SSO の設定時に、認証を許可する会社のメール ドメインを指定する必要があります。組織内のすべてのユーザーは、SSO の設定時に指定されたメール ドメインを使用して認証する必要があります。ユーザーの中には、個人プロジェクト用に別のアカウントを維持したい人もいるかもしれません。
パブリック ドメインのメール アドレスのユーザーはゲストとして追加されます。
現在、管理者と組織オーナーは、IdP で権限を設定してユーザーを承認できます。つまり、ユーザー アカウントが IdP で設定されている場合、利用可能なシートがある限り、ユーザーは Docker Hub の組織に自動的に追加されます。
SSO を有効にすると、次回ユーザーが Docker Hub や Docker Desktop にログインしようとすると、SSO を通して認証するように促されます。システムはエンドユーザーが Docker ID に関連付けられたドメイン メール アドレスで認証しようとしていることを検出して、代わりに SSO のメール アドレスと認証情報でログインするように促します。
CLI からログインする場合は、パーソナル アクセス トークン (PAT) を使用して認証する必要があります。
はい。管理者は、registry.json 設定ファイルをプロビジョニングすることで、Docker Desktop での認証をユーザーに強制できます。registry.json file ファイルの allowedOrgs リストで設定されているユーザーとして認証することをユーザーに強制します。
Docker Hub 上の DB 組織で SSO を設定して、Docker Desktop で認証を強制すると、ユーザーはユーザー名とパスワードの代わりに、IdP を利用して SSO で認証するように強制されます。
ドメイン メール アドレス以外を使用して、組織の「ゲスト」アカウントとして認証することもできますが、これは組織オーナーがそのドメイン メール アドレスを組織に招待した場合にのみ可能です。
はい、既存のユーザーを SSO アカウントに変換できます。非 SSO アカウントからユーザーを変換するには、以下を確認します。
詳細な必要条件と SSO を有効にする手順は、「シングル サインオンの設定」を参照してください。
SSO が有効になると、ユーザーはメール アドレスとパスワードを使用してログインするだけでよくなります。
Docker は現在、AD との完全な同期をサポートしていません。ユーザーが組織を離れる場合、管理者は Docker Hub にログインして、手動でユーザーを組織から削除する必要があります。
この作業は API を使用して行うこともできます。
組織の Owners グループの管理者は、Docker Hub UI を通じて、メールアドレス (任意のユーザー) または Docker ID (ユーザーがすでに Hub 上にユーザーアカウントを作成している場合) によりユーザーを招待することができます。
はい、ユーザーがメールアドレス経由で組織に追加された場合、招待メールが届きます。既存のユーザーとして Docker ID 経由で招待された場合は、自動的に組織に追加されます。近い将来、新しい招待フローを追加し、この状況でも (ユーザーがオプトアウトすることを選択できるように) メールアドレスによる招待を必須化する予定です。もし、その組織が後にドメインの SSO を設定した場合、次にサインインする際には ID プロバイダーとの SSO 認証が必要になり (Hub ログインが自動的に ID プロバイダーにリダイレクトされます) 、そのドメインを使用するユーザーは自動的に SSO 組織に追加されます。
SSO なしではできません。参加には Owners グループのメンバーからの招待が必要です。SSO が強制されると、SSO で確認されたドメインは、ドメインメールが割り当てられているユーザーとして次回サインインするときに、自動的に組織に参加することができます。
はい、既存のユーザーアカウントは、すべてのアセットを保持したまま組織に参加されます。
Docker プラットフォームでは、1 ユーザーにつき 1 つのメールアドレスのみをサポートしています。
組織ビューの招待者リストに移動して、削除することができます。
製品上、両者を区別していません。