次の方法で共有


マニフェストMicrosoft Entra編集する

Microsoft Teams Toolkit は、Microsoft Teams アプリケーション開発ライフサイクル中に、アプリ マニフェスト ファイルを信頼のソースとしてMicrosoft Entraアプリケーションを管理するようになりました。

マニフェスト テンプレートMicrosoft Entraカスタマイズする

マニフェスト テンプレートMicrosoft Entraカスタマイズして、アプリケーションMicrosoft Entra更新できます。

  1. プロジェクトで aad.template.json を開きます。

    テンプレートを示すスクリーンショット。

  2. テンプレートを直接更新するか、 別のファイルから値を参照します。 カスタマイズ シナリオを次に示します。

    アプリケーションのアクセス許可を追加する

    Teams アプリケーションで追加のアクセス許可を持つ API を呼び出すためにさらに多くのアクセス許可が必要な場合は、Microsoft Entra マニフェスト テンプレートの requiredResourceAccess プロパティを更新する必要があります。 このプロパティの例を次に示します。

            "requiredResourceAccess": [
    {
            "resourceAppId": "Microsoft Graph",
            "resourceAccess": [
                {
                    "id": "User.Read", // For Microsoft Graph API, you can also use uuid for permission id
                    "type": "Scope" // Scope is for delegated permission
                },
                {
                    "id": "User.Export.All",
                    "type": "Role" // Role is for application permission
                }
            ]
        },
        {
            "resourceAppId": "Office 365 SharePoint Online",
            "resourceAccess": [
                {
                        "id": "AllSites.Read",
                "type": "Scope"
                }
            ]
        }
    ]
    
    

    次の一覧では、さまざまなプロパティ ID とその使用方法を示します。

    • resourceAppId プロパティは、さまざまな API に使用されます。 Microsoft GraphOffice 365 SharePoint Onlineの場合は、UUID ではなく直接名前を入力し、他の API では UUID を使用します。

    • resourceAccess.id プロパティは、さまざまなアクセス許可に使用されます。 Microsoft GraphOffice 365 SharePoint Onlineの場合は、UUID ではなくアクセス許可名を直接入力し、他の API では UUID を使用します。

    • resourceAccess.type プロパティは、委任されたアクセス許可またはアプリケーションのアクセス許可に使用されます。 Scope は委任されたアクセス許可を意味し、 Role はアプリケーションのアクセス許可を意味します。

    クライアント アプリケーションを事前認証する

    preAuthorizedApplications プロパティを使用して、API がアプリケーションを信頼していることを示すクライアント アプリケーションを承認できます。 クライアントが公開されている API を呼び出すときに、ユーザーは同意しません。 このプロパティの例を次に示します。

    
          "preAuthorizedApplications": [
          {
              "appId": "1fec8e78-bce4-4aaf-ab1b-5451cc387264",
              "permissionIds": [
                   "${{AAD_APP_ACCESS_AS_USER_PERMISSION_ID}}"
               ]
          }
          ...
      ]
    

    preAuthorizedApplications.appId プロパティは、承認するアプリケーションに使用されます。 アプリケーション ID が不明で、アプリケーション名のみがわかっている場合は、次の手順を使用してアプリケーション ID を検索します。

    1. [Azure portal] に移動し、[アプリケーションの登録] を開きます

    2. [ すべてのアプリケーション] を 選択し、アプリケーション名を検索します。

    3. アプリケーション名を選択し、概要ページからアプリケーション ID を取得します。

    認証応答のリダイレクト URL を更新する

    リダイレクト URL は、認証が成功した後にトークンなどの認証応答を返す際に使用されます。 リダイレクト URL は、プロパティ replyUrlsWithTypeを使用してカスタマイズできます。 たとえば、リダイレクト URL として https://www.examples.com/auth-end.html を追加するには、次の例のように追加できます。

        "replyUrlsWithType": [
           ...
         {
             "url": "https://www.examples.com/auth-end.html",
             "type": "Spa"
         }
    ]
    
  3. ローカル環境またはリモート環境Microsoft Entraアプリケーションの変更を更新します。

    1. aad.template.json Preview CodeLens を選択します。

      プレビューを示すスクリーンショット。

    2. ローカル環境または開発環境を選択します。

      環境の一覧を示すスクリーンショット。

    3. aad.local.jsonまたはaad.dev.jsonで [CodeLens のDeploy Azure AD Manifest] を選択します。

      デプロイ オプションが強調表示されているスクリーンショット。

    4. ローカル環境または開発環境で使用Microsoft Entraアプリケーションの変更がデプロイされます。

    5. さらに、コマンド パレットを開き、[Teams: Update Microsoft Entra App]\(アプリの更新\) を選択して、Microsoft Entraアプリを更新することもできます。 [コマンド パレット] オプションを示すスクリーンショット。

