TeamsFx プロジェクトで既存の Microsoft Entra アプリを使用する

このセクションでは、既存の Microsoft Entra アプリを使用する方法、または TeamsFx プロジェクト用の Microsoft Entra アプリを手動で作成する方法について説明します。 指示に従って、必要なすべての情報が TeamsFx プロジェクトで適切に設定されていることを確認します。

Microsoft Entra アプリを作成する

注:

Microsoft Entra アプリが既にある場合は、この部分をスキップできます。 この手順は、 aadApp/create アクションによって自動化できます。

  1. Azure portal に移動し、[Microsoft Entra ID] を選択します。

  2. [アプリの登録>新しい登録] を選択して、新しい Microsoft Entra アプリを作成します。

    • 名前: 構成アプリの名前。
    • サポートされているアカウントの種類: [この組織のディレクトリでのみアカウント] を選択します。
    • [ リダイレクト URL ] フィールドは今のところ空白のままにします。
    • [登録] を選択します。
  3. アプリが登録されると、アプリの [概要 ] ページに移動します。 アプリケーション (クライアント) IDオブジェクト IDディレクトリ (テナント) ID をコピーします。これは後で必要になります。 [サポートされているアカウントの種類] が [組織のみ] に設定されていることを確認します。

Microsoft Entra アプリのクライアント シークレットを作成する (省略可能)

注:

アプリケーションでクライアント シークレットが必要ない場合は、この部分をスキップできます。 この手順は、 aadApp/create アクションによって自動化できます。

  1. アプリの [証明書 & シークレット ] ページに移動し、[ クライアント シークレット ] を選択し、[ 新しいクライアント シークレット] を選択します。

    • 説明: クライアント シークレットの説明。
    • 期限切れ: クライアント シークレットの有効期限。
    • [追加] を選択します。
  2. クライアント シークレットが追加されたら、[ ] 列の下にあるコピー ボタンを押して クライアント シークレットをコピーします。

Microsoft Entra アプリのユーザー スコープとしてのアクセスを作成する (省略可能)

注:

M365 アカウントに Microsoft Entra アプリを更新するアクセス許可がある場合は、この部分をスキップできます。 スコープを作成します。 この手順は、 aadApp/update アクションによって自動化できます。

  1. アプリの [API の公開] ページに移動し、[この API によって定義されたスコープ] で [スコープの追加] を選択します。

    • [保存して続ける] を選択します。
    • スコープ名: access_as_userを入力します。
    • 同意できるユーザー: [管理者とユーザー] を選択します。
    • 管理者の同意の表示名: Teams に入力 すると、アプリの Web API にアクセスできます
    • 管理者の同意の説明: [ Teams がアプリの Web API を現在のユーザーとして呼び出すことができます] に入力します
    • ユーザーの同意の表示名: Teams に入力 すると、アプリの Web API にアクセスし、ユーザーに代わって要求を行うことができます
    • ユーザーの同意の説明: [Teams でこのアプリの Web API を同じ権限で呼び出せるようにする] に入力します。
    • 状態: [有効] を選択します。
    • [スコープの追加] を選択します。
  2. 同じページで、[承認されたクライアント アプリケーション] で [クライアント アプリケーションの追加] を選択します。

    • クライアント ID: 1fec8e78-bce4-4aaf-ab1b-5451cc387264 を入力します。これは、モバイルとクライアントのMicrosoft Teamsのクライアント ID です。
    • 承認されたスコープ: 既存の access_as_user スコープを選択します。
    • [アプリケーションの追加] を選択します。
  3. [ クライアント アプリケーションの追加] でもう一度選択します。

    • クライアント ID: 5e3ce6c0-2b1f-4285-8d4b-75ee78787346 (Web 上の Teams のクライアント ID) を入力します。
    • 承認されたスコープ: 既存の access_as_user スコープを選択します。
    • [アプリケーションの追加] を選択します。
  4. アプリの [マニフェスト] ページに移動し、oauth2Permissions の下の ID をAccess As User Scope ID としてコピーします

既存の Microsoft Entra アプリから必要な情報を取得する

注:

