Microsoft Entra ID でアプリを構成する

Microsoft Entra ID を使用すると、アプリ ユーザーはボットまたはメッセージ拡張機能アプリにアクセスできます。 Teams にサインインしたアプリ ユーザーには、アプリへのアクセス権を付与できます。

管理センターでの SSO 構成Microsoft Entra

ボットとメッセージ拡張アプリでは、Bot Framework を使用してアプリ ユーザーと通信し、認証を実装します。

ボットまたはメッセージ拡張機能アプリの SSO を構成するには、次の手順を実行する必要があります。

  • Microsoft Entra ID でボット リソースを構成する
  • Microsoft Entra ID でアプリを構成する

注:

Microsoft Entra ID でアプリとボット リソースが作成されていることを確認します。

  • Microsoft Entra ID でのアプリの作成の詳細については、「Microsoft Entra ID に新しいアプリを登録する」を参照してください。
  • Microsoft Entra ID でのボット リソースの作成と構成の詳細については、「Teams 会話ボットの作成」を参照してください。

ボットまたはメッセージ拡張機能アプリのMicrosoft Entra ID でボット リソースとアプリを構成するには、次の 2 つの方法のいずれかを使用します。

  • ボット リソースを使用して SSO を構成し、アプリMicrosoft Entra構成する: まず、ボット リソースの SSO を構成し、Microsoft Entra アプリの SSO を有効にすることができます。 次の構成を行います。

    • ボット リソースの場合: メッセージング エンドポイントと OAuth 接続。

      注:

      Microsoft Entra ID でボット リソースを作成する場合は、新しいアプリ ID を作成するためのオプションを選択するか、アプリを Microsoft Entra ID に既に登録している場合は既存のアプリ ID を使用できます。

    • Microsoft Entra アプリの場合: アプリ ID URI、スコープとアクセス許可、信頼されたクライアント ID、アクセス トークンのバージョン、クライアント シークレット、リダイレクト URL。

  • Microsoft Entra アプリを使用して SSO を構成し、ボット リソースを構成する: まず、Microsoft Entra アプリを構成してから、SSO を有効にするときにボット リソースでこのアプリ ID を使用できます。 次の構成を行います。

    • Microsoft Entra アプリの場合: アプリ ID URI、アクセス トークン、信頼されたクライアント ID、アクセス トークンのバージョン、クライアント シークレット、リダイレクト URL。

    • ボット リソースの場合: メッセージング エンドポイントと OAuth 接続。

      注:

      アプリを登録するときに、Microsoft Entra ID によって生成されたアプリ ID を使用してボット リソースを構成します。

Microsoft Entra ID で SSO を有効にする

このチュートリアルの終わりまでに、次の構成について学習します。

  • アプリケーション ID
  • [ボット ID]
  • アクセス トークン
    • アプリケーション ID
    • スコープ、アクセス許可、および承認されたクライアント ID
    • クライアント シークレット
    • リダイレクト URL
  • メッセージング エンドポイントと OAuth 接続

ボット リソースの SSO を構成するには、次の 2 つの方法のいずれかを選択します。

Microsoft Entra ID でアプリの SSO を有効にするには:

重要

ボット リソースを作成するときに、新しいアプリ ID を作成するオプションを選択します。 管理センターでアプリを既に登録している場合は、既存のアプリ ID Microsoft Entra使用することもできます。

メッセージング エンドポイントを構成する

メッセージング エンドポイントは、メッセージがボットに送信される場所です。 ボットとの通信が可能になります。

ボット リソースのメッセージング エンドポイントを構成するには

  1. Web ブラウザーで Azure portal を開きます。 [Microsoft Azure Bot] ページが開きます。

  2. [検索] ボックスにボット リソースの名前を入力し、[Enter] を選択して開きます。

  3. [設定の構成] を選択します>。

    ボットの [構成] メニューを示すスクリーンショット。

    [ 構成] ページが表示されます。

  4. ボットがアプリ ユーザーのメッセージを受信するメッセージング エンドポイント URL を入力します。

    ボットがユーザーと対話する URL を追加する [メッセージング エンドポイント] オプションを示すスクリーンショット。

  5. [適用] を選択します。

    メッセージング エンドポイントが構成されています。

