次の方法で共有


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

エージェント 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 つの手順が必要です。

  1. テナントに AgentIdentityBlueprint を作成します。
  2. テナントに 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"
    ]
}

一部のテナントでは、 keyCredentialspasswordCredentialstrustedSubjectNameAndIssuers など、他の種類のアプリ資格情報もサポートされています。 これらの種類の資格情報は運用環境には推奨されませんが、ローカルの開発やテストに便利です。 パスワード資格情報を追加するには:

この要求を送信するには、まず、委任されたアクセス許可を持つアクセス トークンを取得する必要があります 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"
        }
      ]
  }
}

エージェント ID の作成と削除