セットアップエージェントブループリント

エージェントの設計図は、エージェントのアイデンティティ、権限、インフラストラクチャ要件を定義します。 このエージェント設計図からすべてのエージェントインスタンスを作成します。

Note

Register、Work IQ、AI チームメイトの機能を有効にするには、エージェント ブループリントを設定する必要があります。 エージェントに適用される機能については、「 エージェント 365 開発の開始 」を参照してください。

エージェント365 アイデンティティの詳細については、「 エージェント365 アイデンティティ」をご覧ください。

[前提条件]

開始する前に、次の前提条件を満たしていることを確認してください。

  1. Agent 365 CLI - Agent 365 CLI インストールを参照してください。

  2. 必要なアクセス許可:

    • 次のいずれかのロールを持つ有効なテナント ユーザー:
      • グローバル管理者
      • エージェント ID 開発者
    • リソースを作成するアクセス許可を持つAzure サブスクリプションへのアクセス

    Tip

    エージェント (AI チームメイトではない) には構成ファイルは必要ありません。 a365 setup all --agent-name <name>を使用すると、CLI によってテナントとクライアント アプリが自動的に解決されます。 AI チームメイトのセットアップには、手動で作成された a365.config.jsonが必要です。

エージェントブループリントを作成

a365 setup コマンドを使用してAzureリソースを作成し、agent ブループリントを登録します。 ブループリントは、エージェントの ID、アクセス許可、インフラストラクチャの要件を定義します。 この手順により、Azureでエージェントをデプロイして実行するための基盤が確立されます。

セットアップを実行する

セットアップコマンドを実行してください:

a365 setup -h

コマンドにはさまざまなオプションがあります。 セットアップは a365 setup all を使えば一つのコマンドで全て完了できますし、より細かいオプションも選べます。

Note

a365 setup all はブループリント エージェント モードに既定で設定されます。 代わりに AI チームメイト エージェントを設定するには、 --aiteammate渡します。 M365 エージェント (Teams、Copilot) の場合は、--m365 を渡してメッセージング エンドポイントを自動的に登録します。

エージェントのセットアップ (既定):

# With a config file
a365 setup all

# Config-free — no a365.config.json needed
a365 setup all --agent-name <your-agent-name>

M365 エージェントのセットアップ (Teams/Copilot):

# Registers the messaging endpoint via MCP Platform
a365 setup all --m365

AI チームメイトのセットアップ:

a365 setup all --aiteammate

セットアッププロセス全体は以下の操作を実行します:

  1. Azureインフラストラクチャを作成します(まだ存在しない場合は):

    • リソース グループ
    • 指定された SKU を持つ App Service プラン
    • マネージド ID が有効な Azure Web アプリ
  2. エージェント ブループリントを登録します:

    • Microsoft Entra テナントにエージェント ブループリントを作成します
    • Microsoft Entra アプリケーションの登録を作成します
    • 必要なアクセス許可を使用してエージェント ID を構成します
    • プラットフォームの管理性に必要なブループリントに managerApplications を設定します

    Important

    ブループリントは、プラットフォームで受け入れられる managerApplications 設定されている必要があります。 CLI によって自動的に設定されます。 この要件が導入される前に既存のブループリントが作成されている場合は、それを削除して a365 setup all をもう一度実行するか、Graph APIを使用して手動で修正します。

  3. API のアクセス許可の構成:

    • Microsoft Graph API スコープを設定する
    • メッセージング ボット API のアクセス許可を構成する
    • エージェント インスタンスに継承可能なアクセス許可を適用します
  4. 構成ファイルを更新する:

    • 生成されたIDとエンドポイントを、ワーキングディレクトリ内の新しいファイルに保存します。 a365.generated.config.json
    • マネージド ID とリソース情報を記録する

Note

通常、セットアップには 3 ~ 5 分かかり、構成が自動的に a365.generated.config.json に保存されます。 グローバル管理者として実行すると、CLI で管理者の同意のためにブラウザー ウィンドウが開き、同意フローを完了して続行できます。 エージェント ID 開発者として実行した場合、ブラウザー ウィンドウは表示されません。CLI では、グローバル管理者が後で完了するための同意 URL が生成されます。