ボット リソースのメッセージング エンドポイントを構成しました。 次に、Microsoft Entra アプリの SSO を有効にする必要があります。

Microsoft Entra アプリの SSO を構成する

アクセス許可とスコープを構成し、クライアント アプリケーションを承認し、アプリ マニフェスト (以前は Teams アプリ マニフェスト) を更新し、Microsoft Entra アプリのクライアント シークレットを作成する必要があります。 これらの構成は、ボット アプリの SSO を呼び出すのに役立ちます。

アクセス トークンのスコープを構成する

Teams クライアントにアクセス トークンを送信し、信頼されたクライアント アプリケーションを承認して SSO を有効にするスコープ (アクセス許可) オプションを構成します。

あなたには必要です:

  • アプリケーション ID URI を構成するには: アプリのスコープ (アクセス許可) オプションを構成します。 Web API を公開し、アプリケーション ID URI を構成します。
  • API スコープを構成するには: API のスコープと、スコープに同意できるユーザーを定義します。 管理者のみが、より高い特権を持つアクセス許可に対する同意を提供できます。
  • 承認されたクライアント アプリケーションを構成するには: 事前承認するアプリケーションの承認されたクライアント ID を作成します。 これにより、アプリ ユーザーは、追加の同意を必要とせずに、構成したアプリ スコープ (アクセス許可) にアクセスできます。 アプリ ユーザーは同意を拒否する機会がないため、信頼できるクライアント アプリケーションのみを事前承認します。

アプリケーション ID URI を構成するには

  1. Web ブラウザーで Azure portal を開きます。

    [Microsoft Azure Bot] ページが開きます。

  2. [検索] ボックスにボット リソースの名前を入力し、[Enter] を選択して開きます。

  3. [設定の構成] を選択します>。

    [設定] の下のボットの [構成] メニューを示すスクリーンショット。

    [ 構成] ページが表示されます。

  4. [管理] を選択します。

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

    [Microsoft Entra アプリ] ページが表示されます。

    このページには、アプリの新しいアプリ ID (クライアント ID) が表示されます。 このアプリ ID をメモして保存します。 後でアプリ マニフェストで更新する必要があります。 ボット リソースの作成時に既存のアプリの ID を使用した場合は、そのアプリの ID がこのページに表示されます。

    [アプリケーション クライアント ID] が強調表示されている [ボット アプリ] ページを示すスクリーンショット。

  5. 左側のウィンドウで [管理]>[API の公開] を選択します。

    [API の公開] ページが表示されます。

  6. [ 追加] を選択して、アプリケーション ID URI を生成します。

    [アプリケーション ID URI] の [設定] オプションを示すスクリーンショット。

    アプリケーション ID URI を設定するためのセクションが表示されます。

  7. ここで説明する形式でアプリケーション ID URI を入力します。

    追加されたアプリケーション ID URI を示すスクリーンショット。

    • アプリケーション ID URI には、 形式api://{AppID}のアプリ ID (GUID) が事前に入力されています。

    重要

    • 機密情報: アプリケーション ID URI は認証プロセスの一部としてログに記録され、機密情報を含めてはなりません。

    • スタンドアロン ボット: スタンドアロン ボットを構築する場合は、アプリケーション ID URI を api://botid-{YourBotId} として入力します。 ここで、{YourBotId} はMicrosoft Entraアプリケーション ID です。

    • 複数の機能を持つアプリのアプリケーション ID URI: ボット、メッセージング拡張機能、タブを使用してアプリをビルドする場合は、アプリケーション ID URI を として api://fully-qualified-domain-name.com/botid-{YourClientId}入力します。ここで {YourClientId} 、ボット アプリ ID です。

    • ドメイン名の形式: ドメイン名には小文字を使用します。 大文字を使用しないでください。

      たとえば、リソース名が 'demoapplication' のアプリ サービスまたは Web アプリを作成するには、次のようにします:

      使用される基本リソース名以下の場合 URL は次のようになります... 形式は以下でサポートされています...
      demoapplication https://demoapplication.example.net すべてのプラットフォーム。
      DemoApplication https://DemoApplication.example.net デスクトップ、Web、および iOS のみ。 Android ではサポートされていません。

      基本リソース名として小文字のオプション demoapplication を使用します。

  8. [保存] を選択します。

    アプリケーション ID URI が更新されたことを示すメッセージがブラウザーに表示されます。

    アプリケーション ID URI の更新メッセージを示すスクリーンショット。

    アプリケーション ID URI がページに表示されます。

    更新されたアプリケーション ID URI を示すスクリーンショット。

  9. アプリケーション ID URI をメモして保存します。 アプリ マニフェストを後で更新するために必要になります。

