次の方法で共有


外部テナントにアプリを登録する

適用対象: 灰色の X 記号がある白い円。 従業員テナント 内側に白いチェック マーク記号がある緑の円。 外部テナント (詳細情報)

Microsoft Entra 外部 ID を使用すると、組織は顧客の ID を管理し、公開されているアプリケーションと API へのアクセスを安全に制御できます。 顧客が製品を購入したり、サービスに登録したり、アカウントやデータにアクセスしたりできるアプリケーション。 顧客は、デバイスまたは Web ブラウザーに 1 回サインインするだけで、アクセス許可が付与されたすべてのアプリケーションにアクセスできます。

アプリケーションが外部 ID でサインインできるようにするには、外部 ID でアプリを登録する必要があります。 アプリの登録によって、アプリと外部 ID の間に信頼関係が確立されます。 アプリの登録時に、"リダイレクト URI" を指定します。 リダイレクト URI は、ユーザーが認証を行った後、外部 ID によってリダイレクトされるエンドポイントです。 アプリ登録プロセスは、アプリを一意に識別するアプリケーション ID (またはクライアント ID として知られています) を生成します。

外部 ID では、Web アプリやシングルページ アプリなど、さまざまな最新のアプリケーション アーキテクチャの認証がサポートされています。 外部テナントとの相互作用はアプリケーションの種類によって異なるため、登録するアプリケーションの種類を指定する必要があります。

この記事では、外部テナントにアプリケーションを登録する方法について説明します。

前提条件

アプリの種類を選択する

シングルページ アプリを登録する

外部 ID では、シングルページ アプリ (SPA) の認証がサポートされます。

以下の手順は Microsoft Entra 管理センターでアプリを登録する方法を示しています。

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

  2. 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコン を使用し、[ディレクトリとサブスクリプション] メニューから外部テナントに切り替えます。

  3. [ID]>[アプリケーション]>[アプリの登録] を参照します。

  4. [+ 新規登録] を選択します。

  5. 表示される [アプリケーションの登録] ページで、アプリケーションの登録情報を入力します。

    1. [名前] セクションで、アプリのユーザーに表示されるわかりやすいアプリケーション名を入力します (例: ciam-client-app)。

    2. [サポートされているアカウントの種類] で、 [この組織のディレクトリ内のアカウントのみ] を選択します。

    3. [リダイレクト URI (省略可能)] で、[シングルページ アプリケーション (SPA)] を選択し、URL ボックスに「http://localhost:3000/」と入力します。

  6. [登録] を選択します。

  7. 登録が完了すると、アプリケーションの [概要] ペインが表示されます。 アプリケーションのソース コードで使用するディレクトリ (テナント) IDアプリケーション (クライアント) ID を記録します。

リダイレクト URI について

リダイレクト URI とは、承認サーバー (この場合は Microsoft Entra ID) がユーザーとのやり取りを完了した後にそのユーザーを送信する、または承認が成功したときにアクセス トークンや認証コードが送信されるエンドポイントです。

実稼働アプリケーションでは、通常は https://contoso.com/auth-response などの、お使いのアプリが実行されているパブリック アクセスが可能なエンドポイントです。

アプリの開発時には、お使いのアプリケーションがローカルでリッスンする http://localhost:3000. などのエンドポイントを追加する場合があります。 お使いの登録済みアプリケーションでは、いつでもリダイレクト URI を追加したり、変更したりすることができます。

リダイレクト URI には、次の制限があります。

  • localhost リダイレクト URL を使用しない場合、応答 URL はスキーム https で始まる必要があります。

  • 応答 URL では大文字と小文字が区別されます。 大文字と小文字の区別は、実行中のアプリケーションの URL パスの場合と一致している必要があります。 たとえば、ご利用のアプリケーションがそのパス .../abc/response-oidc の一部として含まれている場合は、応答 URL 内では .../ABC/response-oidc と指定しないでください。 Web ブラウザーでは大文字と小文字を区別を区別するものとしてパスが処理されるため、.../abc/response-oidc に関連付けられている cookie は、大文字と小文字が一致しない .../ABC/response-oidc URL にリダイレクトされた場合に除外される可能性があります。

  • 応答 URL では、アプリケーションで想定されているように、末尾のスラッシュを含めるか除外する必要があります。 たとえば、https://contoso.com/auth-responsehttps://contoso.com/auth-response/ は、アプリケーションで一致しない URL として扱われる場合があります。