エージェント ID デベロッパーを使ったセットアップ

(グローバル管理者ではなく) エージェント ID 開発者として実行する場合、 a365 setup all はほとんどの手順を自動的に完了しますが、OAuth2 アクセス許可付与には別のグローバル管理者ステップが必要です。

どの手順が自動的に完了するか:

  • Azure インフラストラクチャ (リソース グループ、App Service プラン、Web アプリ)
  • エージェントブループリントの登録
  • エージェント インスタンスの継承可能なアクセス許可

グローバル管理者が必要な手順は次のとおりです。

  • Microsoft Graph、Agent 365 Tools、Messaging Bot API、Observability API、Power Platform API に対する OAuth2 委任されたアクセス許可付与 (AllPrincipals 同意)

管理者以外のアカウントを使用してセットアップを完了する方法:

Step アクション
1 開発者 a365 setup all を実行します。 CLI は、可能なすべての手順を完了し、全体管理者が完了する必要がある内容を示す手順を出力します。
2 開発者 config フォルダーをグローバル管理者と共有します。 フォルダーには、 a365.config.jsona365.generated.config.jsonが含まれています。
3 グローバル管理者 a365 setup admin --config-dir "<path-to-config-folder>"を実行して、OAuth2 アクセス許可の付与を完了します。

コマンドの実行:

# Developer runs:
a365 setup all
# Setup completes all steps it can. The CLI prints the next steps
# for a Global Administrator directly in the output, including a
# direct link or consent URL they can open to complete the grants.

CLI によって出力される次の手順をグローバル管理者と共有します。 指定されたリンクまたは同意 URL を開いて OAuth2 許可を完了できます。

セットアップの確認

セットアップが完了すると、完了したすべての手順を示す概要が表示されます。 作成されたリソースを確認します。

  1. 生成された設定の検証:

    作業ディレクトリで a365.generated.config.json を開きます。 または PowerShell を使用する:

    Get-Content a365.generated.config.json | ConvertFrom-Json
    

    期待出力には以下の臨界値が含まれます:

    {
    "managedIdentityPrincipalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "agentBlueprintId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "agentBlueprintObjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "agentBlueprintServicePrincipalObjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "agentBlueprintClientSecret": "xxx~xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "agentBlueprintClientSecretProtected": true,
    "botId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "botMsaAppId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "messagingEndpoint": "https://your-app.azurewebsites.net/api/messages",
    "resourceConsents": [],
    "completed": true,
    "completedAt": "xxxx-xx-xxTxx:xx:xxZ",
    "cliVersion": "x.x.xx"
    }
    

    確認すべき重要なフィールド:

    フィールド Purpose チェックすべきこと
    managedIdentityPrincipalId Azure マネージド ID 認証 有効なGUIDであるはずです
    agentBlueprintId あなたのエージェントのユニーク識別子 開発者ポータルおよび管理センターで使用されます
    agentBlueprintObjectId ブループリントのMicrosoft Entra ID
    messagingEndpoint メッセージ ルーティング Teams/Outlook がエージェントにメッセージを送信する場所
    agentBlueprintClientSecret 認証秘密 存在すべき(値がマスクされている)
    resourceConsents API のアクセス許可 Microsoft Graph、Agent 365 Tools、Messaging Bot API、Observability API などのリソースを含める必要があります
    completed セットアップ状況 そうあるべきだ true

    Note

    エージェント ID 管理者またはエージェント ID 開発者としてセットアップを実行した場合、グローバル管理者が CLI によって出力される次の手順を使用して OAuth2 アクセス許可の付与を完了するまで、 resourceConsents が空になり、 completedfalse される可能性があります。

  2. Azure portal で Azure リソースを確認

    または az resource list PowerShellコマンドを使うのも良いでしょう。

    # List all resources in your resource group
    az resource list --resource-group <your-resource-group> --output table
    

    以下のリソースが作成されているか確認してください:

    • リソース グループ:

      • リソースグループへ行きます>リソースグループを選択してください
      • App Service プランと Web アプリが含まれているかどうか確認してください
    • App Service プラン:

      • App Services>App サービス プランに移動します
      • プランを見つけて、価格レベルが構成 SKU と一致するかどうかを確認する
    • Web アプリ:

      • App Services>Web Apps に移動します
      • Web アプリを見つけて、設定>ID>割り当てられたシステムに移動します
      • 状態がオンとなっていることを確認します
      • オブジェクト (プリンシパル) ID が managedIdentityPrincipalId と一致する点に注意してください
  3. Azure portal で Microsoft Entra アプリケーションを検証する

    Azure Active Directory>アプリの登録>すべてのアプリケーションに移動します。

    • agentBlueprintId によるエージェント ブループリントを検索する

    • アプリケーションを開き、API 権限を選択します

    • 確認権限は緑色のチェックマークで付与されます:

      • Microsoft Graph (委任されたアクセス許可とアプリケーションのアクセス許可)
      • メッセージング ボット API のアクセス許可
    • すべての許可は「[あなたのテナント]に付与済み」と表示されています。

  4. 生成された構成ファイルを確認してください:

    すべての構成データを含む a365.generated.config.json という名前のファイルが必要です。

    Test-Path PowerShell コマンドを使用して、存在することを確認します。

    # Check file exists
    Test-Path a365.generated.config.json
    # Should return: True
    

    Important

    a365.config.jsonファイルとa365.generated.config.jsonファイルの両方を保存してください。 これらの値は展開やトラブルシューティングに必要です。

  5. Verify Web Appは管理IDを有効にしています:

    管理IDが有効かどうかを確認するには az webapp identity show コマンド を使ってください。

    az webapp identity show --name <your-web-app> --resource-group <your-resource-group>
    

    予想:

    {
    "principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "type": "SystemAssigned"
    }
    
  6. Microsoft Entra に登録されているエージェント ブループリントを確認します。

    Microsoft Entra 管理センターで、agentBlueprintIdを検索するか、名前で検索します。

    次のことを確認します。

    ✅ アプリ登録およびエンタープライズアプリケーションが表示されます
    ✅ アプリ登録ブループリントの API権限 タブにはすべての権限が表示されます
    ✅ステータスは「[あなたのテナント]に付与済み」と表示されています