アプリケーション ID URI が構成されています。 これで、アプリのスコープとアクセス許可を定義できるようになりました。

API スコープを構成するには

  1. [この API で定義されたスコープ] セクションで [+ スコープの追加] を選択します。

    [スコープの追加] オプションが強調表示されているスクリーンショット。

    [スコープの追加] ページが表示されます。

  2. スコープを構成するための詳細を入力します。

    Azure でスコープの詳細を追加する方法を示すスクリーンショット。

    1. スコープ名を入力します。

    2. このスコープに同意できるユーザーを選択します。 既定のオプションは [管理者のみ] です。

    3. 管理同意表示名を入力します。

    4. 管理者の同意の説明を入力します。

    5. [ユーザーの同意表示名] を入力します。

    6. ユーザーの同意の説明を入力します。

    7. 状態の [有効] オプションを選択します。

    8. [スコープの追加] を選択します。

      注:

      このチュートリアルでは、スコープとして openid プロファイル User.Read User.ReadBasic.All を使用できます。 このスコープは 、Code サンプルの使用に適しています。 さらに Graph のスコープとアクセス許可を追加することもできます。 詳細については、「 Microsoft Graph のアクセス許可とスコープを使用してアプリを拡張する」を参照してください。

    スコープが追加されたことを示すメッセージがブラウザーに表示されます。

    [スコープの追加] メッセージを示すスクリーンショット。

    注:

    定義した新しいスコープがページに表示されます。 構成したスコープをメモして保存してください。 後で OAuth 接続を更新するために必要になります。

スコープとアクセス許可が構成されました。 次に、Microsoft Entra アプリの承認されたクライアント アプリケーションを構成する必要があります。

承認されたクライアント アプリケーションを構成するには

  1. [API の公開] ページを [承認済みクライアント アプリケーション] セクションに移動し、[+ クライアント アプリケーションの追加] を選択します。

    [承認されたクライアント アプリケーション] で強調表示されている [クライアント アプリケーションの追加] オプションを示すスクリーンショット。

    [クライアント アプリケーションの追加] ページが表示されます。

  2. アプリの Web アプリケーションに対して承認するアプリケーションに適した Microsoft 365 クライアント ID を入力します。

    追加されたクライアント ID を示すスクリーンショット。

    注:

    • Teams、Microsoft 365 アプリ、Outlook 用のモバイル、デスクトップ、および Web アプリケーション用の Microsoft 365 クライアント ID は、追加する必要がある実際の ID です。
    • アプリにタブ アプリがある場合は、Teams でモバイルまたはデスクトップ クライアント アプリケーションを使用できないため、Web または SPA が必要です。
  3. 次のいずれかのクライアント ID を選択します。

    クライアント ID を使用する 承認する場合...
    1fec8e78-bce4-4aaf-ab1b-5451cc387264 Teams モバイル アプリケーションまたはデスクトップ アプリケーション
    5e3ce6c0-2b1f-4285-8d4b-75ee78787346 Teams Web アプリケーション
    4765445b-32c6-49b0-83e6-1d93765276ca Microsoft 365 Web アプリケーション
    0ec893e0-5785-4de6-99da-4ed124e5296c Microsoft 365 デスクトップ アプリケーション
    d3590ed6-52b3-4102-aeff-aad2292ab01c Microsoft 365 モバイル アプリケーション
    Outlook デスクトップ アプリケーション
    bc59ab01-8403-45c6-8796-ac3ef710b3e3 Outlook Web アプリケ―ション
    27922004-5251-4030-b22d-91ecd9a37ea4 Outlook モバイル アプリケーション
  4. 公開した Web API にスコープを追加するには、[承認されたスコープ] でアプリ用に作成したアプリケーション ID URI を選択します。

  5. [アプリケーションの追加] を選択します。

    承認されたクライアント アプリが追加されたことを示すメッセージがブラウザーに表示されます。

    追加されたクライアント ID メッセージを示すスクリーンショット。

    承認されたアプリのクライアント ID がページに表示されます。

    [承認されたクライアント アプリケーション] 画面に新しく追加されたクライアント ID を示すスクリーンショット。

    注:

    複数のクライアント アプリケーションを承認できます。 承認された別のクライアント アプリケーションを構成するには、この手順の手順を繰り返します。

