Skip to Content

シングルサインオン(SSO)接続の作成

シングルサインオン(SSO)接続を作成するには、まず Docker 側で接続を設定し、その後アイデンティティプロバイダー(IdP)側で設定を行う必要があります。このガイドでは、Docker と IdP で SSO 接続を設定する手順を説明します。

💡
Tip

このガイドでは、Docker と IdP の両方で値をコピー&ペーストする必要があります。スムーズに接続を完了させるために、すべての手順を 1 回のセッションで実施 し、Docker と IdP のブラウザを 別々に開いておく ことを推奨します。

前提条件

開始する前に、以下の要件を満たしていることを確認してください:

ステップ 1: Docker で SSO 接続を作成する

Note

Docker で SSO 接続を作成する前に、少なくとも 1 つのドメインを検証する必要があります。

  1. Admin Console にサインインします。

  2. Choose profile ページで、Organization または Company を選択します。Organization が Company の一部である場合は、Company を選択し、Company レベルで Organization のドメインを設定する必要があります。

  3. Security and accessSSO and SCIM を選択します。

  4. Create Connection を選択し、接続名を入力します。

  5. 認証方法として SAML または Azure AD(OIDC) を選択します。

  6. IdP に追加するために、以下の値をコピーします:

    • Okta SAML: Entity ID, ACS URL
    • Azure OIDC: Redirect URL
  7. このウィンドウは閉じずに、後で IdP からの接続情報を貼り付けるために開いたままにしてください。

ステップ 2: IdP で SSO 接続を作成する

使用する IdP によって手順が異なります。以下のガイドを参考にしてください。

  1. Okta アカウントにサインインします。

  2. Admin を選択し、Okta 管理ポータルを開きます。

  3. 左側のナビゲーションメニューから Administration を選択します。

  4. Administration を選択し、Create App Integration をクリックします。

  5. SAML 2.0 を選択し、Next をクリックします。

  6. App Name に「Docker Hub」と入力します。

  7. (オプション)ロゴをアップロードします。

  8. Next をクリックします。

  9. 以下の Docker の値を Okta の対応するフィールドに入力します:

    • Docker ACS URL: Single Sign On URL
    • Docker Entity ID: Audience URI(SP Entity ID)
  10. Okta の設定を以下のように構成します:

    • Name ID format: EmailAddress
    • Application username: Email
    • Update application on: Create and update
  11. Next をクリックします。

  12. This is an internal app that we have created にチェックを入れます。

  13. Finish をクリックします。

ステップ 3: Docker と IdP を接続する

Docker と IdP で接続の設定を完了した後、それらを相互に接続して SSO 接続を完了します。

  1. Okta で作成したアプリを開き、View SAML setup instructions を選択します。

  2. Okta の SAML 設定ページから以下の値をコピーします:

    • SAML Sign-in URL
    • x509 Certificate
  3. Docker Hub または Admin Console を開きます(このガイドのステップ 1 で開いた SSO 設定ページはそのまま開いておいてください)。

  4. Next を選択し、Update single-sign on connection ページを開きます。

  5. Docker に Okta の SAML Sign-in URLx509 Certificate の値を貼り付けます。

  6. Next を選択します。

  7. (オプション)デフォルトのチームを選択し、Next を選択します。

  8. SSO 接続の詳細を確認し、Create Connection を選択します。

ステップ 4: 接続をテストする

Docker で SSO 接続を完了したら、テストを行うことを推奨します。

  1. シークレットモード(Incognito)のブラウザを開きます。

  2. ドメインのメールアドレス を使用して Admin Console にサインインします。

  3. ブラウザが IdP のログインページにリダイレクトされるので、認証を行います。

  4. Docker ID ではなく、ドメインのメールアドレスで認証できることを確認します。

また、コマンドラインインターフェース(CLI)を使用して SSO 接続をテストすることもできます。CLI でテストを行う場合、ユーザーは パーソナルアクセストークン(PAT) を使用する必要があります。

(オプション)SSO の強制適用

🚫
Important

SSO を強制しない場合、ユーザーは Docker のユーザー名とパスワード、または SSO のどちらでもサインインできます。

SSO を強制適用すると、すべてのユーザーが SSO を使用して Docker にサインインする必要があります。これにより、認証が一元化され、IdP に設定されたポリシーが適用されます。

  1. Admin Console にサインインします。

  2. Choose profile ページで Organization または企業を選択します。Organization が企業の一部である場合は、企業を選択し、企業レベルで Organization のドメインを設定する必要があります。

  3. Security and accessSSO and SCIM を選択します。

  4. SSO connections テーブルで Action アイコンをクリックし、Enable enforcement を選択します。

    • SSO が強制適用されると、ユーザーはメールアドレスやパスワードの変更、ユーザーアカウントの Organization への変換、Docker Hub での 2FA の設定ができなくなります。
    • 2FA を使用する場合は、IdP 側で 2FA を有効化する必要があります。
  5. 画面の指示に従い、すべてのタスクを完了したことを確認します。

  6. Turn on enforcement を選択し、完了します。

これにより、すべてのユーザーが Docker へのサインイン時に SSO を使用するようになります。

Note

SSO が強制適用されると、ユーザーはパスワードを使用して Docker CLI にサインインできなくなります。CLI で認証を行うには、パーソナルアクセストークン(PAT) を使用する必要があります。

追加リソース

以下の動画では、SSO の強制適用方法を解説しています。

次に何をすべきか?

Last updated on