マニフェストMicrosoft Entra編集する
Microsoft Teams Toolkit は、Microsoft Teams アプリケーション開発ライフサイクル中に、アプリ マニフェスト ファイルを信頼のソースとしてMicrosoft Entraアプリケーションを管理するようになりました。
マニフェスト テンプレートMicrosoft Entraカスタマイズする
マニフェスト テンプレートMicrosoft Entraカスタマイズして、アプリケーションMicrosoft Entra更新できます。
プロジェクトで
aad.template.json
を開きます。テンプレートを直接更新するか、 別のファイルから値を参照します。 カスタマイズ シナリオを次に示します。
アプリケーションのアクセス許可を追加する
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 Graph
とOffice 365 SharePoint Online
の場合は、UUID ではなく直接名前を入力し、他の API では UUID を使用します。resourceAccess.id
プロパティは、さまざまなアクセス許可に使用されます。Microsoft Graph
とOffice 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 を検索します。[Azure portal] に移動し、[アプリケーションの登録] を開きます。
[ すべてのアプリケーション] を 選択し、アプリケーション名を検索します。
アプリケーション名を選択し、概要ページからアプリケーション ID を取得します。
認証応答のリダイレクト URL を更新する
リダイレクト URL は、認証が成功した後にトークンなどの認証応答を返す際に使用されます。 リダイレクト URL は、プロパティ
replyUrlsWithType
を使用してカスタマイズできます。 たとえば、リダイレクト URL としてhttps://www.examples.com/auth-end.html
を追加するには、次の例のように追加できます。"replyUrlsWithType": [ ... { "url": "https://www.examples.com/auth-end.html", "type": "Spa" } ]
ローカル環境またはリモート環境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
Teams Toolkit のマニフェスト テンプレートMicrosoft Entra、Microsoft Graph
とOffice 365 SharePoint Online
のアクセス許可に対するユーザーが読み取り可能な文字列もサポートしています。 公式のMicrosoft Entra マニフェスト スキーマは、requiredResourceAccess
プロパティのresourceAppId
とresourceAccess
は UUID のみをサポートします。 UUID を入力すると、CodeLens にユーザーが読み取り可能な文字列が表示され、それ以外の場合は UUID が表示されます。
事前認証されたアプリケーション CodeLens
CodeLens には、 preAuthorizedApplications
プロパティの事前認証されたアプリケーション ID のアプリケーション名が表示されます。
Azure portal Microsoft Entraアプリケーションを表示する
AAD_APP_CLIENT_ID
プロパティの.env.xxx
() ファイルからMicrosoft Entra アプリケーション クライアント ID をコピーします。注:
クライアント ID の xxx は、Microsoft Entra アプリケーションをデプロイした環境名を示します。
Azure portalに移動し、Microsoft 365 アカウントにサインインします。
注:
Teams アプリケーションと M365 アカウントのログイン資格情報が同じであることを確認します。
[アプリの登録] ページを開き、前にコピーしたクライアント ID を使用してMicrosoft Entra アプリケーションを検索します。
検索結果から [Microsoft Entra アプリケーション] を選択して、詳細情報を表示します。
[アプリ情報Microsoft Entraページで、[マニフェスト] メニューを選択して、このアプリケーションのマニフェストを表示します。 マニフェストのスキーマは、
aad.template.json
ファイル内のスキーマと同じです。 マニフェストの詳細については、「アプリ マニフェストのMicrosoft Entra」を参照してください。[その他のメニュー] を選択すると、そのポータルからアプリケーションMicrosoft Entra表示または構成できます。
既存のMicrosoft Entra アプリケーションを使用する
Teams プロジェクトには、既存のMicrosoft Entra アプリケーションを使用できます。 詳細については、「Teams アプリケーションに既存のMicrosoft Entra アプリケーションを使用する」を参照してください。
Teams アプリケーション開発ライフサイクルでのアプリケーションのMicrosoft Entra
Teams アプリケーション開発ライフサイクルのさまざまな段階で、Microsoft Entra アプリケーションと対話する必要があります。
プロジェクトを作成するには
SSO-enabled tab
など、既定でシングル サインオン (SSO) サポートが付属する Teams Toolkit を使用してプロジェクトを作成できます。 新しいアプリを作成する方法の詳細については、「 Teams Toolkit を使用して新しい Teams アプリケーションを作成する」を参照してください。 Microsoft Entra マニフェスト ファイルは、aad.template.json
で自動的に作成されます。 Teams Toolkit は、ローカル開発中、またはアプリケーションをクラウドに移動するときに、Microsoft Entra アプリケーションを作成または更新します。ボットまたはタブに SSO を追加するには
組み込みの SSO を使用せずに Teams アプリケーションを作成した後、Teams Toolkit はプロジェクトの SSO を段階的に追加するのに役立ちます。 その結果、
aad.template.json
でMicrosoft Entraマニフェスト ファイルが自動的に作成されます。Teams Toolkit は、次のローカル開発セッション中、またはアプリケーションをクラウドに移動するときに、Microsoft Entra アプリケーションを作成または更新します。
ローカルでビルドするには
Teams Toolkit では、ローカル開発時に次の機能が実行されます。
.env.local
ファイルを読み取り、既存のMicrosoft Entra アプリケーションを見つけます。 Microsoft Entra アプリケーションが既に存在する場合、Teams Toolkit は既存のMicrosoft Entra アプリケーションを再利用します。 それ以外の場合は、aad.template.json
ファイルを使用して新しいアプリケーションを作成する必要があります。最初は、マニフェスト ファイルを使用した新しいMicrosoft Entra アプリケーションの作成時にローカル開発エンドポイントを必要とする
replyUrls
プロパティなど、より多くのコンテキストを必要とするマニフェスト ファイル内のいくつかのプロパティを無視します。ローカル開発環境が正常に開始されると、作成段階では使用できないMicrosoft Entra アプリケーションの
identifierUris
、replyUrls
、その他のプロパティがそれに応じて更新されます。Microsoft Entra アプリケーションに対して行った変更は、次のローカル開発セッション中に読み込まれます。 アプリケーションの変更Microsoft Entra手動で適用されていることがわかります。
クラウド リソースをプロビジョニングするには
クラウド リソースをプロビジョニングし、アプリケーションをクラウドに移動しながらアプリケーションをデプロイする必要があります。 ローカル デバッグ、Teams Toolkit などのステージで、次の手順を実行します。
.env.{env}
ファイルを読み取り、既存のMicrosoft Entra アプリケーションを検索します。 Microsoft Entra アプリケーションが既に存在する場合、Teams Toolkit は既存のMicrosoft Entra アプリケーションを再利用します。 それ以外の場合は、aad.template.json
ファイルを使用して新しいアプリケーションを作成する必要があります。マニフェスト ファイルの最初の一部のプロパティを無視し、
replyUrls
プロパティなど、より多くのコンテキストを必要とします。 このプロパティには、マニフェスト ファイルを使用して新しいMicrosoft Entra アプリケーションを作成する際に、フロントエンドまたはボット エンドポイントが必要です。他のリソースのプロビジョニングを完了し、アプリケーションの
identifierUris
Microsoft Entraし、適切なエンドポイントに従ってreplyUrls
が更新されます。
アプリケーションをビルドするには
クラウド コマンドは、プロビジョニングされたリソースにアプリケーションをデプロイします。 アプリケーションの変更Microsoft Entraデプロイは含まれません。
Teams Toolkit は、Microsoft Entra マニフェスト テンプレート ファイルに従ってMicrosoft Entra アプリケーションを更新します。
制限事項
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に存在しない requiredResourceAccess
プロパティは、ユーザーが読み取り可能なリソース アプリケーション名またはアクセス許可名の文字列に使用されるのは、Microsoft Graph
API とOffice 365 SharePoint Online
API のみです。 他の API には UUID を使用する必要があります。 次の手順を実行して、Azure portalから ID を取得します。- Azure portalに新しいMicrosoft Entra アプリケーションを登録します。
- [Microsoft Entra アプリケーション] ページから [
API permissions
] を選択します。 - [
add a permission
] を選択して、必要なアクセス許可を追加します。 -
requiredResourceAccess
プロパティから [Manifest
] を選択します。ここで、API の ID とアクセス許可を確認できます。
関連項目
Platform Docs