シングルサインオン(SSO)接続の作成
シングルサインオン(SSO)接続を作成するには、まず Docker 側で接続を設定し、その後アイデンティティプロバイダー(IdP)側で設定を行う必要があります。このガイドでは、Docker と IdP で SSO 接続を設定する手順を説明します。
このガイドでは、Docker と IdP の両方で値をコピー&ペーストする必要があります。スムーズに接続を完了させるために、すべての手順を 1 回のセッションで実施 し、Docker と IdP のブラウザを 別々に開いておく ことを推奨します。
前提条件
開始する前に、以下の要件を満たしていることを確認してください:
-
ドメインの検証が完了している
-
IdP のアカウントが設定されている
-
シングルサインオンの設定 の手順を完了している
ステップ 1: Docker で SSO 接続を作成する
Docker で SSO 接続を作成する前に、少なくとも 1 つのドメインを検証する必要があります。
Admin Console
-
Admin Console にサインインします。
-
Choose profile ページで、Organization または Company を選択します。Organization が Company の一部である場合は、Company を選択し、Company レベルで Organization のドメインを設定する必要があります。
-
Security and access の SSO and SCIM を選択します。
-
Create Connection を選択し、接続名を入力します。
-
認証方法として SAML または Azure AD(OIDC) を選択します。
-
IdP に追加するために、以下の値をコピーします:
- Okta SAML: Entity ID, ACS URL
- Azure OIDC: Redirect URL
-
このウィンドウは閉じずに、後で IdP からの接続情報を貼り付けるために開いたままにしてください。
ステップ 2: IdP で SSO 接続を作成する
使用する IdP によって手順が異なります。以下のガイドを参考にしてください。
Okta SAML
-
Okta アカウントにサインインします。
-
Admin を選択し、Okta 管理ポータルを開きます。
-
左側のナビゲーションメニューから Administration を選択します。
-
Administration を選択し、Create App Integration をクリックします。
-
SAML 2.0 を選択し、Next をクリックします。
-
App Name に「Docker Hub」と入力します。
-
(オプション)ロゴをアップロードします。
-
Next をクリックします。
-
以下の Docker の値を Okta の対応するフィールドに入力します:
- Docker ACS URL: Single Sign On URL
- Docker Entity ID: Audience URI(SP Entity ID)
-
Okta の設定を以下のように構成します:
- Name ID format:
EmailAddress
- Application username:
Email
- Update application on:
Create and update
- Name ID format:
-
Next をクリックします。
-
This is an internal app that we have created にチェックを入れます。
-
Finish をクリックします。
ステップ 3: Docker と IdP を接続する
Docker と IdP で接続の設定を完了した後、それらを相互に接続して SSO 接続を完了します。
Okta SAML
-
Okta で作成したアプリを開き、View SAML setup instructions を選択します。
-
Okta の SAML 設定ページから以下の値をコピーします:
- SAML Sign-in URL
- x509 Certificate
-
Docker Hub または Admin Console を開きます(このガイドのステップ 1 で開いた SSO 設定ページはそのまま開いておいてください)。
-
Next を選択し、Update single-sign on connection ページを開きます。
-
Docker に Okta の SAML Sign-in URL と x509 Certificate の値を貼り付けます。
-
Next を選択します。
-
(オプション)デフォルトのチームを選択し、Next を選択します。
-
SSO 接続の詳細を確認し、Create Connection を選択します。
ステップ 4: 接続をテストする
Docker で SSO 接続を完了したら、テストを行うことを推奨します。
-
シークレットモード(Incognito)のブラウザを開きます。
-
ドメインのメールアドレス を使用して Admin Console にサインインします。
-
ブラウザが IdP のログインページにリダイレクトされるので、認証を行います。
-
Docker ID ではなく、ドメインのメールアドレスで認証できることを確認します。
また、コマンドラインインターフェース(CLI)を使用して SSO 接続をテストすることもできます。CLI でテストを行う場合、ユーザーは パーソナルアクセストークン(PAT) を使用する必要があります。
(オプション)SSO の強制適用
SSO を強制しない場合、ユーザーは Docker のユーザー名とパスワード、または SSO のどちらでもサインインできます。
SSO を強制適用すると、すべてのユーザーが SSO を使用して Docker にサインインする必要があります。これにより、認証が一元化され、IdP に設定されたポリシーが適用されます。
-
Admin Console にサインインします。
-
Choose profile ページで Organization または企業を選択します。Organization が企業の一部である場合は、企業を選択し、企業レベルで Organization のドメインを設定する必要があります。
-
Security and access の SSO and SCIM を選択します。
-
SSO connections テーブルで Action アイコンをクリックし、Enable enforcement を選択します。
- SSO が強制適用されると、ユーザーはメールアドレスやパスワードの変更、ユーザーアカウントの Organization への変換、Docker Hub での 2FA の設定ができなくなります。
- 2FA を使用する場合は、IdP 側で 2FA を有効化する必要があります。
-
画面の指示に従い、すべてのタスクを完了したことを確認します。
-
Turn on enforcement を選択し、完了します。
これにより、すべてのユーザーが Docker へのサインイン時に SSO を使用するようになります。
SSO が強制適用されると、ユーザーはパスワードを使用して Docker CLI にサインインできなくなります 。CLI で認証を行うには、パーソナルアクセストークン(PAT) を使用する必要があります。
追加リソース
以下の動画では、SSO の強制適用方法を解説しています。