Authentification et autorisation SharePoint Embedded

Pour utiliser SharePoint Embedded, votre application doit utiliser Microsoft Graph. En savoir plus sur l’authentification et l’autorisation Microsoft Graph. En savoir plus sur l’architecture SharePoint Embedded.

Vue d’ensemble

Voici quelques principes clés avec l’authentification et l’autorisation SharePoint Embedded :

  • Les applications interagissent avec SharePoint Embedded via Microsoft Graph.
  • Les applications ont besoin d’autorisations d’application de type conteneur pour accéder aux conteneurs de ce type de conteneur.
  • Lorsque vous utilisez l’accès pour le compte d’un utilisateur, les applications peuvent uniquement accéder aux conteneurs dont l’utilisateur est membre.
  • Lorsque vous utilisez l’accès sans utilisateur, les applications peuvent accéder aux conteneurs activés par les autorisations d’application de type de conteneur qui leur ont été accordées.
  • Les applications utilisent l’accès au nom des utilisateurs dans la mesure du possible pour améliorer la sécurité et l’audibilité

Conditions préalables

  • Une inscription d’application Microsoft Entra ID. Consultez Inscrire une application.
  • Votre locataire Microsoft Entra ID dispose d’un abonnement Microsoft 365

Autorisation

Les opérations SharePoint Embedded sont exposées via Microsoft Graph. SharePoint Embedded prend en charge l’accès pour le compte d’un utilisateur et l’accès sans utilisateur.

Importante

Les autorisations Microsoft Graph accordées à votre application lui permettent d’appeler des points de terminaison SharePoint Embedded. Toutefois, votre application doit être autorisée à accéder à un type de conteneur avant d’accéder aux conteneurs de ce type.

Accès au nom d’un utilisateur

Les opérations SharePoint Embedded pour le compte d’un utilisateur nécessitent que les applications reçoivent le consentement pour l’autorisation déléguée Microsoft Graph FileStorageContainer.Selected . Cette autorisation nécessite le consentement de l’administrateur sur le locataire consommateur avant qu’un utilisateur du locataire puisse y donner son consentement.

En plus de recevoir le consentement de votre application pour FileStorageContainer.Selected sur un locataire consommateur, l’utilisateur dont elle agit pour le compte doit disposer d’autorisations de conteneur. Les autorisations effectives dont dispose l’application sont l’intersection des autorisations d’application et des autorisations utilisateur lorsqu’elle agit pour le compte d’un utilisateur.

Importante

L’utilisation de SharePoint Embedded pour le compte d’un utilisateur est l’approche recommandée. Ce type d’accès améliore la sécurité de votre application. Il améliore également l’auditabilité des actions effectuées par votre application.

Accès sans utilisateur

Les opérations SharePoint Embedded sans utilisateur nécessitent que les applications reçoivent le consentement pour l’autorisation d’application Microsoft Graph FileStorageContainer.Selected . Cette autorisation nécessite le consentement de l’administrateur sur le locataire consommateur.

Remarque

Un administrateur du locataire consommateur doit donner son consentement à la demande d’autorisations de votre application. Apprenez-en davantage ici.

Modèles d’accès exceptionnels

Actuellement, il existe deux types d’opérations qui ne sont pas accessibles via Microsoft Graph :

Pour effectuer des opérations de gestion de type de conteneur , vous devez être administrateur SharePoint Embedded ou administrateur général.

Pour inscrire un type de conteneur, vous devez demander l’autorisation Container.Selected sur la Office 365 SharePoint Online ressource.

Nom de l’étendue ID d’étendue Type Opération
Container.Selected 19766c1b-905b-43af-8756-06526ab42875 Application Dans le contexte de SharePoint Embedded, active l’inscription de type de conteneur sur un locataire consommateur.

Remarque

La gestion des types de conteneurs sur les locataires propriétaires et l’inscription sur les locataires consommateurs deviendront bientôt des opérations Microsoft Graph et cette étape ne sera plus nécessaire. Restez à l’écoute.

Autorisations d’application de type de conteneur

Les applications SharePoint Embedded doivent se voir accorder des autorisations d’application de type conteneur par l’application propriétaire avant de pouvoir accéder aux conteneurs du type de conteneur donné. Les autorisations d’application de type de conteneur sont accordées aux applications via l’inscription du type de conteneur.