アプリケーションを登録すると、それに User.Read アクセス許可が割り当てられます。 ただし、テナントが外部テナントであるため、顧客のユーザー自身がこのアクセス許可に同意することはできません。 管理者は、テナント内のすべてのユーザーに代わってこのアクセス許可に同意する必要があります。

  1. [アプリの登録] ページで、作成したアプリケーション ("ciam-client-app" など) を選択して、その [概要] ページを開きます。

  2. [管理] の下にある [API のアクセス許可] を選択します。

    1. [<ご使用のテナント名> に管理者の同意を与えます] を選択してから、[はい] を選択します。
    2. [更新] を選び、そのアクセス許可の [状態][<テナント名> に付与されました] と表示されていることを確認します。

API のアクセス許可を付与する (省略可能):

SPA が API を呼び出す必要がある場合は、API を呼び出すことができるように SPA に API アクセス許可を付与する必要があります。 また、呼び出す必要がある Web API を登録する必要もあります。

クライアント アプリ (ciam-client-app) に API のアクセス許可を付与するには、次の手順に従います。

  1. [アプリの登録] ページで、作成したアプリケーション (例: ciam-client-app) を選択して [概要] ページを開きます。

  2. [管理] の下にある [API のアクセス許可] を選択します。

  3. [構成されたアクセス許可] の下で [アクセス許可の追加] を選択します。

  4. [所属する組織で使用している API] タブを選択します。

  5. API の一覧で、API (ciam-ToDoList-api など) を選択します。

  6. [委任されたアクセス許可] オプションを選択します。

  7. アクセス許可の一覧で [ToDoList.Read, ToDoList.ReadWrite] を選択します (必要に応じて検索ボックスを使用します)。

  8. [アクセス許可の追加] ボタンを選択します この時点で、アクセス許可が正しく割り当てられます。 ただし、このテナントは顧客のテナントであるため、コンシューマー ユーザー自身がこれらのアクセス許可に同意することはできません。 この問題に対処するには、管理者が次のように、テナント内のすべてのユーザーに代わってこれらのアクセス許可に同意する必要があります。

    1. [<ご使用のテナント名> に管理者の同意を与えます] を選択してから、[はい] を選択します。

    2. [最新の情報に更新] を選択し、両方のスコープの [状態] に、"<テナント名> に付与されました" と表示されていることを確認します。

  9. [Configured permissions] (構成されたアクセス許可) の一覧でToDoList.ReadToDoList.ReadWrite のアクセス許可を一度に 1 つずつ選択し、後で使用するためにアクセス許可の完全な URI をコピーします。 完全なアクセス許可 URI は、api://{clientId}/{ToDoList.Read} または api://{clientId}/{ToDoList.ReadWrite} のようになります。

リンクを追加してアクセス許可を公開する方法については、Web API に関するセクションを参照してください。

ユーザー フローをテストする (任意)

このアプリ登録で、ユーザー フローをテストするには、認証の暗黙的な許可フローを有効にします。

重要

暗黙的なフローはテスト目的でのみ使用するものとし、運用環境のアプリでのユーザー認証には使用しないでください。 テストが完了したら、削除することをお勧めします。

次の手順に沿って、暗黙的なフローを有効にします。

  1. アプリケーション開発者以上として Microsoft Entra 管理センターにサインインします。
  2. 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコン を使用し、[ディレクトリとサブスクリプション] メニューから外部テナントに切り替えます。
  3. [ID]>[アプリケーション]>[アプリの登録] を参照します。
  4. 作成したアプリの登録を選びます。
  5. [管理] で、 [認証] を選択します。
  6. [暗黙的な許可およびハイブリッド フロー] で、[ID トークン (暗黙的およびハイブリッド フローに使用)] チェックボックスをオンにします。
  7. [保存] を選択します。

アプリケーション (クライアント) ID を確認する

新しいアプリケーションを登録すると、Microsoft Entra 管理センターの概要からアプリケーション (クライアント) ID を確認できます。

  1. [アプリの登録] ページで、[すべてのアプリケーション] または [所有しているアプリケーション] タブを選択します。

  2. アプリケーションを選択して、その [概要] ページを開きます。

  3. [要点] には、アプリケーション (クライアント) ID を含むアプリの詳細がすべて表示されます。

    アプリケーション (クライアント) ID を示すスクリーンショット。

次のステップ