Anwendungsberechtigungen registrieren

Gilt für: Entwickler

Registrieren Sie Containertypanwendungsberechtigungen, bevor Ihre SharePoint Embedded-App Container erstellt oder auf Inhalte in einem nutzenden Mandanten zugreift.

Abschließen : Erstellen und konfigurieren Sie zunächst einen Containertyp , damit Sie über eine Containertyp-ID und eine besitzende Anwendung verfügen.

Warum eine Registrierung erforderlich ist

Eine SharePoint Embedded-Anwendung kann erst dann mit Containern in einem nutzenden Mandanten interagieren, wenn der Containertyp in diesem Mandanten registriert ist.

Kontrollen für die Registrierung:

  • Welche Anwendungs-IDs auf den Containertyp zugreifen können.
  • Welche delegierten Berechtigungen jede Anwendung hat.
  • Welche Nur-App-Berechtigungen jede Anwendung hat.
  • Ob Gastanwendungen mit den Containern der besitzenden Anwendung interagieren können.

Wenn die Registrierung fehlt oder unvollständig ist, können spätere Aufrufe mit Fehlern "Zugriff verweigert" fehlschlagen.

Verstehen, wer sich registrieren kann

Nur die besitzende Anwendung des Containertyps kann die Registrierungs-API im nutzenden Mandanten aufrufen.

Die besitzende Anwendung muss über Folgendes verfügen:

  • Ein Dienstprinzipal, der auf dem verbrauchenden Mandanten installiert ist.
  • Admin willigt ein, die Registrierung im nutzenden Mandanten durchzuführen.
  • Die FileStorageContainerTypeReg.Selected Microsoft Graph-Berechtigung (vom Benutzer delegiert oder nur App).
  • Ein gültiges Token für die Microsoft Graph-Ressource.

Hinweis

Die Containertypregistrierungs-API ist in Microsoft Graph v1.0 verfügbar.

Wenn die besitzende Anwendung die Registrierungs-API im Namen eines Benutzers (delegiert) aufruft, muss diesem Benutzer die Rolle SharePoint Embedded-Administrator oder Globaler Administrator zugewiesen werden. Beim Aufrufen ohne Benutzerkontext (nur App) wird der Flow zur Erteilung der Clientanmeldeinformationen verwendet.

Bitten Sie einen nutzenden Mandantenadministrator, der besitzenden Anwendung Administratorzustimmung zu erteilen.

Verwenden Sie den Endpunkt für die Administratorzustimmung der Microsoft Identity Platform:

https://login.microsoftonline.com/{consuming-tenant-id}/v2.0/adminconsent?client_id={owning-app-clientid}&scope=https://graph.microsoft.com/.default&redirect_uri={spe-app-redirect-uri}

Konfigurieren Sie die Erfolgs- und Fehlerbehandlung für Ihren Onboarding-Flow.

Nationale Cloudendpunkte finden Sie unter Microsoft Identity Platform-Endpunkte in nationalen Clouds.

Beziehen eines Tokens für die Registrierung

Verwenden Sie entweder die delegierte Authentifizierung oder die Nur-App-Authentifizierung für die Registrierung.

Die Registrierung erfordert:

  • Die FileStorageContainerTypeReg.Selected Microsoft Graph-Berechtigung.
  • Bei reinen App-Aufrufen gewähren die Clientanmeldeinformationen einen Flow.
  • Bei delegierten Anrufen ein angemeldeter Benutzer mit der Rolle "SharePoint Embedded-Administrator" oder "Globaler Administrator".

Containertypberechtigungen registrieren

Rufen Sie den Registrierungsendpunkt im nutzenden Mandanten auf.

PUT https://graph.microsoft.com/v1.0/storage/fileStorage/containerTypeRegistrations/{containerTypeId}

{containerTypeId} ist die im Entwicklermandanten erstellte Containertyp-ID.

Geben Sie im Anforderungstext die für den Containertyp erteilten Anwendungsberechtigungen an.

Erstellen, Ersetzen oder Aktualisieren einer Registrierung

Wählen Sie den Vorgang basierend darauf, ob Sie die vollständige Registrierung ersetzen oder ausgewählte Eigenschaften aktualisieren möchten:

Ziel Microsoft Graph-Anforderung Verhalten
Erstellen oder Ersetzen einer Registrierung PUT /storage/fileStorage/containerTypeRegistrations/{containerTypeId} Erstellt die Registrierung mit der Containertyp-ID. Wenn die Registrierung vorhanden ist, ersetzt die Anforderung sie durch die vollständige Nutzlast.
Ausgewählte Registrierungseigenschaften aktualisieren PATCH /storage/fileStorage/containerTypeRegistrations/{registrationId} Updates nur die in Microsoft Graph v1.0 bereitgestellten Eigenschaften.

Der PATCH Vorgang verwendet die Registrierung etag für optimistische Parallelität. Lesen Sie die aktuelle Registrierung, und fügen Sie ihre etag Eigenschaft in den Updatetext ein. Wenn eine andere Anforderung zuerst die Registrierung ändert, lesen Sie den neuesten Wert, und stimmen Sie Ihr Update ab, anstatt es zu überschreiben.

Die Verteilung von Registrierungsaktualisierungen kann bis zu einer Stunde dauern.