アプリのスコープ、アクセス許可、およびクライアント アプリケーションが正常に構成されました。 アプリケーション ID URI をメモして保存してください。 次に、アクセス トークンのバージョンを構成します。

アクセス トークンのバージョンを構成する

Microsoft Entra アプリ マニフェストでアプリのアクセス トークンのバージョンを定義する必要があります。

アクセス トークンのバージョンを定義するには

  1. 左側のウィンドウで [管理]>[マニフェスト] の順に選択します。

    Microsoft Entra管理センターのマニフェストを示すスクリーンショット。

    Microsoft Entra アプリ マニフェストが表示されます。

  2. accessTokenAcceptedVersion プロパティの値として 2 を入力します。

    受け入れられたアクセス トークンのバージョンの値を示すスクリーンショット。

  3. [保存] を選択します。

    アプリ マニフェストが正常に更新されたことを示すメッセージがブラウザーに表示されます。

    マニフェストが更新されたメッセージを示すスクリーンショット。

アクセス トークンのバージョンが更新されました。 次に、アプリのクライアント シークレットを作成します。

クライアント シークレットを作成する

クライアント シークレットは、トークンを要求するときにアプリケーションが ID を証明するために使用する文字列です。

アプリのクライアント シークレットを作成するには

  1. [証明書 & シークレットの管理>] を選択します。

    [証明書とシークレット] メニュー オプションを示すスクリーンショット。

    [ 証明書 & シークレット ] ページが表示されます。

  2. [ + 新しいクライアント シークレット] を選択します。

    新しいクライアント シークレットを追加するために強調表示されている [新しいクライアント シークレット] オプションを示すスクリーンショット。

    [ クライアント シークレットの追加] ページが表示されます。

    必要な詳細を示す [クライアント シークレットの追加] ページを示すスクリーンショット。

    1. 説明を入力します。
    2. シークレットの有効期間を選択します。
  3. [追加] を選択します。

    クライアント シークレットが更新されたことを示すメッセージがブラウザーに表示され、クライアント シークレットがページに表示されます。

    [クライアント シークレットの追加] メッセージを示すスクリーンショット。

  4. [クライアント シークレットの ] の横にあるコピー ボタンを選択します。

  5. コピーした値を保存します。 後でコードを更新するために必要になります。

    重要

    クライアント シークレットを作成した直後に、クライアント シークレットの値をコピーしてください。 値は、クライアント シークレットが作成された時点でのみ表示され、その後に表示することはできません。

クライアント シークレットを構成しました。 次に、リダイレクト URL を構成する必要があります。

リダイレクト URL を構成する

認証の構成は、アプリを対象とするプラットフォームまたはデバイスによって異なります。 リダイレクト URI、認証設定、またはプラットフォーム固有の詳細を構成する必要がある場合があります。

注:

  • ボット アプリに IT 管理者の同意が付与されていない場合、アプリ ユーザーは別のプラットフォームでアプリを初めて使用する際に同意を提供する必要があります。
  • ボット アプリで SSO が有効になっている場合、暗黙的な許可は必要ありません。

URL が一意である限り、複数のプラットフォームの認証を構成することができます。

