Konfigurieren Sie vererbbare Berechtigungen für Agenten-Identitäts-Blueprints

Konfigurieren Sie vererbbare Berechtigungen für einen Agentidentitäts-Blueprint, um eine Basismenge delegierter Bereiche und Anwendungsrollen vorab zu autorisieren. Mit dem Blueprint erstellte Agentidentitäten erben diese Berechtigungen automatisch ohne interaktive Zustimmungsaufforderungen.

Einen konzeptionellen Hintergrund dazu, wie vererbbare Berechtigungen mit erforderlichen Ressourcenzugriffs- und direkten Berechtigungserteilungen zusammenhängen, finden Sie unter "Vererbbare Berechtigungen" und "Erforderlicher Ressourcenzugriff".

Voraussetzungen

  • Ein vorhandener Agent-Identitäts-Blueprint wurde bereits erstellt und konfiguriert.
  • Eine der folgenden Berechtigungen:
    • Rolle „Agent ID-Entwickler“ für die Verwaltung von Agentenidentitäts-Blueprints, die dem Benutzer gehören
    • Rolle "Agenten-ID-Administrator" für die Verwaltung von Agent-Identitätsschablonen

Funktionsweise von vererbbaren Berechtigungen

Während der Tokenausstellung für eine Agentidentität führt die Plattform berechtigte geerbte Bereiche mit den angeforderten delegierten Bereichen des Agents zusammen. Geerbte Bereiche werden im SCP-Anspruch des Zugriffstokens und geerbten Rollen im Rollenanspruch angezeigt. Ausführliche Informationen zu Vererbungsbedingungen und der Beziehung zwischen Deklarationen, Gewährten und effektiven Berechtigungen finden Sie unter Vererbungsberechtigungen und erforderlichem Ressourcenzugriff.

Vererbungsmuster

Der Konzeptartikel beschreibt Vererbungsmuster auf hoher Ebene. Die folgende Tabelle zeigt die spezifischen kind Werte, die in der API verwendet werden, wenn Sie die Vererbung pro Ressourcen-App konfigurieren:

Vererbung Kind Beschreibung
Alle Erlaubt allAllowed Erben Sie alle verfügbaren delegierten Berechtigungen oder Anwendungsrollen für die angegebene Ressourcenanwendung. Neu zugewiesene Bereiche oder Rollen auf dem Prinzipal des Agentenidentitäts-Blueprints werden automatisch einbezogen.
Nichts none Vererbt keine Bereiche oder Rollen für die angegebene Ressourcen-App. Verwenden Sie dies, um die Vererbung für Bereiche (noScopes) oder Rollen (noRoles) unabhängig voneinander explizit zu deaktivieren.

Sie können Bereiche und Rollen unabhängig von derselben Ressource konfigurieren. Sie können beispielsweise alle Bereiche erben, während Sie keine Rollen erben oder umgekehrt.

Einschränkungen für vererbbare Berechtigungen

  • Höchstens 50 Ressourcen-Apps pro Blueprint für die Agentenidentität (z. B. bis zu 50 Einträge in der inheritablePermissions-Sammlung). Wenn Sie diesen Grenzwert überschreiten, verringern Sie die Anzahl der Ressourcen-Apps, um innerhalb der unterstützten Grenze zu bleiben.

Überprüfen und überwachen Sie regelmäßig ihre vererbbare Berechtigungskonfiguration. Überprüfen Sie geerbte Bereiche und Rollen erneut, um sicherzustellen, dass sie für Ihren Anwendungsfall geeignet bleiben. Überprüfen Sie, welche vererbten Bereiche und Rollen von Agenten verwendet werden, und entfernen Sie alle ungenutzten Berechtigungen sowohl aus dem Prinzipal des Agentenidentitäts-Blueprints als auch aus der Liste der vererbbaren Berechtigungen, um die Sicherheitshygiene zu gewährleisten.

Konfigurieren von vererbbaren Berechtigungen (mit Microsoft Graph)

Um vererbbare Berechtigungen zu konfigurieren, verwenden Sie die inheritablePermissions-Navigationseigenschaft für die agentIdentityBlueprint Anwendungsressource. Jeder Eintrag gibt die Bereiche und Rollenvererbungskonfiguration für eine einzelne Ressourcen-App an. Dokumentieren Sie Ihre Konfigurationsentscheidungen, indem Sie nachverfolgen, warum jeder Bereich oder jede Rolle vererbbar ist und wer sie zu Überwachungszwecken genehmigt hat.

Stellen Sie beim Angeben der resourceAppId Anforderungen sicher, dass Sie ein gültiges GUID-Format angeben. Ungültige GUIDs führen zu Fehlern vom Typ „400 – Ungültige Anforderung“.

Gesamte Bereichs- und Rollenvererbung für Microsoft Graph hinzufügen

Anforderung

POST https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions
Content-Type: application/json
OData-Version: 4.0

{
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "#microsoft.graph.allAllowedScopes",
    "kind": "allAllowed"
  },
  "inheritableRoles": {
    "@odata.type": "#microsoft.graph.allAllowedRoles",
    "kind": "allAllowed"
  }
}

Antwort

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.allAllowedScopes",
    "kind": "allAllowed"
  },
  "inheritableRoles": {
    "@odata.type": "microsoft.graph.allAllowedRoles",
    "kind": "allAllowed"
  }
}

Gesamte Bereichs- und Rollenvererbung für mehrere Ressourcen hinzufügen