API-Details finden Sie unter Erstellen einer fileStorageContainerTypeRegistration und Aktualisieren einer fileStorageContainerTypeRegistration.

Erteilen von Berechtigungen für die besitzende App

Eine gemeinsame erste Registrierung gewährt der besitzenden App vollständige Berechtigungen für delegierte und nur App-Aufrufe.

{
  "applicationPermissionGrants": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegatedPermissions": ["full"],
      "applicationPermissions": ["full"]
    }
  ]
}

Ersetzen Sie die ID der Beispiel-App durch die ID Ihrer besitzenden Anwendung.

Achtung

Verwenden Sie die niedrigsten Berechtigungen für die Produktion. Nur gewähren full , wenn die Anwendung vollständigen Containertypzugriff benötigt.

Erteilen von Berechtigungen für eine Gast-App

Die besitzende App kann auch Berechtigungen für eine andere Anwendung registrieren.

Verwenden Sie dieses Muster, wenn eine Gast-App eine definierte Workload benötigt, z. B. Sicherung oder Verarbeitung.

{
  "applicationPermissionGrants": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegatedPermissions": ["full"],
      "applicationPermissions": ["full"]
    },
    {
      "appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6cd",
      "delegatedPermissions": ["read", "write"],
      "applicationPermissions": ["none"]
    }
  ]
}

Ersetzen Sie beide App-IDs durch Ihre Anwendungen.

Berechtigungswerte

Permission Verwendung
none Erteilen Sie keine Berechtigungen.
readContent Lesen Sie Inhalte in Containern dieses Typs.
writeContent Schreiben Sie Inhalte in Container dieses Typs.
create Erstellen Sie Container dieses Typs.
delete Löschen Sie Container dieses Typs.
read Containermetadaten lesen.
write Aktualisieren Sie die Containermetadaten.
enumeratePermissions Auflisten von Containermitgliedern und -rollen
addPermissions Fügen Sie Containermitglieder hinzu.
updatePermissions Aktualisieren Sie vorhandene Mitgliedschaften.
deletePermissions Andere Mitglieder löschen.
deleteOwnPermission Entfernen Sie die eigene Mitgliedschaft des Anrufers.
managePermissions Verwalten Sie Containerrollenzuweisungen.
manageContent Verwalten Sie den Inhalt von Containern dieses Typs.
full Erteilen Sie alle Berechtigungen.

Hinweis

writeContent kann ohne gewährt werden readContent.

Registrierung überprüfen

Eine erfolgreiche Registrierung gibt die konfigurierten Berechtigungen im Antworttext zurück 201 Created .

Nach erfolgreicher Registrierung:

  1. Vergewissern Sie sich, dass die Antwort die erwarteten App-IDs enthält.
  2. Vergewissern Sie sich, dass delegierte und Nur-App-Arrays Ihren beabsichtigten Zuweisungen entsprechen.
  3. Rufen Sie ein Microsoft Graph-Token mit SharePoint Embedded-Berechtigungen ab.
  4. Versuchen Sie es mit einem Vorgang mit geringem Risiko, der der registrierten Berechtigung entspricht.
  5. Fahren Sie mit Konfigurieren von Authentifizierung und Autorisierung fort.
Problembeschreibung Voraussichtliche Ursache Aktion
401 Unauthorized Fehlendes oder ungültiges Token Fordern Sie ein gültiges Nur-App-Token an.
403 Forbidden App hat keine Berechtigung oder besitzt App nicht Bestätigen Sie FileStorageContainerTypeReg.Selecteddie Zustimmung und die App-ID.
404 Not Found Containertyp ist nicht vorhanden Überprüfen Sie ID und Mandant.
Zugriff bei Graph-Anrufen verweigert Registrierung fehlt oder ist unzureichend Registrieren Sie sich mit den erforderlichen Berechtigungen erneut.
Admin kann ausgeblendete Berechtigungen nicht finden Portal zeigt es nicht an Verwenden Sie eine URL für die Administratorzustimmung.

Sicher erneut registrieren

Es gibt keine Einschränkung, wie oft die Registrierungs-API aufgerufen werden kann.

Der letzte erfolgreiche Registrierungsaufruf bestimmt die Einstellungen, die im nutzenden Mandanten verwendet werden.

Verwenden Sie einen sicheren Updatevorgang:

  1. Entscheiden Sie, ob für die Änderung ein vollständiger PUT Ersatz oder ein gezieltes PATCH Update erforderlich ist.
  2. Erstellen PUTSie für eine vollständige Registrierungsnutzlast.
  3. Für PATCHlesen und schließen Sie die aktuelle Registrierung etagein.
  4. Schließen Sie alle Apps ein, die den Zugriff beibehalten sollen.
  5. Übermitteln Sie den Registrierungsaufruf.
  6. Überprüfen Sie die Antwort.
  7. Führen Sie Rauchtests für jede App-Rolle aus.

Wichtig

Senden Sie keine Teilnutzlast, es sei denn, die resultierende Registrierung soll nur diesen Satz von Anwendungen und Berechtigungen enthalten.

Nächste Schritte

Konfigurieren Sie Token und Autorisierungsflüsse in Konfigurieren Sie die Authentifizierung und Autorisierung.