Microsoft Entra SSO と Docker の統合

このチュートリアルでは、Docker と Microsoft Entra ID を統合する方法について説明します。 Docker と Microsoft Entra ID を統合すると、次のことができます。

  • Docker にアクセスできるユーザーを Microsoft Entra ID で制御する。
  • ユーザーが自分の Microsoft Entra アカウントを使って Docker に自動的にサインインできるようにする。
  • 1 つの場所でアカウントを管理します。

前提条件

Microsoft Entra ID を Docker と統合するには、以下が必要です。

  • Microsoft Entra サブスクリプション。 サブスクリプションがない場合は、無料アカウントを取得できます。
  • Docker の Business サブスクリプション。

シナリオの説明

このチュートリアルでは、テスト環境で Microsoft Entra の SSO を構成してテストします。

  • Docker では、SP Initiated SSO のみがサポートされます。
  • Docker では、Just-In-Time ユーザー プロビジョニングがサポートされます。

Microsoft Entra ID への Docker の統合を構成するには、ギャラリーからマネージド SaaS アプリのリストに Docker を追加する必要があります。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[新しいアプリケーション] に移動します。
  3. [ギャラリーから追加する] セクションで、検索ボックスに「Docker」と入力します。
  4. 結果パネルから [Docker] を選び、アプリを追加します。 お使いのテナントにアプリが追加されるのを数秒待機します。

または、Enterprise App Configuration ウィザードを使用することもできます。 このウィザードでは、テナントへのアプリケーションの追加、アプリへのユーザーとグループの追加、ロールの割り当てができるほか、SSO の構成も行うことができます。 Microsoft 365 ウィザードの詳細をご覧ください。

Docker 用に Microsoft Entra SSO を構成してテストする

B.Simon というテスト ユーザーを使用して、Docker に対する Microsoft Entra SSO を構成してテストします。 SSO が機能するためには、Microsoft Entra ユーザーと Docker の関連するユーザーとの間にリンク関係を確立する必要があります。

Docker に対して Microsoft Entra SSO を構成してテストするには、次の手順を実行します。

  1. Microsoft Entra SSO を構成する - ユーザーがこの機能を使用できるようにします。
    1. Microsoft Entra のテスト ユーザーの作成 - B.Simon を使用して Microsoft Entra シングル サインオンをテストします。
    2. Microsoft Entra テスト ユーザーを割り当てる - B.Simon が Microsoft Entra シングル サインオンを使用できるようにします。
  2. Docker SSO を構成する - アプリケーション側でシングル サインオン設定を構成します。
    1. Docker のテスト ユーザーを作成する - Docker で B.Simon に対応するユーザーを作成し、Microsoft Entra ID のそのユーザーにリンクします。
  3. SSO のテスト - 構成が機能するかどうかを確認します。

Microsoft Entra SSO の構成

以下の手順に従って Microsoft Entra 管理センターで Microsoft Entra SSO を有効にします。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。

  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[Docker]>[シングル サインオン] に移動します。

  3. [シングル サインオン方式の選択] ページで、 [SAML] を選択します。

  4. [SAML によるシングル サインオンのセットアップ] ページで、 [基本的な SAML 構成] の鉛筆アイコンをクリックして設定を編集します。

    基本的な SAML 構成を編集する方法を示すスクリーンショット。

  5. [基本的な SAML 構成] セクションで、次の手順を実行します。

    a. [識別子 (エンティティ ID)] ボックスに、次のパターンを使用して値を入力します。urn:auth0:docker-prod:<Docker_SsoID>

    b. [応答 URL] ボックスに、https://login.docker.com/login/callback?connection=<Docker_SsoID> のパターンを使用して URL を入力します

    c. [サインオン URL] ボックスに、次のパターンを使用して URL を入力します。https://hub.docker.com/auth/start?connection=<Docker_SsoID>

    注意

    これらは実際の値ではありません。 これらの値は、実際の識別子、応答 URL、サインオン URL で更新してください。 これらの値は、Docker SSO の構成時に取得されます。 Microsoft Entra 管理センターの [基本的な SAML 構成] セクションに示されているパターンを参照することもできます。

  6. Docker アプリケーションは、一意のユーザー ID が user.userprincipalname ではなくメール アドレス (user.mail) にマップされることを想定しています。また、Docker アプリにユーザーのフル ネームを同期する givennamesurname もサポートしています。 次のスクリーンショットには、既定の属性一覧が示されています。

    属性の画像を示すスクリーンショット。

    Note

    アプリケーションの要件に従って、Entra ポータルの上記の既定の属性から nameemailaddress を手動で削除してください。

  7. 上記に加えて、次に示すように、Docker アプリケーションは、SAML 応答で返される省略可能な属性をサポートしています。 これらの属性を追加すると、特定のチーム内のユーザーのプロビジョニングと、それらの Docker 組織内でのロールを管理できます。 Docker SSO がサポートするすべての属性の詳細については、Docker SSO のドキュメントを参照してください。

    要求名 名前空間 ソース属性
    dockerOrg <empty> Docker 組織名
    dockerTeam <empty> Docker チーム名
    dockerRole <empty> 組織のユーザー ロール。 使用できる値: "owner"、"editor"、"member"。

    Note

    組織がユーザーを複数のチームに分けて管理する必要がある場合は、グループ要求を有効にすることもできます。 Docker SSO グループ管理の詳細については、ここをクリックしてください。

  8. [SAML でシングル サインオンをセットアップします] ページの [SAML 署名証明書] セクションで、 [証明書 (Base64)] を見つけて、 [ダウンロード] を選択し、証明書をダウンロードして、お使いのコンピューターに保存します。

    証明書のダウンロード リンクを示すスクリーンショット。

  9. [Docker のセットアップ] セクションで、要件に基づいて該当の URL をコピーします。

    構成の URL をコピーする方法を示すスクリーンショット。