さらなる助けは以下の通りをご覧ください:

エージェントのアクセス許可

アプリとエージェントが Microsoft 365 データ (ユーザー、メール、ファイル、Teams、エージェントなど) の読み取りまたは書き込みを行う前に、Microsoft Graph のアクセス許可を明示的に付与する必要があります。 Microsoft Graph のアクセス許可は、アプリまたはサービスが Microsoft 365 と Microsoft Entra ID 全体の Microsoft Graph API を介してアクセスできるデータとアクションを制御する承認モデルです。

詳細情報: Microsoft Graph のアクセス許可の概要

エージェント 365 エージェント インスタンスに対して Graph アクセス許可を使用するには、開発者がエージェント ブループリントでそれらを宣言する必要があります。 管理者が Microsoft 365 管理センターでブループリントをアクティブ化すると、ポータルはブループリントの Graph アクセス許可を確認し、管理者に同意を求めます。

Graph のアクセス許可によってエージェントがどのように有効にされるかを理解して検証するには、次の操作を行います。

ブループリントにアクセス許可を適用する

a365 setup permissions custom を使用して、Microsoft Entraのブループリントにカスタム API アクセス許可をインラインで適用します。

a365 setup permissions custom `
  --resource-app-id 00000003-0000-0000-c000-000000000000 `
  --scopes Mail.Read,Mail.Send,Chat.Read,Chat.ReadWrite,Chat.Create,User.Read

カスタム アクセス許可の構成と削除の詳細については、 setup permissions customを参照してください。

次のステップ

エージェントコードをクラウドにデプロイする:

Troubleshooting

このセクションでは、エージェント設計図の設定時によくある問題について説明します。

Tip

Agent 365トラブルシューティングガイドには、Agent 365 の開発ライフサイクルの各段階に対応した高レベルのトラブルシューティング推奨事項、ベストプラクティス、トラブルシューティングコンテンツへのリンクが含まれています。