Sie können vererbbare Berechtigungen für mehrere Ressourcen-Apps im gleichen Blueprint konfigurieren. Jede Ressource erfordert eine separate POST-Anforderung. Im folgenden Beispiel wird die Vererbung sowohl für Microsoft Graph als auch für SharePoint Online hinzugefügt.

Request (Microsoft Graph)

POST https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions
Content-Type: application/json
OData-Version: 4.0

{
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "#microsoft.graph.allAllowedScopes",
    "kind": "allAllowed"
  },
  "inheritableRoles": {
    "@odata.type": "#microsoft.graph.allAllowedRoles",
    "kind": "allAllowed"
  }
}

Antwort

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.allAllowedScopes",
    "kind": "allAllowed"
  },
  "inheritableRoles": {
    "@odata.type": "microsoft.graph.allAllowedRoles",
    "kind": "allAllowed"
  }
}

Request (SharePoint Online)

POST https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions
Content-Type: application/json
OData-Version: 4.0

{
  "resourceAppId": "00000003-0000-0ff1-ce00-000000000000",
  "inheritableScopes": {
    "@odata.type": "#microsoft.graph.allAllowedScopes",
    "kind": "allAllowed"
  },
  "inheritableRoles": {
    "@odata.type": "#microsoft.graph.allAllowedRoles",
    "kind": "allAllowed"
  }
}

Antwort

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
  "resourceAppId": "00000003-0000-0ff1-ce00-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.allAllowedScopes",
    "kind": "allAllowed"
  },
  "inheritableRoles": {
    "@odata.type": "microsoft.graph.allAllowedRoles",
    "kind": "allAllowed"
  }
}

Nur Vererbung von Bereichen hinzufügen (keine Rollen)

Um delegierte Berechtigungen zu erben, jedoch keine Anwendungsrollen, legen Sie inheritableRoles auf noRoles.

Anforderung

POST https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions
Content-Type: application/json
OData-Version: 4.0

{
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "#microsoft.graph.allAllowedScopes",
    "kind": "allAllowed"
  },
  "inheritableRoles": {
    "@odata.type": "#microsoft.graph.noRoles",
    "kind": "none"
  }
}

Antwort

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.allAllowedScopes",
    "kind": "allAllowed"
  },
  "inheritableRoles": {
    "@odata.type": "microsoft.graph.noRoles",
    "kind": "none"
  }
}

Nur Vererbung von Rollen hinzufügen (keine Bereiche)

Um Anwendungsrollen zu erben, aber keine delegierten Bereiche, konfigurieren Sie inheritableScopes auf noScopes.

Anforderung

POST https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions
Content-Type: application/json
OData-Version: 4.0

{
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "#microsoft.graph.noScopes",
    "kind": "none"
  },
  "inheritableRoles": {
    "@odata.type": "#microsoft.graph.allAllowedRoles",
    "kind": "allAllowed"
  }
}

Antwort

HTTP/1.1 201 Created
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.noScopes",
    "kind": "none"
  },
  "inheritableRoles": {
    "@odata.type": "microsoft.graph.allAllowedRoles",
    "kind": "allAllowed"
  }
}

Aktualisieren, um die Rollenvererbung zu deaktivieren

Wenn bereits ein Eintrag für eine resourceAppId vorhanden ist, verwenden Sie PATCH, um ihn zu aktualisieren, anstatt zu versuchen, einen doppelten Eintrag zu erstellen, was zu einem Konfliktfehler von 409 führen würde. Im folgenden Beispiel wird die Rollenvererbung deaktiviert, während die Bereichsvererbung aktiviert bleibt.

Anforderung

PATCH https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions/00000003-0000-0000-c000-000000000000
Content-Type: application/json
OData-Version: 4.0

{
  "inheritableRoles": {
    "@odata.type": "#microsoft.graph.noRoles",
    "kind": "none"
  }
}

Antwort

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.allAllowedScopes",
    "kind": "allAllowed"
  },
  "inheritableRoles": {
    "@odata.type": "microsoft.graph.noRoles",
    "kind": "none"
  }
}

Update zur Deaktivierung der Vererbung von Bereichen

Im folgenden Beispiel wird die Bereichsvererbung deaktiviert, während die Rollenvererbung aktiviert bleibt.

Anforderung

PATCH https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions/00000003-0000-0000-c000-000000000000
Content-Type: application/json
OData-Version: 4.0

{
  "inheritableScopes": {
    "@odata.type": "#microsoft.graph.noScopes",
    "kind": "none"
  }
}

Antwort

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#applications('bc057821-f236-49d6-9f2c-1ebf43e9437a')/inheritablePermissions/$entity",
  "resourceAppId": "00000003-0000-0000-c000-000000000000",
  "inheritableScopes": {
    "@odata.type": "microsoft.graph.noScopes",
    "kind": "none"
  },
  "inheritableRoles": {
    "@odata.type": "microsoft.graph.allAllowedRoles",
    "kind": "allAllowed"
  }
}

Vorhandene vererbbare Berechtigungen löschen

Anforderung

DELETE https://graph.microsoft.com/v1.0/applications/microsoft.graph.agentIdentityBlueprint/bc057821-f236-49d6-9f2c-1ebf43e9437a/inheritablePermissions/00000003-0000-0000-c000-000000000000
OData-Version: 4.0

Antwort

HTTP/1.1 204 No Content