エージェント ID ブループリントは、エージェント ID を作成し、それらのエージェント ID を使用してトークンを要求するために使用されます。 このガイドでは、Microsoft Graph REST API と Microsoft Graph PowerShell を使用してエージェント ID ブループリントを作成する手順について説明します。
[前提条件]
エージェント ID ブループリントを作成する前に、次のことを確認してください。
- エージェント ID ブループリントを理解する
- 権限を付与するには、特権ロール管理者が必要です。
- ブループリントの作成に必要なロール (エージェント ID 開発者またはエージェント ID 管理者)。 エージェント ID 管理者ロールを優先します。
クライアントがエージェント ID ブループリントを作成することを承認する
この記事では、Microsoft Graph PowerShell または別のクライアントを使用して、エージェント ID ブループリントを作成します。 エージェント ID ブループリントを作成するには、このクライアントを承認する必要があります。 クライアントには、次のいずれかの Microsoft Graph アクセス許可が必要です。
-
AgentIdentityBlueprint.Create(委任されたアクセス許可) -
AgentIdentityBlueprint.Create(アプリケーションのアクセス許可)
これらのアクセス許可をクライアントに付与できるのは、グローバル管理者または特権ロール管理者だけです。 これらのアクセス許可を付与するには、管理者は次の操作を行います。
-
Connect-MgGraphコマンドを使用します。 - スクリプトを実行して、テナントに
oAuth2PermissionGrantまたはappRoleAssignmentを作成します。
エージェント ID ブループリントを作成する
テナントで機能エージェント ID ブループリントを作成するには、次の 2 つの手順が必要です。
- テナントに
AgentIdentityBlueprintを作成します。 - テナントに
AgentIdentityBlueprintPrincipalを作成します。
この場合に作成されるプリンシパルは、エージェントで使用される エージェント ID とは異なります。
まず、アクセス許可 AgentIdentityBlueprint.Createを持つアクセス トークンを取得します。 アクセス トークンを取得したら、次の要求を行います。
ヒント
@odata.typeを使用するときは、常に OData-Version ヘッダーを含めます。
POST https://graph.microsoft.com/beta/applications/
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>
{
"@odata.type": "Microsoft.Graph.AgentIdentityBlueprint",
"displayName": "My Agent Identity Blueprint",
"sponsors@odata.bind": [
"https://graph.microsoft.com/v1.0/users/<id>",
],
"owners@odata.bind": [
"https://graph.microsoft.com/v1.0/users/<id>"
]
}
エージェント ID ブループリントを作成したら、ガイドの今後の手順の appId を記録します。 次に、エージェント ID ブループリントのサービス プリンシパルを作成します。
サービス プリンシパルを作成するには、まずアクセス許可 AgentIdentityBlueprint.Createを持つアクセス トークンを取得する必要があります。 アクセス トークンを取得したら、次の要求を行います。
ヒント
@odata.typeを使用するときは、常に OData-Version ヘッダーを含めます。
POST https://graph.microsoft.com/beta/serviceprincipals/graph.agentIdentityBlueprintPrincipal
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>
{
"appId": "<agent-blueprint-app-id>"
}
エージェント ID ブループリントの資格情報を構成する
エージェント ID ブループリントを使用してアクセス トークンを要求するには、クライアント資格情報を追加する必要があります。 運用環境のデプロイでは、フェデレーション ID 資格情報としてマネージド ID を使用することをお勧めします。 ローカルでの開発とテストには、クライアント シークレットを使用します。
次の要求を使用して、資格情報としてマネージド ID を追加します。
この要求を送信するには、まずアクセス許可 AgentIdentityBlueprint.AddRemoveCreds.Allを持つアクセス トークンを取得する必要があります。
POST https://graph.microsoft.com/beta/applications/<agent-blueprint-object-id>/federatedIdentityCredentials
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>
{
"name": "my-msi",
"issuer": "https://login.microsoftonline.com/<my-test-tenant-id>/v2.0",
"subject": "<msi-principal-id>",
"audiences": [
"api://AzureADTokenExchange"
]
}
一部のテナントでは、 keyCredentials、 passwordCredentials、 trustedSubjectNameAndIssuers など、他の種類のアプリ資格情報もサポートされています。 これらの種類の資格情報は運用環境には推奨されませんが、ローカルの開発やテストに便利です。 パスワード資格情報を追加するには:
この要求を送信するには、まず、委任されたアクセス許可を持つアクセス トークンを取得する必要があります AgentIdentityBlueprint.AddRemoveCreds.All
POST https://graph.microsoft.com/beta/applications/<agent-blueprint-object-id>/addPassword
Content-Type: application/json
Authorization: Bearer <token>
{
"passwordCredential": {
"displayName": "My Secret",
"endDateTime": "2026-08-05T23:59:59Z"
}
}
必ず、生成された passwordCredential 値を安全に格納してください。 最初の作成後は表示できません。 資格情報としてクライアント証明書を使用することもできます。 証明書資格情報の追加を参照してください。
識別子 URI とスコープを構成する
ユーザーやその他のエージェントから受信要求を受信するには、エージェント ID ブループリントの識別子 URI と OAuth スコープを定義する必要があります。
この要求を送信するには、まずアクセス許可 AgentIdentityBlueprint.ReadWrite.Allを持つアクセス トークンを取得する必要があります。
PATCH https://graph.microsoft.com/beta/applications/<agent-blueprint-object-id>
OData-Version: 4.0
Content-Type: application/json
Authorization: Bearer <token>
{
"identifierUris": ["api://<agent-blueprint-id>"],
"api": {
"oauth2PermissionScopes": [
{
"adminConsentDescription": "Allow the application to access the agent on behalf of the signed-in user.",
"adminConsentDisplayName": "Access agent",
"id": "<generate-a-guid>",
"isEnabled": true,
"type": "User",
"value": "access_agent"
}
]
}
}