これらの問題は、登録中に発生することがあります。

権限不十分エラー

症状:コマンド実行中に権限a365 setup不十分エラーが発生します。

Microsoft Entra テナントには、次のいずれかのロールが必要です。

  • グローバル管理者
  • エージェント ID 開発者

Azureサブスクリプションの共同作成者または所有者へのアクセス。

ソリューション: Microsoft Entra に必要なアクセス許可があることを確認します。

Note

エージェント ID 管理者ロールまたはエージェント ID 開発者ロール (グローバル管理者ではない) がある場合でも、 a365 setup all は成功しますが、OAuth2 アクセス許可の付与はスキップされます。 セットアップが完了すると、CLI は、グローバル管理者が残りの許可を完了するための次の手順を出力します。 このワークフローは、エージェント開発者とグローバル管理者が異なるユーザーである組織に必要です。

Azure CLI認証がない

症状: 認証エラーでセットアップが失敗します。

ソリューション: Azure に接続していることを確認し、アカウントとサブスクリプションを確認します。

# Authenticate with Azure
az login

# Verify correct account and subscription
az account show

資源はすでに存在します

症状: リソース グループ、App Service プラン、または Web アプリの Resource already exists エラーでセットアップが失敗します。

ソリューション: 次のいずれかのソリューションを選択します。

  • 既存のリソースを活用してください

    リソースが存在し、それを使いたいなら、設定に合っていることを確認してください。 az resource listPowerShellコマンドを使ってください。

    az resource list --resource-group <your-resource-group>
    
  • 競合するリソースを削除してください

    a365.config.jsonでリソース グループを削除するか、リソースの名前を変更して、セットアップを再実行します。

    az group delete PowerShell コマンドを使用して、リソース グループを削除します。

    # WARNING: This command deletes all resources in it
    az group delete --name <your-resource-group>
    
  • クリーンアップコマンドを使って新たにスタートを切る

    cleanup コマンドを使用してエージェント 365 のすべてのリソースを削除し、a365 setup all コマンドを使用してセットアップを再実行します。

    Warnung

    a365 cleanupの実行は破壊的です。

    a365 cleanup
    a365 setup all
    

症状: セットアップ中にブラウザー ウィンドウを開いたが、同意を完了せずにブラウザー ウィンドウを閉じたか、セットアップが完了したが、OAuth2 アクセス許可付与は保留中のままです。

ソリューション: ロールに基づいて選択します。

  • グローバル管理者: a365 setup all をもう一度実行します。 CLI は管理者の同意を求めます。 表示されるブラウザー ウィンドウで同意フローを完了します。

  • エージェント ID 管理者または開発者: OAuth2 の許可を直接完了することはできません。 a365 setup all実行 — セットアップの概要では、グローバル管理者の次の手順 (許可を完了するための直接リンクまたは同意 URL など) が出力されます。 これらの詳細をグローバル管理者と共有します。

構成ファイルが欠落または無効

症状: セットアップが「設定が見つかりません」または検証エラーで失敗します。

Solution:

  1. a365.config.jsonファイルが存在するか確認してください。
  2. 見つからないか無効な場合は、手動で作成するか、 a365 setup all --agent-name <name> を使用します (エージェントのみ)。
# Verify a365.config.json exists
Test-Path a365.config.json

セットアップは完了しますが、リソースは作成されません

Symptom: セットアップ コマンドは成功しますが、Azureリソースは存在しません。

Solution:

  1. 作業ディレクトリで a365.generated.config.json を開いて、作成されたリソースを確認します。
  2. az resource list コマンドを使用して、リソースAzure存在するかどうかを確認します。
  3. リソースがない場合は、a365 setup all コマンドを使用してセットアップ出力でエラーを確認し、セットアップを再実行します
# Check created resources
Get-Content a365.generated.config.json | ConvertFrom-Json

# Verify Azure resources exist
az resource list --resource-group <your-resource-group> --output table

# If resources missing, check for errors in setup output and re-run
a365 setup all

エージェント ブループリントが Microsoft Entra に登録されていない

症状: セットアップは完了しますが、Microsoft Entra 管理センターにエージェントのブループリントが見つかりません。