Microsoft Entra テスト ユーザーを作成する

このセクションでは、Microsoft Entra 管理センターで B.Simon というテスト ユーザーを作成します。

  1. Microsoft Entra 管理センターユーザー管理者以上でサインインしてください。
  2. [ID]>[ユーザー]>[すべてのユーザー] の順に移動します。
  3. 画面の上部で [新しいユーザー]>[新しいユーザーの作成] を選択します。
  4. [ユーザー] プロパティで、以下の手順を実行します。
    1. "表示名" フィールドに「B.Simon」と入力します。
    2. [ユーザー プリンシパル名] フィールドに「username@companydomain.extension」と入力します。 たとえば、「 B.Simon@contoso.com 」のように入力します。
    3. [パスワードを表示] チェック ボックスをオンにし、 [パスワード] ボックスに表示された値を書き留めます。
    4. [Review + create](レビュー + 作成) を選択します。
  5. [作成] を選択します。

Microsoft Entra テスト ユーザーを割り当てる

このセクションでは、B.Simon に Docker へのアクセスを許可することで、このユーザーが Microsoft Entra シングル サインオンを使用できるようにします。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[Docker] に移動します。
  3. アプリの概要ページで、[ユーザーとグループ] を選択します。
  4. [ユーザーまたはグループの追加] を選択し、 [割り当ての追加] ダイアログで [ユーザーとグループ] を選択します。
    1. [ユーザーとグループ] ダイアログの [ユーザー] の一覧から [B.Simon] を選択し、画面の下部にある [選択] ボタンをクリックします。
    2. ユーザーにロールが割り当てられることが想定される場合は、 [ロールの選択] ドロップダウンからそれを選択できます。 このアプリに対してロールが設定されていない場合は、[既定のアクセス] ロールが選択されていることを確認します。
    3. [割り当ての追加] ダイアログで、 [割り当て] をクリックします。

Docker SSO を構成する

  1. Docker 企業サイトに管理者としてログインします。

  2. 左側のドロップダウン メニューから組織または会社を選び、[SSO & SCIM] をクリックします。

  3. SSO 接続テーブルで、[Create Connection] を選び、接続の名前を作成します。

    Note

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

  4. 認証方法として [SAML] を選び、以下の手順を実行します。

    構成を示すスクリーンショット。

    1. [Entity ID] の値をコピーし、この値を Microsoft Entra 管理センターの [基本的な SAML 構成] セクションの [識別子 (エンティティ ID)] テキスト ボックスに貼り付けます。

    2. [ACS URL] の値をコピーし、Microsoft Entra 管理センターの [基本的な SAML 構成] セクションの [応答 URL] テキスト ボックスにこの値を貼り付けます。

    3. [SAML Sign-On URL] テキスト ボックス内に、Microsoft Entra 管理センターからコピーした [ログイン URL] の値を貼り付けます。

    4. ダウンロードした証明書 (Base64) をメモ帳で開き、その内容を [Key x509 Certificate] テキストボックスに貼り付けます。

    5. [Next] をクリックし、[Save Connection] をクリックします。

Docker のテスト ユーザーを作成する

このセクションでは、Britta Simon というユーザーを Docker に作成します。 Docker では、Just-In-Time ユーザー プロビジョニングがサポートされています。この設定は既定で有効になっています。 このセクションでは、ユーザー側で必要な操作はありません。 Docker にユーザーがまだ存在していない場合は、認証後に新規に作成されます。

SSO のテスト

このセクションでは、次のオプションを使用して Microsoft Entra のシングル サインオン構成をテストします。

  • Microsoft Entra 管理センターで [このアプリケーションをテストします] をクリックします。 これにより、ログイン フローを開始できる Docker のサインオン URL にリダイレクトされます。

  • Docker のサインオン URL に直接移動し、そこからログイン フローを開始します。

  • Microsoft マイ アプリを使用することができます。 マイ アプリで [Docker] タイルをクリックすると、Docker のサインオン URL にリダイレクトされます。 マイ アプリの詳細については、「マイ アプリの概要」を参照してください。

次のステップ

Docker を構成したら、組織の機密データを流出と侵入からリアルタイムで保護するセッション コントロールを適用できます。 セッション制御は、条件付きアクセスを拡張したものです。 Microsoft Defender for Cloud Apps でセッション制御を強制する方法をご覧ください。