リダイレクト URL を構成するには

  1. Azure portal で登録したアプリを開きます。

  2. 左側のウィンドウで、[管理]>[認証] の順に選択します。

    [管理] の [認証] オプションを示すスクリーンショット。

    [プラットフォームの構成] ページが表示されます。

  3. [プラットフォームの追加] を選択します。

    [認証] の [プラットフォームの追加] オプションを示すスクリーンショット。

    [プラットフォームの構成] ページが表示されます。

  4. アプリ用に構成するプラットフォームを選択します。 プラットフォームの種類は Web または SPA から選択できます。

    Web プラットフォームの選択を示すスクリーンショット。

    [ Web の構成] ページが表示されます。

    注:

    構成は、選択したプラットフォームによって異なります。

  5. プラットフォームの構成の詳細を入力します。

    [入力を提供するように Web を構成する] ページを示すスクリーンショット。

    1. リダイレクト URI を入力します。 URI は一意である必要があります。

      注:

      「リダイレクト URI」で説明されている URL の例を示します。

    2. フロント チャネルのログアウト URL を入力します。

    3. アプリMicrosoft Entra送信するトークンを選択します。

  6. [構成] を選択します。

    プラットフォームが構成され、[プラットフォームの構成] ページに表示されます。

Microsoft Entra アプリの構成が完了し、OAuth 接続を構成してボット リソースの SSO サポートを有効にする必要があります。

OAuth 接続を構成する

SSO をサポートするボットの場合、OAuth 接続設定を更新する必要があります。 このプロセスは、ボットを、Microsoft Entra アプリ用に構成したアプリの詳細に関連付けます。

  • Microsoft Entraアプリ ID(クライアント ID)
  • テナント ID
  • スコープとアクセス許可

アプリ (クライアント) ID とクライアント シークレットを指定すると、Bot Framework トークン ストアは、定義済みのアクセス許可を持つグラフ トークンのトークンを交換します。

OAuth 接続を更新するには

  1. Web ブラウザーで Azure portal を開きます。 [Microsoft Azure Bot] ページが開きます。

  2. [検索] ボックスにMicrosoft Entra アプリの名前を入力し、アプリを開きます。

  3. [設定の構成] を選択します>。

    ボット アプリの OAUth 設定の構成を示すスクリーンショット。

    [ 構成] ページが表示されます。

  4. [構成] ページを移動し、[OAuth 接続設定の追加] を選択します。

    [OAuth 接続設定の追加] オプションが強調表示されているスクリーンショット。

    [ 新しい接続設定] ページが表示されます。

  5. Azure ボットの OAuth 構成設定を入力します。

    詳細を示す [新しい接続設定] を示すスクリーンショット。

    1. 構成設定の名前を入力します。

    2. サービス プロバイダーを選択します。

      残りの構成の詳細が表示されます。

      [新しい接続設定] の追加フィールドを示すスクリーンショット。

    3. Microsoft Entra アプリのアプリ (クライアント) ID を入力します。

    4. ボット用に作成したクライアント シークレットを入力します。

    5. トークン交換 URL にボットのアプリケーション ID URI を入力します。

    6. テナント ID を入力します。

    7. スコープとアクセス許可を構成したときに定義したスコープを入力します。

  6. [保存] を選択します。

  7. [適用] を選択します。

    OAuth 接続を構成したら、[接続のテスト] を選択して、OAuth 接続が成功した場合にチェックできます。

    [ボット リソースの OAuth 接続のテスト] オプションを示すスクリーンショット。

    接続が成功しなかった場合、Microsoft Entra ID にエラーが表示されます。 すべての構成を確認し、もう一度テストできます。

おめでとうございます! ボット アプリの SSO を有効にするために必要なMicrosoft Entra ID で、次のアプリ構成を完了しました。

  • アプリケーション ID
  • [ボット ID]
  • アクセス トークン
    • アプリケーション ID
    • スコープ、アクセス許可、および承認されたクライアント ID
    • クライアント シークレット
    • リダイレクト URL
  • メッセージング エンドポイントと OAuth 接続

ベスト プラクティス

  • Microsoft Entraアプリの登録は、サービス アプリケーションへのサービスの元の目的に制限します。
  • 認証接続の無効化、シークレットのローリング、または他のアプリケーションとのMicrosoft Entra アプリの再利用をより適切に制御するには、任意のユーザーが認証を処理するための追加のMicrosoft Entra アプリを作成します。

認証にMicrosoft Entra登録アプリを使用すると、次の問題が発生する可能性があります。

  • Microsoft Entra アプリの登録に添付されている証明書を更新すると、証明書を使用して他のMicrosoft Entra サービスで認証されたユーザーに影響します。
  • ボットを使用して、すべての認証関連アクティビティに対して単一障害点と制御を作成します。

次の手順