Configurer l’authentification et l’autorisation

S’applique à : Développeur

Configurez l’authentification et l’autorisation avant que votre application SharePoint Embedded appelle les API Microsoft Graph ou SharePoint Embedded.

Terminer Inscrivez d’abord les autorisations d’application afin que le type de conteneur soit inscrit dans le client consommateur.

Comprendre le modèle d’accès

SharePoint Embedded utilise deux couches d’autorisation.

Les autorisations Microsoft Graph permettent à l’application d’appeler des points de terminaison SharePoint Embedded.

Les autorisations d’application de type conteneur permettent à l’application d’accéder aux conteneurs d’un type de conteneur spécifique.

Les deux couches sont obligatoires.

Importante

Le consentement Microsoft Graph seul n’accorde pas l’accès aux conteneurs. L’application doit également disposer de l’autorisation pour le type de conteneur.

Configurer l’application Microsoft Entra ID

Commencez par une inscription à l’application Microsoft Entra ID. SharePoint Embedded prend en charge tous les types principaux de service Microsoft Entra.

Configurez-le pour votre type d’application :

  1. Enregistrez ou identifiez l’application propriétaire.
  2. Ajoutez des URI de redirection pour les clients de développement et de production.
  3. Ajoutez des informations d’identification pour les flux d’application uniquement si nécessaire.
  4. Ajoutez des autorisations Microsoft Graph pour l’accès SharePoint Embedded.
  5. Ajoutez l’autorisation Microsoft Graph requise pour les scénarios d’inscription.
  6. Demandez à un administrateur d’accorder votre consentement si nécessaire.

Pour obtenir des étapes générales, consultez Inscrire une application sur la Plateforme d’identités Microsoft.

Demander des autorisations Microsoft Graph

Les opérations SharePoint Embedded via Microsoft Graph nécessitent FileStorageContainer.Selected.

Utilisez délégué FileStorageContainer.Selected l’accès pour le compte d’un utilisateur.

Utilisez l’application FileStorageContainer.Selected pour l’accès à l’application uniquement.

L’application FileStorageContainer.Selected nécessite le consentement de l’administrateur dans le client consommateur. Le consentement de l’administrateur n’est pas obligatoire.FileStorageContainer.Selected

À utiliser FileStorageContainer.Manage.All pour les fonctionnalités administratives au nom d’un utilisateur administrateur sur tous les types de conteneurs gouvernables dans le client consommateur. Ces fonctionnalités incluent l’énumération, la suppression, la restauration, la purge et la mise à jour des conteneurs et la gestion de leurs autorisations.

Remarque

La combinaison des autorisations Microsoft Graph et des autorisations d’application de type conteneur détermine ce que l’application peut réellement faire.

Demander l’autorisation pour l’inscription

L’inscription de type de conteneur utilise l’API d’inscription de type de conteneur Microsoft Graph dans la v1.0.

Pour l’inscription, demandez l’autorisation FileStorageContainerTypeReg.Selected Microsoft Graph (déléguée ou application uniquement).

Nom de l’étendue Type Utilisation
FileStorageContainerTypeReg.Selected délégué ou application Active l’inscription de type conteneur sur un client consommateur.

Pour les appels d’inscription délégués, l’utilisateur connecté doit disposer du rôle Administrateur SharePoint Embedded ou Administrateur général.

Utilisez cette autorisation avec Inscrire les autorisations d’application.

Préférer l’accès délégué lorsque cela est possible

Utilisez l’accès pour le compte d’un utilisateur dans la mesure du possible.

L’accès délégué améliore la sécurité, la responsabilité, l’auditabilité et l’alignement avec l’appartenance au conteneur de l’utilisateur.

Lorsque vous utilisez l’accès délégué, les autorisations effectives sont l’intersection des autorisations d’application et des autorisations de conteneur utilisateur.

L’utilisateur doit être membre du conteneur.

Utilisez une application cliente confidentielle pour que votre application continue de contrôler les actions effectuées au nom d’un utilisateur. Une application cliente publique peut exposer des jetons utilisateur à l’utilisateur final, ce qui peut entraîner des actions entreprises en dehors du contrôle de votre application. Pour plus d’informations, voir Applications clientes publiques et clientes confidentielles.

