Freigeben über


Registrieren von Anwendungsberechtigungen vom Typ "Dateispeichercontainer"

Damit eine SharePoint Embedded-Anwendung mit Containern in einem nutzenden Mandanten interagieren kann, muss der Containertyp zuerst im nutzenden Mandanten registriert werden. Die Containertypregistrierung erfolgt, wenn die besitzende Anwendung die Registrierungs-API aufruft, um anzugeben, welche Berechtigungen für ihren Containertyp ausgeführt werden können. Die Registrierungs-API gewährt auch Zugriff auf andere Gast-Apps, um mit den Containern der besitzenden Anwendung zu interagieren. Eine SharePoint Embedded-Anwendung kann z. B. Berechtigungen für eine andere Anwendung erteilen– einer Gast-App, damit die Gast-App Sicherungsvorgänge für ihre Container ausführen kann.

Da die Registrierungs-API die Berechtigungen steuert, die eine SharePoint Embedded-Anwendung für den Container im nutzenden Mandanten ausführen kann, sollte dieser Aufruf eine der ersten aufgerufenen APIs sein. Wenn dies nicht der Vorgang ist, führt dies zu Fehlern beim Aufrufen anderer APIs für den Container und/oder den Inhalt in den Containern.

Es gibt keine Einschränkungen, wie oft die Registrierungs-API aufgerufen werden kann. Wie oft die Registrierungs-API aufgerufen wird und wann sie aufgerufen wird, hängt von der SharePoint Embedded-Anwendung ab. Der letzte erfolgreiche Aufruf der Registrierungs-API bestimmt jedoch die Einstellungen, die im nutzenden Mandanten verwendet werden.

Authentifizierungs- und Autorisierungsanforderungen

Damit die besitzereigene Anwendung des Containertyps auf einen nutzenden Mandanten reagiert, müssen einige Voraussetzungen erfüllt sein:

  • Für die besitzende App muss ein Dienstprinzipal auf dem nutzenden Mandanten installiert sein. und
  • Der besitzenden App muss die Administratoreinwilligung erteilt werden, um die Containertypregistrierung im nutzenden Mandanten durchzuführen.

Hinweis

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

Beide Anforderungen können erfüllt werden, indem ein Mandantenadministrator des nutzenden Mandanten die Administratoreinwilligung für die besitzende Anwendung des Containertyps erteilt.

Die API für die Containertypregistrierung erfordert die Container.Selected Nur-App-Berechtigung für SharePoint (siehe Außergewöhnliche Zugriffsmuster). Sie müssen den Flow zur Gewährung von Clientanmeldeinformationen verwenden und ein Token mit einem Zertifikat anfordern , um die Registrierungs-API zu verwenden.

Hinweis

Die Registrierungs-API ist KEIN Microsoft-Graph-API sondern eine SharePoint-API. Diese API wird in Zukunft zu Microsoft Graph portiert.

Um die Administratoreinwilligung von einem Mandantenadministrator im nutzenden Mandanten anzufordern, können Sie diesen an den Endpunkt für die Administratoreinwilligung weiterleiten. Informationen zu den richtigen Endpunkten in nationalen Clouds finden Sie unter Microsoft Identity Platform Endpunkte in nationalen Clouds:

https://login.microsoftonline.com/<ConsumingTenantID>/adminconsent?client_id=<OwningTenantClientID>

Sie können den Endpunkt für die Administratoreinwilligung so konfigurieren, dass er Ihren Anforderungen entspricht, einschließlich der Behandlung von Fehlern und erfolgreichen Genehmigungen. Weitere Informationen finden Sie unter Admin Zustimmungs-URI.

Containertypberechtigungen

Die Registrierungs-API bestimmt, welche Berechtigungen eine SharePoint Embedded-Anwendung für Container und Inhalte in Containern für den angegebenen Containertyp ausführen kann.