上記の手順に従って Microsoft Entra アプリを作成する場合は、この部分をスキップできます。

  1. Azure portal に移動し、[Microsoft Entra ID] を選択します。

  2. [ アプリの登録] を選択し、既存の Microsoft Entra アプリを見つけます。

  3. アプリの [概要 ] ページに移動し、 アプリケーション (クライアント) IDオブジェクト IDディレクトリ (テナント) ID をコピーします。これは後で必要になります。 [サポートされているアカウントの種類] が [組織のみ] に設定されていることを確認します。

  4. アプリの [証明書 & シークレット ] ページに移動し、[ ] 列の下にあるコピー ボタンを押して クライアント シークレットをコピーします。

    注:

    シークレットをコピーできない場合は、 指示 に従って新しいクライアント シークレットを作成してください。

  5. アプリの [API の公開] ページに 移動します。 [この API によって定義されたスコープ] にスコープaccess_as_user追加し、2 つの Teams クライアント ID を事前認証している場合は、アプリの [マニフェスト] ページに移動し、[oauth2Permissions] の下の ID を[Access As User Scope ID] としてコピーします

TeamsFx プロジェクトで必要な情報を設定する

注:

aadApp/createアクションを使用して Microsoft Entra アプリケーションを作成しない場合は、次の手順に従わずに、必要な環境変数を任意の名前で追加できます。

  1. teamsapp.ymlを開き、aadApp/createアクションを見つけます。

  2. microsoft Entra アプリの情報を格納する環境変数名を writeToEnvironmentFile プロパティで見つけます。 Teams Toolkit を使用してプロジェクトを作成する場合の既定の writeToenvironmentFile 定義を次に示します。

     writeToEnvironmentFile:
       clientId: AAD_APP_CLIENT_ID
       clientSecret: SECRET_AAD_APP_CLIENT_SECRET
       objectId: AAD_APP_OBJECT_ID
       tenantId: AAD_APP_TENANT_ID
       authority: AAD_APP_OAUTH_AUTHORITY
       authorityHost: AAD_APP_OAUTH_AUTHORITY_HOST
    
  3. 手順 2. から各環境変数の値を追加します。

    1. 以下の環境変数とその値を env\.env.{env} ファイルに追加します。

      AAD_APP_CLIENT_ID=<value of Microsoft Entra application's client id (application id)> # example: 00000000-0000-0000-0000-000000000000
      AAD_APP_OBJECT_ID=<value of Microsoft Entra application's object id> # example: 00000000-0000-0000-0000-000000000000
      AAD_APP_TENANT_ID=<value of Microsoft Entra's (tenant) id> # example: 00000000-0000-0000-0000-000000000000
      AAD_APP_OAUTH_AUTHORITY=<value of Microsoft Entra's authority> # example: https://login.microsoftonline.com/<Directory (tenant) ID>
      AAD_APP_OAUTH_AUTHORITY_HOST=<host of Microsoft Entra's authority> # example: https://login.microsoftonline.com
      AAD_APP_ACCESS_AS_USER_PERMISSION_ID=<id of access_as_user permission> # example: 00000000-0000-0000-0000-000000000000
      
    2. アプリケーションで Microsoft Entra アプリ クライアント シークレットが必要な場合は、次の環境変数とその値を env\.env.{env}.user ファイルに追加します。

      SECRET_AAD_APP_CLIENT_SECRET=<value of Microsoft Entra application's client secret>
      

      注:

      writeToEnvironmentFileで異なる名前を使用する場合は、例の環境変数の名前を必ず更新してください。

  4. Teams Toolkit 拡張機能を開き、[ クラウドでプロビジョニング] を選択します。 プロジェクトが正常にプロビジョニングされるまで待ちます。

Microsoft Entra アプリ マニフェストを Azure portal にアップロードする

Teams Toolkit が Microsoft Entra アプリの更新に失敗した場合は、次のエラー メッセージが表示されます。

Insufficient privileges to complete the operation.

上記のメッセージが表示された場合は、Microsoft Entra アプリのアクセス許可を更新し、手順に従ってアクセス許可を更新します。

  1. [ build/aad.manifest.{env}.json] で Microsoft Entra アプリ マニフェストを見つけます。

  2. マニフェスト ファイル内のコンテンツをコピーします。

  3. Azure portal に移動し、[Microsoft Entra ID] を選択します。

  4. [ アプリの登録] を選択し、既存の Microsoft Entra アプリを見つけます。

  5. アプリの [マニフェスト] ページに移動し、マニフェストの内容をエディターに貼り付け、[ 保存 ] を選択して変更を保存します。