Configurer l’acquisition de jetons délégués

Pour les appels délégués :

  1. Connectez l’utilisateur avec la plateforme d’identités Microsoft.
  2. Demande déléguée FileStorageContainer.Selected
  3. Vérifiez que le consentement délégué est accordé conformément aux stratégies de consentement utilisateur du client consommateur.
  4. Acquérir un jeton d’accès pour Microsoft Graph.
  5. Appelez les points de terminaison Microsoft Graph SharePoint Embedded.
  6. Vérifiez que l’utilisateur est membre du conteneur cible.

Si l’utilisateur n’est pas membre d’un conteneur, l’application ne peut pas accéder à ce conteneur en son nom.

Configurer l’acquisition de jetons à l’application uniquement

Utilisez l’accès à l’application uniquement pour les charges de travail de service qui ne s’exécutent pas en tant qu’utilisateur.

Pour les appels uniquement avec application :

  1. Configurez les informations d’identification d’une application, telles qu’un certificat.
  2. Demander une application FileStorageContainer.Selected.
  3. Un administrateur client consommateur doit accorder le consentement de l’administrateur.
  4. Acquérir un jeton à l’aide du flux d’informations d’identification du client.
  5. Appelez les points de terminaison Microsoft Graph SharePoint Embedded.
  6. Limitez les autorisations de type conteneur aux besoins de la charge de travail.

Attention

Un jeton d’application uniquement peut accéder à tous les conteneurs activés par ses autorisations d’application de type de conteneur. Utilisez des autorisations selon le principe des privilèges minimum.

Appeler les API Microsoft Graph

Après l’acquisition du jeton, appelez les opérations SharePoint Embedded via Microsoft Graph. Les références utiles incluent :

Continuez avec Créer et gérer des conteneurs pour les opérations du cycle de vie.

Gérer les opérations non exposées via Graph

Certaines opérations ont des modèles d’accès exceptionnels.

Ces opérations utilisent des modèles d’accès exceptionnels :

  • Gestion du type de conteneur dans le locataire propriétaire via l’API de type de conteneur Microsoft Graph (FileStorageContainerType.Manage.All autorisation déléguée).
  • Enregistrement de type de conteneur dans le client consommateur via l’API d’enregistrement de type de conteneur Microsoft Graph (FileStorageContainerTypeReg.Selected).
  • L’agent SharePoint Embedded utilise ses propres exigences en matière d’autorisation.
  • Recherche : le contenu Recherche Microsoft sur SharePoint Embedded nécessite l’autorisation déléguée Files.Read.All en plus de FileStorageContainer.Selected.
  • Opérations nécessitant une licence utilisateur : lister les conteneurs est renvoyé 403 Forbidden pour un utilisateur délégué qui n’a pas OneDrive (les appels d’application uniquement ne sont pas affectés) et les utilisateurs ont besoin d’une licence Microsoft 365 pour apparaître dans le sélecteur de personnes Office @mentions .
  • Actions administratives sur les conteneurs : FileStorageContainer.Manage.All nécessite que l’utilisateur connecté soit un administrateur SharePoint Embedded ou un administrateur général. Pour un accès régulier des applications aux conteneurs, utilisez-les FileStorageContainer.Selected avec les autorisations de type de conteneur requises.

Importante

Ne supposez pas que chaque opération utilise le même jeton ou la même ressource d’autorisation. Vérifiez les modèles d’accès exceptionnels avant d’implémenter un flux.

Accorder des autorisations d’application de type conteneur

L’application propriétaire accorde des autorisations d’application de type conteneur via l’inscription de type conteneur dans un client consommateur. Ces autorisations déterminent ce qu’une application peut faire avec les conteneurs de ce type.