Autorisation Description
Aucun N’a aucune autorisation sur les conteneurs ou le contenu de ce type de conteneur.
ReadContent Peut lire le contenu des conteneurs de ce type de conteneur.
WriteContent Peut écrire du contenu dans des conteneurs pour ce type de conteneur. Cela ne peut pas être accordé sans l’autorisation ReadContent.
Créer Peut créer des conteneurs de ce type de conteneur.
Supprimer Peut supprimer des conteneurs de ce type de conteneur.
Lire Peut lire les métadonnées des conteneurs de ce type de conteneur.
Écrire Peut mettre à jour les métadonnées des conteneurs de ce type de conteneur.
EnumeratePermissions Peut énumérer les membres d’un conteneur et leurs rôles pour les conteneurs de ce type de conteneur.
AddPermissions Peut ajouter des membres au conteneur pour les conteneurs de ce type de conteneur.
UpdatePermissions Peut mettre à jour (modifier les rôles de) les appartenances existantes dans le conteneur pour les conteneurs de ce type de conteneur.
DeletePermissions Peut supprimer d’autres membres (mais pas eux-mêmes) du conteneur pour les conteneurs de ce type de conteneur.
DeleteOwnPermissions Peut supprimer sa propre appartenance du conteneur pour les conteneurs de ce type de conteneur.
ManagePermissions Peut ajouter, supprimer (y compris auto)ou mettre à jour des membres dans les rôles de conteneur pour les conteneurs de ce type de conteneur.
ManageContent Peut gérer le contenu du conteneur
Complet Dispose de toutes les autorisations pour les conteneurs de ce type de conteneur.

Remarque

La combinaison des autorisations Microsoft Graph et des autorisations d’application de type conteneur englobe l’autorisation du client pour les applications.

Autorisations de conteneur

Tout utilisateur accédant à un conteneur doit être membre du conteneur. L’appartenance à un conteneur accorde aux utilisateurs des autorisations de conteneur. Ces autorisations définissent le niveau d’accès dont disposent les utilisateurs sur un conteneur donné. Les autorisations de conteneur s’appliquent uniquement à l’accès au nom d’un utilisateur et non à l’accès sans utilisateur. Une application SharePoint Embedded accédant aux conteneurs sans utilisateur obtient à la place l’accès complet défini dans ses autorisations d’application de type de conteneur .

Importante

L’utilisateur appelant qui crée un conteneur par le biais d’appels délégués se voit automatiquement attribuer le rôle Propriétaire.

Autorisation Description
Lecteur Ce rôle permet à l’utilisateur de lire les propriétés et le contenu du conteneur.
Rédacteur Ce rôle dispose de toutes les autorisations d’un lecteur, ainsi que de l’autorisation de créer, mettre à jour et supprimer du contenu à l’intérieur du conteneur, et de mettre à jour les propriétés de conteneur applicables.
Responsable Ce rôle dispose de toutes les autorisations d’un writer, ainsi que de l’autorisation de gérer l’appartenance au conteneur.
Propriétaire Ce rôle dispose de toutes les autorisations d’un responsable, ainsi que de l’autorisation de supprimer des conteneurs.

Quelles sont les prochaines étapes ?

Voici quelques actions que vous pouvez effectuer ensuite :

  1. Configurez votre manifeste d’application SharePoint Embedded (vous pouvez utiliser Entra PowerShell ou Azure CLI) pour demander les autorisations requises :
    • Microsoft Graph (resourceAppId : 00000003-0000-0000-c000-000000000000)
      • FileStorageContainer.Selected (type : Scope, ID : 085ca537-6565-41c2-aca7-db852babc212) pour accéder aux conteneurs sur les locataires consommateurs
    • Office 365 SharePoint Online (resourceAppId : 00000003-0000-0ff1-ce00-000000000000)
      • Container.Selected (type : Role, ID : 19766c1b-905b-43af-8756-06526ab42875) pour inscrire un conteneur sur les locataires consommateurs
  2. Accordez le consentement administrateur à votre application sur les locataires propriétaires et consommateurs (qui peuvent être le même locataire).
  3. Créez un type de conteneur sur le locataire propriétaire.
  4. Inscrivez un type de conteneur sur le locataire consommateur.
  5. Créer un conteneur