Solution:

  1. a365.generated.config.jsonからブループリント ID を取得します。

    Get-Content a365.generated.config.json | ConvertFrom-Json | Select-Object agentBlueprintId
    
  2. Microsoft Entra管理センターで検索します。

    1. 次に進む: Microsoft Entra 管理センター
    2. [アプリの登録>すべてのアプリケーション] に移動します。
    3. agentBlueprintIdを探してください。
  3. 見つからない場合は、 a365 setup all コマンドを使用してセットアップを再実行します。

    a365 setup all
    

API権限が付与されていません

症状: セットアップは完了しますが、Microsoft Entra ではアクセス許可は "付与されていません" と表示されます。

Solution:

  1. Microsoft Entra 管理センターを開きます。

  2. エージェントブループリントアプリの登録を探します。

  3. API アクセス許可 に移動します。

  4. 管理者の同意を与えること:

    1. [Your Tenant]の管理者同意を付与を選択します。
    2. アクションを確認します。
  5. すべてのアクセス許可に緑色のチェックマークが表示されていることを確認します。

管理IDが有効になっていません

症状: Web アプリは存在しますが、マネージド ID は有効になっていません。

Solution:

  1. az webapp identity show コマンドを使用して、マネージド ID の状態を確認します。
  2. 有効になっていない場合は、 az webapp identity assign コマンドを使用して手動で有効にします。
  3. az webapp identity show コマンドを使用して有効になっていることを確認します。
# Check managed identity status
az webapp identity show --name <your-web-app> --resource-group <your-resource-group>

# If not enabled, enable it manually
az webapp identity assign --name <your-web-app> --resource-group <your-resource-group>

# Verify it's enabled
az webapp identity show --name <your-web-app> --resource-group <your-resource-group>

セットアップに時間がかかりすぎるか、応答を停止する

症状: セットアップコマンドが10分以上実行されずに完了しません。

Solution:

  1. 全体管理者として実行している場合は、ブラウザー ウィンドウが管理者の同意を待っているかどうかを確認します。 同意フローを完了して、セットアップのブロックを解除します。

  2. セットアップが本当に応答を停止する場合は、キャンセルして (Ctrl+C) し、作成された内容を確認します。

    # Check generated config
    Get-Content a365.generated.config.json | ConvertFrom-Json
    
    # Check Azure resources
    az resource list --resource-group <your-resource-group>
    
  3. クリーンアップして再試行します。

    a365 cleanup
    a365 setup all
    

構成不要のエージェントをクリーンアップする

症状:a365 setup all --agent-name <name>を使用してエージェントをプロビジョニングし、削除する必要がありますが、a365.config.json ファイルがありません。

ソリューション:a365 cleanup --agent-nameを使用して、構成ファイルなしでエージェントを削除します。 CLI は、ブートストラップのセットアップ中に書き込まれたグローバルに生成された構成からリソース ID を読み取ります。

a365 cleanup --agent-name <your-agent-name>

Tip

認証時にコマンドがストールすると、自動的にデバイス コード フローにフォールバックします。 ターミナルに出力された指示に従って、サインインを完了します。

グローバルに生成された構成 (CLI の再インストール後など) がなくなった場合は、手動で作成した最小限の a365 cleanupa365.config.json を使用するか、Azure portal および Microsoft Entra 管理センター を介して直接リソースを削除します。

Teams で最初のメッセージを送信できない

症状: エージェント インスタンスをプロビジョニングした後、エージェント マネージャーにウェルカム メッセージとしてメッセージを送信することはできません。

ソリューション: 新しいチャット オブジェクトを作成するには、[Chat.Create][perm-chatcreate] アクセス許可が必要です。 1 対 1 のチャットが既に存在する場合、この操作は既存のチャットを返し、新しいチャットは作成しません。

  • 実装するには、 ブループリントの継承可能なアクセス許可を構成 して、 Chat.Create スコープを含めます。
  • エージェント インスタンスのプロビジョニング後に送信する Teams チャット メッセージを構成します。
  • ブループリントから新しいエージェント インスタンスを作成し、最初の実行メッセージをテストします。