マニフェスト テンプレート プレースホルダーをMicrosoft Entraする

Microsoft Entra マニフェスト ファイルには{{...}} を含むプレースホルダー引数が含まれています ステートメントは、異なる環境のビルド中に置き換えられます。 プレースホルダー引数を使用して環境変数を参照できます。

マニフェスト テンプレートでの環境変数Microsoft Entra参照

マニフェスト テンプレートに永続的な値Microsoft Entra入力する必要がなく、マニフェスト テンプレート ファイルMicrosoft Entra参照環境変数の値がサポートされています。 ツールの構文 ${{YOUR_ENV_VARIABLE_NAME}} をパラメーター値として使用して、環境変数の値を解決できます。

CodeLens を使用してマニフェストMicrosoft Entra編集およびプレビューする

マニフェスト テンプレート ファイルMicrosoft Entra、コードを確認および編集するための CodeLens があります。

マニフェスト テンプレート ファイルMicrosoft Entra

Microsoft Entra マニフェスト テンプレート ファイルの先頭にプレビュー CodeLens があります。 CodeLens を選択して、環境に基づいてMicrosoft Entra マニフェストを生成します。

codelens の追加のプレビューを示すスクリーンショット。

プレースホルダー引数 CodeLens

プレースホルダー引数 CodeLens は、ローカル デバッグの値を確認し、環境を開発するのに役立ちます。 プレースホルダー引数にマウス ポインターを合わせると、すべての環境の値のヒント ボックスが表示されます。

引数の追加を示すスクリーンショット。

必要なリソース アクセス CodeLens

Teams Toolkit のマニフェスト テンプレートMicrosoft Entra、Microsoft GraphOffice 365 SharePoint Onlineのアクセス許可に対するユーザーが読み取り可能な文字列もサポートしています。 公式のMicrosoft Entra マニフェスト スキーマは、requiredResourceAccess プロパティのresourceAppIdresourceAccessは UUID のみをサポートします。 UUID を入力すると、CodeLens にユーザーが読み取り可能な文字列が表示され、それ以外の場合は UUID が表示されます。

必要なリソース アクセスにリソースを追加するスクリーンショット。

事前認証されたアプリケーション CodeLens

CodeLens には、 preAuthorizedApplications プロパティの事前認証されたアプリケーション ID のアプリケーション名が表示されます。