Berechtigung Beschreibung
Keine Verfügt über keine Berechtigungen für Container oder Inhalte dieses Containertyps.
ReadContent Kann Den Inhalt von Containern dieses Containertyps lesen.
WriteContent Kann Inhalte für diesen Containertyp in Container schreiben. Diese Berechtigung kann ohne die ReadContent-Berechtigung nicht erteilt werden.
Erstellen Kann Container dieses Containertyps erstellen.
Löschen Kann Container dieses Containertyps löschen.
Lesen Kann die Metadaten von Containern dieses Containertyps lesen.
Schreiben Kann die Metadaten von Containern dieses Containertyps aktualisieren.
EnumeratePermissions Kann die Member eines Containers und deren Rollen für Container dieses Containertyps auflisten.
AddPermissions Kann dem Container für Container dieses Containertyps Member hinzufügen.
UpdatePermissions Kann vorhandene Mitgliedschaften im Container für Container dieses Containertyps aktualisieren (ändern).
DeletePermissions Kann andere Member (aber nicht selbst) aus dem Container für Container dieses Containertyps löschen.
DeleteOwnPermissions Kann die eigene Mitgliedschaft aus dem Container für Container dieses Containertyps entfernen.
ManagePermissions Kann Mitglieder in den Containerrollen für Container dieses Containertyps hinzufügen, entfernen (einschließlich selbst) oder aktualisieren.
Vollständig Verfügt über alle Berechtigungen für Container dieses Containertyps.

HTTP-Anforderung

PUT {RootSiteUrl}/_api/v2.1/storageContainerTypes/{containerTypeId}/applicationPermissions

Hinweis

Dies ist KEIN Graph-API

{RootSiteURL} ist die SharePoint-URL des Nutzens des Mandanten. Beispiel: https://contoso.sharepoint.com.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung der Containertypberechtigungen für die SharePoint Embedded-Anwendungen an.

Antwort

Bei erfolgreicher Ausführung gibt die Methode einen 200 OK Antwortcode und die Containertypberechtigungen zurück, die für die SharePoint Embedded-Anwendungen im Antworttext konfiguriert sind.

HTTP-Code Beschreibung
400 Ungültige Anforderung.
401 Für die Anforderung fehlen gültige Anmeldeinformationen für die Authentifizierung.
403 Die angegebenen Anmeldeinformationen für die Authentifizierung sind gültig, reichen aber nicht aus, um den angeforderten Vorgang auszuführen. Beispiele: Die aufrufende App ist nicht die besitzereigene App des Containertyps.
404 Der Containertyp ist nicht vorhanden.

Beispiele

Registrieren des Containertyps in einem nutzenden Mandanten mit Berechtigungen nur für die besitzende App

Registrieren Sie den Containertyp im nutzenden Mandanten, und gewähren Sie der besitzenden Anwendung (AppId 71392b2f-1765-406e-86af-5907d9bdb2ab) vollständige Berechtigungen für delegierte und AppOnly-Aufrufe.

Anforderung

PUT {RootSiteUrl}/_api/v2.1/storageContainerTypes/{containerTypeId}/applicationPermissions
Content-Type: application/json

{
  "value": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegated": ["full"],
      "appOnly": ["full"]
    }
  ]
}

Antwort

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

{
  "value": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegated": ["full"],
      "appOnly": ["full"]
    }
  ]
}

Registrieren des Containertyps in einem Nutzen-Mandanten mit Berechtigungen für eine Gast-App

Registrieren Sie den Containertyp im nutzenden Mandanten, und gewähren Sie der besitzenden Anwendung (AppId 71392b2f-1765-406e-86af-5907d9bdb2ab) vollständige Berechtigungen für delegierte und AppOnly-Aufrufe. Darüber hinaus gewähren Sie einer Gast-App (AppId 89ea5c94-7736-4e25-95ad-3fa95f62b6) Lese- und Schreibberechtigungen nur für delegierte Aufrufe.

Anforderung

PUT /storagecontainerTypes/{containerTypeId}/applicationPermissions
Content-Type: application/json

{
  "value": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegated": ["full"],
      "appOnly": ["full"]
    },
    {
      "appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
      "delegated": ["read", "write"],
      "appOnly": ["none"]
    }
  ]
}

Antwort

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

{
  "value": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegated": ["full"],
      "appOnly": ["read"]
    },
    {
      "appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
      "delegated": ["read", "write"],
      "appOnly": ["none"]
    }
  ]
}