Important
この記事には、Microsoft Copilot Studio のプレビュー ドキュメントが含まれており、変更される可能性があります。
プレビュー機能は運用環境での使用を想定しておらず、機能が制限される可能性があります。 これらの機能は公式リリースの前に利用できるため、早期にアクセスして フィードバックを提供できます。
運用対応エージェントを構築する場合は、 Microsoft Copilot Studio の概要を参照してください。
この記事では、既存のCopilot Studioエージェントをレガシーアプリ登録IDからMicrosoft Entra エージェント IDに自動移行する前に任意で移行する方法について説明します。
Important
2026年5月以前は、Copilot Studioが作成した各エージェントに対して自動的にテナント内でAzureアプリ登録をプロビジョニングしていました。 2026年5月以降、Copilot Studioは新しいエージェントごとに自動的にMicrosoft Entra エージェント IDを作成します。
アプリ登録IDを使用する既存エージェントは、今後のアップデートでMicrosoftによって自動的に移行されます。
ガバナンス機能はこの移行期間中、EntraエージェントIDとアプリ登録IDの両方で機能し、すべてのエージェントは最終的に自動的に移行されます。 ただし、オプションで古いエージェントを手動でEntra Agent IDに移行させることも可能で、自動移行前にMicrosoft Entra Agent IDや条件付きアクセスポリシーでエージェントが正常に動作しているか確認できます。
Power Platform管理センターの推奨を使って、対象となるエージェントを特定し、移行バッチを計画し、1つ以上のエージェントを移行してください。 このアドバイザーベースの体験が推奨される手動移行方法です。 Power Platform APIのエンドポイントを使って、独自の移行プロセスを作成することもできます。
エージェントをMicrosoft Entra エージェント IDに移行すると、以下の機能が得られます:
- 管理者が閲覧し管理できるファーストクラスのエージェントIDをMicrosoft Entraで管理できます。
- エージェント型ワークロード向けに設計され、アプリ登録から継承するのではなくエージェントを対象とする条件付きアクセスおよびその他のアクセスポリシー。
- エージェントと連携するサービス間で一貫したアイデンティティモデルを確立しましょう。
Copilot StudioのエージェントIDと認証について詳しくはこちらをご覧ください。
エージェントのアイデンティティ移行について
移行はエージェントの既存のアプリ登録IDをそのまま変換します。 エージェントはアプリケーション(クライアント)IDを保持するため、チャネル登録やコネクタなどそのIDを使用する下流構成は同じ識別子に解決され続けます。 エージェントは管理者が管理できるMicrosoft Entra エージェント IDも取得します。
移行は管理されたオプトイン方式の運営です。 次のようにすることができます。
- エージェントを1人移行します。
- 複数のエージェントを選択してバッチとして移行します。
- 自分のスケジュールで追加のバッチを移行しましょう。
- 検証に合格しなければ、エージェントをレガシーのアイデンティティに戻します。
前提条件
- Power Platform管理者、Dynamics 365管理者、またはグローバル管理者である必要があります。
- Advisor が対象となるエージェントを識別できるようにするには、テナントで Power Platform インベントリ が有効になっている必要があります。
- 移行予定のエージェントを所有するメーカーと検証期間を調整してください。
Note
手動のMicrosoft Entra エージェント ID移行プロセスは現在プレビュー機能です。
移行バッチを計画しましょう
エージェントのアイデンティティ移行はライブエージェントに影響を与え、移行を慎重に計画しなければ認証、コネクター、統合を妨げる可能性があります。 以下の段階的なアプローチを用いてください。
- パイロットから始めましょう:検証すべきチャネル、認証モード、コネクター、フロー、統合を表す非重要性のエージェントを少数選びます。
- メーカーと連携する:影響を受けるメーカーに通知し、検証期間を合意します。 移行バッチが完了した際には、メーカーがエージェントのテストを行えるように対応できるはずです。
- 段階的に移行する:エージェントを個別に、または小規模にまとめて移行させる。 一度に全ての土地を移転させないでください。
- エンドツーエンドの検証:各移行エージェントが設定済みのチャネル、アクション、コネクタ、認証フロー、統合で動作していることを確認します。
- 監視・拡大:Microsoft Entraのサインインログ(条件付きアクセス結果を含む)を確認し、大きなバッチを移行する前に確認してください。
Power Platform管理センターでエージェントを移行する
Power Platform管理センターのAdvisor推奨を使って、対象となるエージェントを確認し、1つ以上のエージェントを移行してください。
Power Platform 管理センターにサインインします。
左側のナビゲーションペインで 「アクション」を選択します。
アクションの中から「推奨事項」を選択してください。
おすすめタブで「アクティブ」を選択してください。
エージェント ガバナンスを強化するための Copilot Studio エージェントの Microsoft Entra エージェント ID への移行 を検索して選択します。
推薦画面で「 なぜこれが重要か?」を展開し、移行ガイダンスを確認してください。
対象となるエージェントを確認しましょう。 提案された移行順序と移行ノートを使って、初期パイロットまたは次の移行バッチを選択してください。 また、環境、環境タイプ、所有者、最近の活動、認証方法などの情報も提供します。
移行したい各エージェントの横にあるチェックボックスを選択してください。 1人のエージェントまたは複数の適格エージェントを選択できます。
「移行」ボタンが利用可能になり、アクションバーに選択したエージェントの数が表示されます。
「移行」を選択し、確認を確認し、移行を確認してください。
選択した各エージェントの「 アクション」「 アクション状態」「 アクションデイト 」欄を確認してください。 推奨事項間のアクションを確認するには、「 アクション履歴 」タブを選択してください。
Note
アドバイザーの推薦は、あなたが行動を起こした後、推薦データが更新される間、最大1週間表示されることがあります。
これらの手順は、前回のバッチが検証を通過した後にのみ各計画バッチで繰り返します。
移行したエージェントの検証
次のバッチを移行する前に、エージェントの開発者と連携し、各移行したエージェントが以下の通りであることを確認します。
- 掲載されているすべてのチャンネルで正しく応答します。
- アクション、コネクター、フロー、統合を正常に実行します。
- カスタム認証を含め、期待通りの認証を行います。
- 該当するエージェントアクセスポリシーおよび条件付きアクセスポリシーで期待通りに動作します。
Microsoft Entra 管理センターで移行したエージェントのサインインログを確認してください。 認証の成功を確認し、失敗や予期せぬ条件付きアクセス結果を調査します。
エージェントが検証に合格しない場合は、バッチのロールアウトを停止し、そのエージェントを元に戻してから進めてください。
オプション:エージェントID移行のためのAPI操作
自分で自動化を構築したい場合は、Power Platform APIエンドポイントを呼び出してエージェントの移行やロールバックを行うことができます。 両操作ともPower Platformサービス向けにベアラートークンで認可されたHTTP POSTリクエストです。
Note
ターゲットエージェントの botID と environmentID が必要です。 各エージェントは、Power Platform管理センターのManage>Copilot Studioにあるエージェントインベントリにこれらの値を表示しています。
詳細については、以下を参照してください。
- Power Platform API と SDK: UX 優先から API 優先まで (ブログ) (Power Platform 開発者ブログ)
- プログラミングと拡張性の概要 (Power Platform のドキュメント)
- Power Platform API の利用開始 (Power Platform ドキュメント)
- Copilot Studio 操作 API 参照ドキュメント
Power Platform API用のOAuth2ベアラートークンを取得しましょう
ここに挙げられているすべての操作は、 https://api.powerplatform.comのためにOAuth2ベアラートークンを必要とします。 このトークンをリクエストの Authorization ヘッダーの下に含めてください。 トークンはMicrosoft Entra ID OAuth2から取得され、前提条件に記載された管理者ロールのいずれかを持つユーザーアカウントに紐づいている必要があります。
例えば、Az PowerShellモジュールを使ってトークンを取得し、APIリクエストで使用するために $token として保存します。
$token = (Get-AzAccessToken -ResourceUrl "https://api.powerplatform.com").Token
エージェント ID を Microsoft Entra エージェント ID に移行する
エージェントをアプリ登録IDからEntra エージェント IDへ移行するには、エージェントの詳細を含むPOSTリクエストを送信して移行エンドポイントに送ります:
-
エンドポイント:
POST https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/agentidentitymigration/migrate?api-version=2024-10-01 -
認証:
AuthorizationヘッダーにPower Platform APIの有効なOAuthベアラートークンを含めること。 Power Platform APIはMicrosoft Entra IDからのベアラートークンが必要です。 - 本文:必須ではありません
- 目的:エージェントをアプリ登録IDから「Entra エージェント ID」へ移行する
-
応答:エージェントのID移行に関する
status値付きのAgentIdentityMigrationResultJSONオブジェクトを返します:MigratedAlreadyMigrated
例えば、以下のスクリプトは認可トークンを取得し、特定の環境(<EnvironmentId>)で特定のエージェント(<BotId>)の移行エンドポイントをその認可で呼び出します。
$token = (Get-AzAccessToken -ResourceUrl "https://api.powerplatform.com").Token
$environmentId = "<EnvironmentId>"
$botId = "<BotId>"
$uri = "https://api.powerplatform.com/copilotstudio/environments/$environmentId/bots/$botId/api/agentidentitymigration/migrate?api-version=2024-10-01"
Invoke-RestMethod `
-Method Post `
-Uri $uri `
-Headers @{
Authorization = "Bearer $token"
}
以下の例回答は、移行が成功したことを示しています:
{
"status": "Migrated",
"cdsBotId": "<bot-id>",
"environmentId": "<environment-id>",
"tenantId": "<tenant-id>",
"agentIdentityId": "<agent-identity-id>",
"applicationId": "<application-client-id>",
"servicePrincipalObjectId": "<service-principal-object-id>",
"managedIdentityId": "<managed-identity-id>",
"completedAtUtc": "2026-08-21T12:00:00Z"
}
エージェント ID をアプリ登録 ID に戻す、またはロールバックする
エージェントを元に戻すには、エージェントの詳細を含むPOSTリクエストを元に戻すエンドポイントに送信してください:
-
エンドポイント:
POST https://api.powerplatform.com/copilotstudio/environments/{EnvironmentId}/bots/{BotId}/api/agentidentitymigration/rollback?api-version=2024-10-01 -
認証:
AuthorizationヘッダーにPower Platform APIの有効なOAuthベアラートークンを含めること。 Power Platform APIはMicrosoft Entra IDからのベアラートークンが必要です。 - 本文:必須ではありません
- 目的:エージェントのIDをEntra IDからアプリ登録IDにロールバック(元に戻す)
-
レスポンス:エージェントのID移行に関するターミナルステータス値付きの
AgentIdentityRollbackResultJSONオブジェクトを返します:NotMigratedRolledBack
例えば、次のスクリプトはトークンを取得し、その認証を使用して、特定の環境 (<BotId>) 内の特定のエージェント (<EnvironmentId>) に対して revert エンドポイントを呼び出します。
$token = (Get-AzAccessToken -ResourceUrl "https://api.powerplatform.com").Token
$environmentId = "<EnvironmentId>"
$botId = "<BotId>"
$uri = "https://api.powerplatform.com/copilotstudio/environments/$environmentId/bots/$botId/api/agentidentitymigration/rollback?api-version=2024-10-01"
Invoke-RestMethod `
-Method Post `
-Uri $uri `
-Headers @{
Authorization = "Bearer $token"
}
以下の例の応答は、ロールバックの成功を示しています:
{
"status": "RolledBack",
"cdsBotId": "<bot-id>",
"environmentId": "<environment-id>",
"tenantId": "<tenant-id>",
"completedAtUtc": "2026-08-21T12:05:00Z"
}
Troubleshooting
以下の表は、よくある問題とその解決方法を示しています。
| 症状: | 原因 | Resolution |
|---|---|---|
| エージェント インベントリはエージェントを返しません。 | テナントのPower Platformインベントリが有効になっていなかったり、アカウントに必要なロールがなかったりします。 | エージェントの在庫が有効であること、そしてPower Platform管理者、Dynamics 365管理者、またはグローバル管理者アカウントでサインインしていることを確認してください。 |
| 再認証を促されるか、トークンエラーが発生します。 | 資格情報の期限切れ、多要素認証や条件付きアクセスの場合はインタラクティブなサインインが必要です。 | スクリプトが開くブラウザウィンドウでサインインプロンプトを完成させます。 |
| 移行時にエージェントはスキップされます。 | エージェントにはすでに Microsoft Entra エージェント ID があるか、EnvironmentId または BotId が不足しています。 |
この状態は、すでに移行済みのエージェントでは想定されるものです。 |
| 1 つのエージェントで、移行またはロールバックの呼び出しが失敗します。 | APIはそのエージェントに対して「不適格」「アクセス拒否」「サービス制限要求」などのエラーを返しました。 | エージェントのインベントリを確認し、自分のロール、権限、エージェントの適格性を確認し、スロットルされている場合は待機して再試行してから、呼び出しを再実行してください。 |