Azure portal Microsoft Entraアプリケーションを表示する

  1. AAD_APP_CLIENT_ID プロパティの .env.xxx () ファイルからMicrosoft Entra アプリケーション クライアント ID をコピーします。

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

    注:

    クライアント ID の xxx は、Microsoft Entra アプリケーションをデプロイした環境名を示します。

  2. Azure portalに移動し、Microsoft 365 アカウントにサインインします。

    注:

    Teams アプリケーションと M365 アカウントのログイン資格情報が同じであることを確認します。

  3. [アプリの登録] ページを開き、前にコピーしたクライアント ID を使用してMicrosoft Entra アプリケーションを検索します。

    [すべてのアプリケーション] タブの下のクライアント ID を示すスクリーンショット。

  4. 検索結果から [Microsoft Entra アプリケーション] を選択して、詳細情報を表示します。

  5. [アプリ情報Microsoft Entraページで、[マニフェスト] メニューを選択して、このアプリケーションのマニフェストを表示します。 マニフェストのスキーマは、 aad.template.json ファイル内のスキーマと同じです。 マニフェストの詳細については、「アプリ マニフェストのMicrosoft Entra」を参照してください。

    [マニフェスト] 画面を示すスクリーンショット。

  6. [その他のメニュー] を選択すると、そのポータルからアプリケーションMicrosoft Entra表示または構成できます。

既存のMicrosoft Entra アプリケーションを使用する

Teams プロジェクトには、既存のMicrosoft Entra アプリケーションを使用できます。 詳細については、「Teams アプリケーションに既存のMicrosoft Entra アプリケーションを使用する」を参照してください

Teams アプリケーション開発ライフサイクルでのアプリケーションのMicrosoft Entra

Teams アプリケーション開発ライフサイクルのさまざまな段階で、Microsoft Entra アプリケーションと対話する必要があります。

  1. プロジェクトを作成するには

    SSO-enabled tabなど、既定でシングル サインオン (SSO) サポートが付属する Teams Toolkit を使用してプロジェクトを作成できます。 新しいアプリを作成する方法の詳細については、「 Teams Toolkit を使用して新しい Teams アプリケーションを作成する」を参照してください。 Microsoft Entra マニフェスト ファイルは、aad.template.jsonで自動的に作成されます。 Teams Toolkit は、ローカル開発中、またはアプリケーションをクラウドに移動するときに、Microsoft Entra アプリケーションを作成または更新します。

  2. ボットまたはタブに SSO を追加するには

    組み込みの SSO を使用せずに Teams アプリケーションを作成した後、Teams Toolkit はプロジェクトの SSO を段階的に追加するのに役立ちます。 その結果、aad.template.jsonでMicrosoft Entraマニフェスト ファイルが自動的に作成されます。

    Teams Toolkit は、次のローカル開発セッション中、またはアプリケーションをクラウドに移動するときに、Microsoft Entra アプリケーションを作成または更新します。

  3. ローカルでビルドするには

    Teams Toolkit では、ローカル開発時に次の機能が実行されます。

    • .env.local ファイルを読み取り、既存のMicrosoft Entra アプリケーションを見つけます。 Microsoft Entra アプリケーションが既に存在する場合、Teams Toolkit は既存のMicrosoft Entra アプリケーションを再利用します。 それ以外の場合は、 aad.template.json ファイルを使用して新しいアプリケーションを作成する必要があります。

    • 最初は、マニフェスト ファイルを使用した新しいMicrosoft Entra アプリケーションの作成時にローカル開発エンドポイントを必要とする replyUrls プロパティなど、より多くのコンテキストを必要とするマニフェスト ファイル内のいくつかのプロパティを無視します。

    • ローカル開発環境が正常に開始されると、作成段階では使用できないMicrosoft Entra アプリケーションのidentifierUrisreplyUrls、その他のプロパティがそれに応じて更新されます。

    • Microsoft Entra アプリケーションに対して行った変更は、次のローカル開発セッション中に読み込まれます。 アプリケーションの変更Microsoft Entra手動で適用されていることがわかります。

  4. クラウド リソースをプロビジョニングするには

    クラウド リソースをプロビジョニングし、アプリケーションをクラウドに移動しながらアプリケーションをデプロイする必要があります。 ローカル デバッグ、Teams Toolkit などのステージで、次の手順を実行します。

    • .env.{env} ファイルを読み取り、既存のMicrosoft Entra アプリケーションを検索します。 Microsoft Entra アプリケーションが既に存在する場合、Teams Toolkit は既存のMicrosoft Entra アプリケーションを再利用します。 それ以外の場合は、 aad.template.json ファイルを使用して新しいアプリケーションを作成する必要があります。

    • マニフェスト ファイルの最初の一部のプロパティを無視し、 replyUrls プロパティなど、より多くのコンテキストを必要とします。 このプロパティには、マニフェスト ファイルを使用して新しいMicrosoft Entra アプリケーションを作成する際に、フロントエンドまたはボット エンドポイントが必要です。

    • 他のリソースのプロビジョニングを完了し、アプリケーションのidentifierUrisMicrosoft Entraし、適切なエンドポイントに従ってreplyUrlsが更新されます。

  5. アプリケーションをビルドするには

    • クラウド コマンドは、プロビジョニングされたリソースにアプリケーションをデプロイします。 アプリケーションの変更Microsoft Entraデプロイは含まれません。

    • Teams Toolkit は、Microsoft Entra マニフェスト テンプレート ファイルに従ってMicrosoft Entra アプリケーションを更新します。

制限事項

  1. Teams Toolkit 拡張機能では、マニフェスト スキーマに記載されているすべてのプロパティMicrosoft Entraサポートされていません。

    次の表に、Teams Toolkit 拡張機能でサポートされていないプロパティの一覧を示します。

    サポートされていないプロパティ 理由
    passwordCredentials マニフェストでは使用できません
    createdDateTime 読み取り専用で変更できない
    logoUrl 読み取り専用で変更できない
    publisherDomain 読み取り専用で変更できない
    oauth2RequirePostResponse Graph APIに存在しない
    oauth2AllowUrlPathMatching Graph APIに存在しない
    samlMetadataUrl Graph APIに存在しない
    orgRestrictions Graph APIに存在しない
    certification Graph APIに存在しない
  2. requiredResourceAccess プロパティは、ユーザーが読み取り可能なリソース アプリケーション名またはアクセス許可名の文字列に使用されるのは、Microsoft Graph API と Office 365 SharePoint Online API のみです。 他の API には UUID を使用する必要があります。 次の手順を実行して、Azure portalから ID を取得します。

    1. Azure portalに新しいMicrosoft Entra アプリケーションを登録します。
    2. [Microsoft Entra アプリケーション] ページから [API permissions] を選択します。
    3. [ add a permission ] を選択して、必要なアクセス許可を追加します。
    4. requiredResourceAccess プロパティから [Manifest] を選択します。ここで、API の ID とアクセス許可を確認できます。

関連項目