Partager via


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 de l’authentification et de 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.
  • Les applications peuvent uniquement accéder aux conteneurs dont l’utilisateur est membre lors de l’utilisation de l’accès pour le compte d’un utilisateur.
  • Les applications peuvent accéder à tous les conteneurs activés par leurs autorisations d’application de type conteneur lors de l’utilisation de l’accès sans utilisateur.
  • Les applications utilisent l’accès au nom des utilisateurs dans la mesure du possible pour améliorer la sécurité et la responsabilité

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.

Autorisations de l’application

Les applications SharePoint Embedded doivent demander les autorisations Microsoft Graph suivantes dans leur manifeste d’application pour fonctionner avec SharePoint Embedded :

  • FileStorageContainerType.Manage.All pour permettre à une application de créer et de gérer des types de conteneurs sur le locataire propriétaire. Cette autorisation n’est nécessaire que sur le locataire propriétaire où le type de conteneur est créé.
  • FileStorageContainerTypeReg.Selected pour permettre à une application d’inscrire le type de conteneur sur les locataires consommateurs.
  • FileStorageContainer.Sélectionné pour permettre à une application d’accéder aux conteneurs du type de conteneur donné sur les locataires qui consomment.

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 avec des modèles d’accès exceptionnels :

Importante

Tenez compte des répercussions de ces modèles d’accès exceptionnels sur la façon dont votre application et d’autres applications peuvent accéder au contenu SharePoint Embedded dans votre type de conteneur.

Opérations non exposées via Microsoft Graph

Il existe un scénario qui n’est pas accessible via Microsoft Graph aujourd’hui :

Pour utiliser l’expérience de l’agent SharePoint Embedded (en préversion) dans votre application, vous avez besoin de 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

L’autorisation Container.Selected est une autorisation masquée qui n’apparaît pas dans l’expérience de consentement administrateur Microsoft Entra. Pour plus d’informations, consultez Octroi d’un consentement administrateur pour les autorisations masquées .

L’octroi du consentement administrateur pour les applications qui demandent une autorisation masquée DOIT être effectué à l’aide de l’URL de consentement administrateur. Fournissez l’URL de consentement à l’administrateur d’annuaire Microsoft Entra et assurez-vous qu’il confirme une réponse correcte. L’URL de consentement peut ressembler à ceci :

https://login.microsoftonline.com/{tenant}/v2.0/adminconsent?client_id={client_id}&redirect_uri={redirect_uri}&scope={tenant_root_site_url}/.default

Importante

N’utilisez pas le volet inscriptions d'applications dans le Portail Azure pour accorder le consentement administrateur aux applications qui demandent des autorisations masquées. Le volet inscriptions d'applications ne valide pas les autorisations masquées demandées et les supprime du manifeste. Vous pouvez utiliser le volet Applications d’entreprise dans le Portail Azure pour afficher les autorisations masquées accordées une fois que le consentement administrateur a été accordé via l’URL du consentement administrateur.

Opérations impliquant la recherche de contenu SharePoint Embedded

Cette section fait référence uniquement aux scénarios de recherche dans Contenu de recherche, et non aux scénarios d’énumération.

Pour utiliser recherche Microsoft sur le contenu SharePoint Embedded, vous devez demander l’autorisation Microsoft Graph déléguée Files.Read.All par-dessus FileStorageContainer.Selected, normalement utilisée pour l’accès SharePoint Embedded. Pendant la phase d’aperçu de cette fonctionnalité, l’autorisation Files.Read.All d’application accorde aux applications l’accès aux fonctionnalités de recherche sur tout le contenu SharePoint Embedded.

Remarque

La prise en charge de Microsoft Search pour le contenu SharePoint Embedded est en préversion et est susceptible d’être modifiée. Les exigences d’accès pour le contenu de Recherche Microsoft sur SharePoint Embedded s’aligneront sur le modèle d’autorisation SharePoint Embedded à l’avenir. Restez à l’écoute.

Opérations qui nécessitent une licence utilisateur

SharePoint Embedded est conçu pour fonctionner sans que les utilisateurs finaux n’aient besoin d’aucun type de licence de produit Microsoft 365. Toutefois, certaines opérations ne respectent pas encore ce principe.

Répertorier les conteneurs

L’opération Répertorier les conteneurs retourne un 403 Forbidden code de réponse s’il est appelé au nom d’un utilisateur qui n’a pas de OneDrive. Il est prévu de supprimer bientôt cette dépendance. Cette dépendance ne s’applique pas à l’opération Répertorier les conteneurs lorsqu’elle est appelée sans contexte utilisateur (mode application uniquement).

Mentionner des utilisateurs dans des documents Office

L’expérience Office courante inclut l’examen des documents et l’ajout de commentaires à ces documents. Pour que les utilisateurs s’affichent dans le @mentions sélecteur de personnes, une licence Microsoft 365 doit leur être attribuée.

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 cliente 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 Microsoft Entra PowerShell ou l’interface CLI Azure) pour demander les autorisations requises sur votre locataire propriétaire :
    • Microsoft Graph (resourceAppId : 00000003-0000-0000-c000-000000000000)
      • Ajouter : FileStorageContainerType.Manage.All (type : Role, ID : 8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b) pour créer des types de conteneur sur le locataire propriétaire
  2. Accorder le consentement de l’administrateur à votre application sur votre locataire propriétaire
  3. Créez un type de conteneur sur le locataire propriétaire .
  4. Reconfigurez votre manifeste d’application SharePoint Embedded pour demander uniquement les autorisations requises sur l’utilisation des locataires :
    • Microsoft Graph (resourceAppId : 00000003-0000-0000-c000-000000000000)
      • Supprimer : FileStorageContainerType.Manage.All (type : Role, ID : 8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b) car cela est nécessaire uniquement pour créer le type de conteneur sur le locataire propriétaire

        Remarque

        Après avoir créé le type de conteneur sur le locataire propriétaire , vous devez supprimer l’autorisation FileStorageContainerType.Manage.All du manifeste de votre application. Votre application n’en a PAS besoin sur les locataires consommateurs , mais uniquement sur le locataire propriétaire pour créer le type de conteneur. Si vous ne supprimez pas cette autorisation du manifeste de l’application, vos clients sont préoccupés par les autorisations excessives demandées par votre application.

      • Ajouter : FileStorageContainerTypeReg.Selected (type : Role, ID : 2dcc6599-bd30-442b-8f11-90f88ad441dc) pour inscrire le type de conteneur sur les locataires consommateurs
      • Ajouter : FileStorageContainer.Selected (type : Scope, ID : 085ca537-6565-41c2-aca7-db852babc212) pour accéder aux conteneurs sur la consommation de locataires pour le compte des utilisateurs
      • Si vous le souhaitez, ajoutez : FileStorageContainer.Selected (type : Role, ID : 40dc41bc-0f7e-42ff-89bd-d9516947e474) pour accéder au conteneur lors de la consommation de locataires sans utilisateur
    • Office 365 SharePoint Online (resourceAppId : 00000003-0000-0ff1-ce00-000000000000)
      • Container.Selected (type : Role, ID : 19766c1b-905b-43af-8756-06526ab42875) pour utiliser l’agent SharePoint Embedded
  5. Accordez le consentement administrateur à votre application sur un locataire consommateur (qui peut être identique au locataire propriétaire).
  6. Inscrivez le type de conteneur sur le locataire consommateur .
  7. Créer un conteneur sur le locataire consommateur