Autorisation Description
Aucun Aucune autorisation pour les conteneurs ou le contenu de ce type de conteneur.
Contenu lu Lire le contenu des conteneurs de ce type de conteneur.
Contenu d’écriture Écrire du contenu dans des conteneurs de ce type de conteneur. Requiert ReadContent.
Créer Créez des conteneurs de ce type de conteneur.
Supprimer Supprimez les conteneurs de ce type de conteneur.
Lire Lire les métadonnées des conteneurs de ce type de conteneur.
Écrire Mettez à jour les métadonnées des conteneurs de ce type de conteneur.
EnumeratePermissions Énumérer les membres d’un conteneur et leurs rôles.
AddPermissions Ajoutez des membres à un conteneur.
UpdatePermissions Modifier les rôles des membres existants.
DeletePermissions Supprimer les autres membres (mais pas soi-même) d’un conteneur.
DeleteOwnPermission Supprimer son appartenance d’un conteneur.
Gérer les autorisations Ajoutez, supprimez (y compris vous-même) ou mettez à jour des membres dans des rôles de conteneur.
ManageContent Gérer le contenu conteneur (WriteContent plus la validation des opérations en mode application uniquement).
Complet Toutes les autorisations pour les conteneurs de ce type de conteneur.

Gérer les propriétaires de type de conteneur

Tout utilisateur de Microsoft Entra qui n’est pas une identité externe peut être propriétaire d’un type de conteneur. La gestion des propriétaires via la propriété de navigation des autorisations de la ressource fileStorageContainerType n’est actuellement disponible que dans la version bêta de Microsoft Graph. Chaque entrée a le owner rôle et identifie l’utilisateur via grantedToV2.

Les administrateurs SharePoint Embedded peuvent gérer toutes les applications créées dans le client propriétaire et installées dans le client consommateur. Attribuez le rôle le moins privilégié nécessaire ; le rôle d’administrateur SharePoint Embedded est recommandé plutôt qu’administrateur général pour ces tâches.

Comprendre les autorisations de conteneur

Les autorisations de conteneur s’appliquent uniquement à l’accès délégué. Une application qui accède aux conteneurs sans utilisateur obtient l’accès complet défini par son type de conteneur autorisations d’application.

Les utilisateurs obtiennent une adhésion au conteneur de deux manières :

  • Adhésion directe : l’utilisateur est ajouté directement à un conteneur avec des autorisations spécifiques.
  • Appartenance transitive : l’utilisateur appartient à un groupe Microsoft 365 qui est membre du conteneur.

Un utilisateur doit être membre du conteneur avec l’un des rôles suivants :

Role Récapitulatif d’Access
Lecteur Lisez les propriétés et le contenu des conteneurs.
Rédacteur Accès au lecteur plus créer, mettre à jour et supprimer du contenu et mettre à jour les propriétés applicables.
Responsable Accès à l’enregistreur plus gérer l’adhésion au conteneur.
Propriétaire Accès du responsable plus supprimer des conteneurs.

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

Pour partager des éléments individuels sans accorder l’accès au conteneur, utilisez l’invitation driveItem ou l’autorisation de créer des points de terminaison. Le partage d’un élément n’accorde pas l’accès au conteneur ou à un autre élément qu’il contient.

Valider l’authentification

Valider le flux avant le code de la fonctionnalité :

  1. Vérifiez que le consentement de l’administrateur a été effectué avec succès.
  2. Acquérir un jeton délégué.
  3. Acquérir un jeton d’application uniquement.
  4. Appelez un point de terminaison de graphique simple qui correspond au type de jeton.
  5. Vérifiez que l’inscription inclut l’application d’appel.
  6. Confirmer l’appartenance de l’utilisateur pour les appels délégués.
  7. Vérifiez que l’accès à l’application uniquement est limité par les autorisations de type de conteneur.

Résoudre les problèmes d’autorisation

Symptôme Vérifier
L’appel du graphique renvoie un appel non autorisé Le jeton est manquant, a expiré ou la ressource est incorrecte.
Retours d’appels de graphiques interdits Consentement, autorisation Graph ou autorisation de type de conteneur manquante.
Échec de l’appel délégué pour un utilisateur L’utilisateur n’est pas membre du conteneur ou ne dispose pas du rôle nécessaire.
L’appel à l’application uniquement a trop d’accès L’autorisation de type conteneur est plus large que nécessaire.
Échec de l’appel d’inscription Use FileStorageContainerTypeReg.Selected; pour les appels délégués, l’utilisateur a besoin du rôle d’administrateur SharePoint Embedded ou d’administrateur général.
Échec de l’appel de recherche Passez en revue les modèles d’accès exceptionnel spécifiques à la recherche.

Étapes suivantes

Utilisez votre flux configuré pour créer et gérer des conteneurs.