Autorisations des compléments dans SharePoint

Avant de lire cet article, vous devez connaître le contenu de la rubrique Autorisation et authentification de compléments SharePoint.

Un complément SharePoint demande les autorisations dont il a besoin pendant l’installation auprès de l’utilisateur qui effectue l’installation. Le développeur d’un complément doit demander, par le biais du fichier manifeste du complément, les autorisations dont le complément en question a besoin pour être exécuté. (Les applications web et d’appareil qui accèdent à SharePoint, mais qui ne sont pas installées sur les sites web SharePoint, doivent se voir accorder des autorisations au moment de l’exécution par l’utilisateur qui exécute le complément. Pour plus d’informations, consultez Flux OAuth de code d’autorisation pour les compléments SharePoint.)

Les utilisateurs ne peuvent accorder que les autorisations dont ils disposent. L’utilisateur doit accorder toutes les autorisations demandées par un complément ou n’en accorder aucune. Les accords sélectifs ne sont pas possibles. (Pour les compléments qui demandent des autorisations à la volée, seul un utilisateur disposant des autorisations de gestion des ressources SharePoint auxquelles le complément cherche à accéder peut exécuter le complément, même si le complément demande uniquement des autorisations moins élevées, comme la lecture.)

Les autorisations accordées au complément sont également stockées dans la base de données de contenu de la batterie de serveurs SharePoint ou du client SharePoint Online. Elles ne sont pas stockées avec un service d’émission de jeton de sécurité, comme Microsoft Azure Access Control Service (ACS). Lorsqu’un utilisateur accorde une autorisation de complément pour la première fois, SharePoint obtient des informations sur le complément grâce à ACS. SharePoint stocke ensuite les informations de base sur le complément dans le service de gestion des compléments et dans la base de données de contenu, avec les autorisations du complément. Pour plus d’informations sur ACS, consultez la rubrique Création de compléments SharePoint qui utilisent l’autorisation à faible niveau de fiabilité.

Importante

Le contrôle d’accès Azure (ACS), un service d’Azure Active Directory (Azure AD), ne sera plus disponible à partir du 7 novembre 2018. Ce retrait n?a aucune incidence sur le mod?le de compl?ments SharePoint, qui utilise lehttps://accounts.accesscontrol.windows.net nom d?h?te (qui n?est pas affect? par ce retrait). Pour plus d’informations, reportez-vous à Conséquences du retrait du contrôle d’accès Azure pour les compléments SharePoint.

Si un objet disposant d’accords d’autorisation pour un complément est supprimé, les accords correspondants sont également supprimés. Lorsqu’un objet disposant d’accords d’autorisation pour un complément est recyclé, SharePoint ne modifie pas l’accord correspondant. Ainsi, si l’objet est restauré à partir de la Corbeille, l’accord est resté intact.

Si un complément est supprimé, toutes les autorisations octroyées à ce complément au niveau de l'étendue d'où il a été supprimé sont révoquées. Cette procédure garantit que le complément ne peut pas utiliser ses informations d'identification pour continuer à accéder à distance aux ressources SharePoint protégées une fois qu'un utilisateur a supprimé le complément de SharePoint.

Types d’autorisations de complément et d’étendues d’autorisation

Un Complément SharePoint utilise les demandes d'autorisation pour spécifier les autorisations dont il a besoin pour fonctionner correctement. Les demandes d'autorisation spécifient à la fois les droits dont un complément a besoin et l'étendue au niveau de laquelle il a besoin des droits. Les autorisations sont demandées dans le cadre du manifeste de complément.

Les étendues de demande d’autorisation indiquent l’emplacement dans la hiérarchie SharePoint où une demande d’autorisation s’applique.

Remarque

Un complément SharePoint possède sa propre identité et c’est un principal de sécurité, appelé principal de complément. Comme les utilisateurs et les groupes, un principal de complément dispose de certains droits ou autorisations. Le principal de complément dispose de droits de contrôle total sur le site web de complément, il doit donc demander uniquement des autorisations aux ressources SharePoint sur le site web hôte ou pour d’autres emplacements en dehors du site web de complément. Pour plus d’informations sur le site web de complément, consultez la rubrique Aspects importants du contexte de développement et de l’architecture des compléments SharePoint et Héberger des sites web, des sites web de complément et des composants SharePoint dans SharePoint.

SharePoint prend en charge quatre étendues d’autorisation différentes au sein de la base de données de contenu et du client, comme illustré dans le Tableau 1. Les étendues d’autorisation sont intitulées comme des URI, avec un préfixe « http: », mais ce ne sont pas des URL et elles ne contiennent aucun espace réservé. Les étendues d’autorisation présentées dans ce tableau et cet article sont des chaînes littérales.

Tableau 1. URI et descriptions de l’étendue des demandes d’autorisation de complément SharePoint

Étendue URI d’étendue Description
Location http://sharepoint/content/tenant Location où le complément est installé. Inclut tous les enfants de cette étendue.
Collection de sites http://sharepoint/content/sitecollection Collection de sites où le complément est installé. Inclut tous les enfants de cette étendue.
Site web http://sharepoint/content/sitecollection/web Site web où le complément est installé. Inclut tous les enfants de cette étendue.
Répertorier http://sharepoint/content/sitecollection/web/list Liste unique sur le site web où le complément est installé.

Lorsque l’utilisateur qui installe le complément est invité à accorder des autorisations, la boîte de dialogue lui permet de sélectionner une liste pour laquelle des autorisations sont accordées au complément.

Si le complément a besoin d’une autorisation pour plusieurs listes, il doit demander l’autorisation pour l’étendue web.

En outre, étant donné que vous, en tant que développeur, n’avez aucun moyen de contrôler la liste choisie par l’utilisateur ou d’indiquer à l’utilisateur celle à choisir, vous devez utiliser l’étendue web s’il existe une liste sur laquelle votre complément doit avoir l’autorisation (mais il existe un moyen de limiter le choix de l’utilisateur à certains sous-ensembles de listes ; voir Étendue de la demande d’autorisation avec les propriétés associées.)

Si un complément reçoit une autorisation pour l'une des étendues, cette autorisation s'applique à tous les enfants de l'étendue. Par exemple, si un complément reçoit une autorisation pour un site web, le complément dispose également d'une autorisation pour chaque liste figurant dans le site web et tous les éléments de liste figurant dans chaque liste.

Comme les demandes d’autorisation sont effectuées sans informations sur la topologie de la collection de sites où le complément est installé, l’étendue est exprimée sous forme de type, et non d’URL, d’une instance donnée. Ces types d’étendues sont exprimés sous la forme d’URI. Les autorisations accordées à des ressources stockées dans la base de données de contenu SharePoint sont classées sous l’URI suivant : http://sharepoint/content.

Différences entre les droits d’autorisations de complément et les droits des utilisateurs

Les autorisations indiquent les activités qu'un complément est autorisé à effectuer au sein de l'étendue demandée. SharePoint prend en charge quatre niveaux de droits dans la base de données de contenu. Pour chaque étendue, un complément peut avoir les droits suivants :

  • Lecture
  • Écriture
  • Gérer
  • Contrôle total

Remarque

Pour plus d’informations sur ce qui est inclus dans les droits Lecture, Écriture, Gestion et Contrôle total, consultez la rubrique Planifier la gestion des autorisations de complément.

Remarque

Ces droits correspondent aux niveaux d’autorisation des utilisateurs par défaut de SharePoint : Lecteur, Collaborateur, Concepteur et Contrôle total. Pour plus d’informations sur les niveaux d’autorisation des utilisateurs, consultez la rubrique Autorisations utilisateur et niveaux d’autorisation. Les noms des droits des compléments ne correspondent pas aux noms des droits des rôles utilisateur SharePoint, pour éviter toute confusion entre les droits des rôles utilisateur et les droits des compléments. Comme la personnalisation des autorisations associées à des rôles utilisateur SharePoint n’affecte pas les niveaux de demande d’autorisation de complément, les noms des droits des compléments ne correspondent pas aux rôles utilisateur SharePoint correspondants, à l’exception du droit Contrôle total, qui ne peut pas être personnalisé par le biais de l’interface utilisateur de gestion des autorisations.

De plus :

  • Pour le complément de recherche uniquement, un complément peut disposer du droit Requête.

  • Pour certaines étendues de Microsoft Project Server 2013, il existe également le droit SubmitStatus ou le droit Élever. Pour la plupart des étendues pour Project Server 2013, seules les droits Lecture et Écriture sont disponibles. Pour plus d’informations, consultez la section Comprendre les types d’autorisations de complément et d’étendues d’autorisation de cet article.

  • Pour la taxonomie, seuls des droits Lecture et Écriture sont disponibles.

Remarque

Les applications Office Store affichent certaines restrictions quant au type de droits qu’un complément peut demander. Pour plus d’informations, consultez la section Types d’autorisations et d’étendues d’autorisation de complément plus haut dans cet article.

Contrairement aux rôles d'utilisateurs SharePoint, ces niveaux de droits ne sont pas personnalisables. Cela permet de garantir que lorsqu'un complément reçoit une demande d'autorisation, le complément est assuré de disposer d'un jeu prévisible de fonctionnalités et ne doit pas prendre en compte l'éventualité de recevoir moins d'autorisations que celles qu'il attend.

Un utilisateur ne peut pas octroyer d'autorisations dont il ne dispose pas lui-même à un complément. S'il tente d'installer un complément qui demande plus d'autorisations que lui n'en possède, un message d'erreur apparaît à l'écran et l'informe qu'il ne dispose pas des autorisations suffisantes pour accorder au complément les autorisations qu'il demande.

Les autorisations non connues de SharePoint sont ignorées. Cela signifie que, si un complément demande une autorisation que SharePoint ne reconnaît pas, le complément peut toujours être installé, mais l'utilisateur n'est pas invité à octroyer l'autorisation et l'autorisation n'est pas octroyée au complément.

Étendues et autorisations disponibles, et restrictions applicables aux autorisations d’applications Office Store

Des étendues différentes présentent des jeux de droits différents pouvant être demandés par un complément. Cette section décrit les jeux de droits qui sont disponibles pour chaque étendue. En outre, elle met en évidence les limites applicables aux Compléments SharePoint qui sont en vente dans l'Office Store.

Droits des applications de l'Office Store

Seuls les droits Lecture, Écriture et Gestion sont autorisés pour les applications de l'Office Store. Si vous essayez de soumettre à l'Office Store une application nécessitant des droits Contrôle total, la soumission de votre application est bloquée. Étant donné que le bloc se trouve dans le pipeline de soumission de l'Office Store, les applications qui nécessitent des autorisations supérieures à l'autorisation Gestion peuvent quand même être déployées via le catalogue de compléments.

Étendues de demande d’autorisation pour le contenu de liste et le contenu de bibliothèque

Le Tableau 2 illustre l’étendue de demande d’autorisation pour le contenu de liste et de bibliothèque. Il répertorie également les droits pouvant être spécifiés pour chaque URI d’étendue.

Remarque

Les URI utilisés dans le Tableau 2 sont des valeurs littérales.

Tableau 2. URI d’étendue d’autorisation de complément SharePoint et droits disponibles

URI d’étendue Droits disponibles
http://sharepoint/content/sitecollection Lecture, Écriture, Gestion, Contrôle total
http://sharepoint/content/sitecollection/web Lecture, Écriture, Gestion, Contrôle total
http://sharepoint/content/sitecollection/web/list Lecture, Écriture, Gestion, Contrôle total
http://sharepoint/content/tenant Lecture, Écriture, Gestion, Contrôle total

Le code suivant illustre la façon d'utiliser les étendues d'autorisation et les droits dans le fichier AppManifest.xml file. Dans le premier exemple, un complément demande l'accès Écriture à l'étendue de liste.

  <?xml version="1.0" encoding="utf-8" ?>
  <App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"
      ProductID="{4a07f3bd-803d-45f2-a710-b9e944c3396e}"
      Version="1.0.0.0"
      SharePointMinVersion="15.0.0.0"
      Name="MySampleAddIn"
  >
    <Properties>
      <Title>My Sample Add-in</Title>
      <StartPage>~remoteAppUrl/Home.aspx?{StandardTokens}</StartPage>
    </Properties>

    <AppPrincipal>
      <RemoteWebApplication ClientId="1ee82b34-7c1b-471b-b27e-ff272accd564" />
    </AppPrincipal>

    <AppPermissionRequests>
      <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write"/>
    </AppPermissionRequests>
  </App>

Le code suivant illustre un complément demandant l’accès Lecture à l’étendue du site web et l’accès Lecture à l’étendue de liste.

  <?xml version="1.0" encoding="utf-8" ?>
  <App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"
      ProductID="{4a07f3bd-803d-45f2-a710-b9e944c3396e}"
      Version="1.0.0.0"
      SharePointMinVersion="15.0.0.0"
      Name="MySampleAddIn"
  >
    <Properties>
      <Title>My Sample Add-in</Title>
      <StartPage>~remoteAppUrl/Home.aspx?{StandardTokens}</StartPage>
    </Properties>

    <AppPrincipal>
      <RemoteWebApplication ClientId="6daebfdd-6516-4506-a7a9-168862921986" />
    </AppPrincipal>

    <AppPermissionRequests>
      <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read"/>
      <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write"/>
    </AppPermissionRequests>
  </App>

Étendues de demande d’autorisation pour les autres fonctionnalités SharePoint

L’étendue de demande d’autorisation pour les autres fonctionnalités SharePoint est répertoriée dans les tableaux suivants.

Remarque

Les URI utilisés dans les tableaux sont des valeurs littérales.

Le Tableau 3 illustre l’étendue de demande d’autorisation pour Business Connectivity Services (BCS). Il répertorie également les droits pouvant être spécifiés pour cet URI d’étendue.

Tableau 3. URI d’étendue de demande d’autorisation de complément BCS et droits disponibles

URI d’étendue Droits disponibles
http://sharepoint/bcs/connection Lecture

Remarque

Pour plus d’informations sur l’étendue de demande d’autorisation de complément BCS, consultez la rubrique Business Connectivity Services dans SharePoint.


Le Tableau 4 illustre l'étendue de demande d'autorisation pour l'application de recherche. Il répertorie également les droits pouvant être spécifiés pour cet URI d’étendue.

Tableau 4. URI d’étendue de demande d’autorisation de complément de recherche et droits disponibles

URI d’étendue Droits disponibles
http://sharepoint/search QueryAsUserIgnoreAppPrincipal

Remarque

Pour plus d’informations sur l’étendue de demande d’autorisation de complément de recherche, consultez la rubrique Recherche dans SharePoint.


Le Tableau 5 illustre l'étendue de demande d'autorisation pour Project Server 2013. Il indique également les droits pouvant être spécifiés pour chaque URI d'étendue. > [! REMARQUE] > Un complément qui utilise les fonctionnalités et services de Project Server 2013 doit être testé dans un environnement qui dispose des fonctionnalités et services Project Server requis. L’assemblage du fournisseur d’autorisation Project Server 2013 qui connaît les étendues d’autorisation Project Server 2013 n’est pas installé par défaut avec SharePoint Server. Pour plus d’informations, consultez la documentation pour les développeurs de Project Server 2013.

Tableau 5. URI d’étendue de demande d’autorisation de complément Project Server et droits disponibles

Étendue Droits disponibles
http://sharepoint/projectserver Gestion
http://sharepoint/projectserver/projects Lecture, Écriture
http://sharepoint/projectserver/projects/project Lecture, Écriture
http://sharepoint/projectserver/enterpriseresources Lecture, Écriture
http://sharepoint/projectserver/statusing SubmitStatus
http://sharepoint/projectserver/reporting Lecture
http://sharepoint/projectserver/workflow Élever

Le Tableau 6 illustre l'étendue de demande d'autorisation pour les fonctionnalités sociales. Il indique également les droits pouvant être spécifiés pour chaque URI d'étendue.

Tableau 6. URI de l’étendue de la demande d’autorisation des fonctionnalités sociales et droits disponibles

Nom de l'étendue Description Droits disponibles
Profils utilisateur
http://sharepoint/social/tenant
Étendue de la demande d’autorisation utilisée pour accéder à tous les profils utilisateur. Seule l’image de profil peut être modifiée; toutes les autres propriétés de profil utilisateur sont en lecture seule pour les compléments SharePoint. Doit être installé par un administrateur de locataire. Lecture, Écriture, Gestion, Contrôle total
Noyau
http://sharepoint/social/core
L'étendue de demande d'autorisation utilisé pour accéder à l'utilisateur suivi de contenu et partagées de métadonnées qui sont utilisée par les fonctionnalités de création de Microblogs. Cette étendue s'applique uniquement aux sites personnels qui prennent en charge la suite de contenu. Si l'application s'installe sur n'importe quel autre type de site, utilisez l'étendue de client. Lecture, Écriture, Gestion, Contrôle total
Les flux d’actualités
http://sharepoint/social/microfeed
L'étendue de demande d'autorisation permettant d'accéder aux flux de l'utilisateur ou le flux de l'équipe. Cette étendue s'applique à des sites personnels qui prennent en charge les Microblogs ou à des sites d'équipe dans lequel la fonctionnalité de Flux de Site est activée. Si l'application s'installe sur n'importe quel autre type de site, utilisez l'étendue de client. Lecture, Écriture, Gestion, Contrôle total
http://sharepoint/social/trimming Cette étendue de demande d'autorisation permet de déterminer s'il faut afficher le contenu limités de sécurité dans le flux sociaux aux applications. Si cette autorisation de niveau de confiance élevé n'est pas accordée, certains contenus (tels que les activités sur les documents et les sites de l'application n'est pas autorisé à) est tronqué à partir des données de flux qui sont renvoyées à l'application, même si l'utilisateur dispose d'autorisations suffisantes. Cette autorisation doit être ajoutée manuellement au fichier de manifeste de l'application. Lecture, Écriture, Gestion, Contrôle total

Remarque

Pour plus d’informations sur l’étendue de la demande d’autorisation de complément pour l’accès aux fonctionnalités sociales, consultez la rubrique relative aux demandes d’autorisation de complément concernant les fonctionnalités sociales.


Le Tableau 7 illustre l'étendue de demande d'autorisation pour l'application de taxonomie. Il répertorie également les droits pouvant être spécifiés pour cet URI d’étendue.

Tableau 7. URI d’étendue de demande d’autorisation de complément de taxonomie et droits disponibles

URI d’étendue Droits disponibles
http://sharepoint/taxonomy Lecture, Écriture

Remarque

Pour plus d’informations sur l’étendue de demande d’autorisation de complément de taxonomie, consultez la rubrique Ajout de fonctionnalités SharePoint.

Étendue de demande d’autorisation avec les propriétés associées

L’étendue de demande d’autorisation de liste possède une propriété facultative supplémentaire. L’étendue de liste peut prendre une propriété portant le nom BaseTemplateId et une valeur entière correspondant à un modèle de base de liste, comme illustré dans l’exemple de marque de révision suivant. Sans ID de modèle de base, l’utilisateur qui installe le complément peut lui accorder une autorisation pour une liste parmi toutes les listes du site web. La spécification d’un ID de modèle de base limite le choix de l’utilisateur à l’ensemble de listes qui correspond à ce qui est spécifié par la propriété BaseTemplateId.

La propriété BaseTemplateId est un élément enfant, et non un attribut de l'élément AppPermissionRequest. Le code suivant illustre l'utilisation de la propriété BaseTemplateId.

  <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write">
    <Property Name="BaseTemplateId" Value="101"/>
  </AppPermissionRequest>

Tableau 8. Étendue de demande d’autorisation avec les propriétés associées

URI d’étendue Propriété Type
http://sharepoint/content/sitecollection/web/list BaseTemplateId Entier

Remarque

Pour plus d'informations sur BaseTemplateId et la valeur d'entier correspondante pour le modèle de base de liste, voir l'attribut Type de l' List, élément (List).

Gestion et résolution des problèmes d’autorisations de complément

Les compléments SharePoint installés sur SharePoint disposent d’autorisations accordées lors de leur installation. Les compléments installés sur d’autres plateformes, mais qui accèdent à SharePoint, disposent d’autorisations accordées lors de l’exécution par l’utilisateur qui exécute le complément. Parfois, le premier type de complément peut perdre ses autorisations. Vous pouvez accorder de nouveau des autorisations à un complément en suivant les étapes ci-après :

  1. Dans la page Contenu du site du site web pour lequel le complément semble avoir perdu ses autorisations, sélectionnez le bouton ... sur la mosaïque du complément. Cette action ouvre une légende avec un lien AUTORISATIONS ou un autre bouton ....

  2. Sélectionnez le lien AUTORISATIONS s’il apparaît et ignorez l’étape suivante, ou sélectionnez le bouton ....

  3. Sélectionnez le lien Autorisations.

  4. Dans la page qui s’ouvre, sélectionnez ici dans la dernière phrase. Cela accorde de nouveau ses autorisations au complément et renvoie le navigateur vers la page Contenu du site.

Accorder de nouveau des autorisations à une application


Lorsque vous développez ou résolvez les problèmes d'un complément, vous souhaiterez peut-être modifier ou réattribuer les autorisations d'un complément qui a déjà été installé. Pour ce faire, suivez les étapes ci-après :
  1. Accédez à http://{SharePointWebSite}_layouts/15/AppInv.aspx, où <SharePointWebSite> est l’URL du site web sur lequel le complément est installé. Veillez à n’ajouter aucun paramètre de requête dans l’URL. Le formulaire dont vous avez besoin s’affiche dans cette page uniquement si l’URL est parfaitement identique à celle illustrée.

  2. Entrez l’ID du complément, également appelé ID client, dans la zone ID du complément, puis sélectionnez Recherche. Les autres zones du formulaire sont alors remplies avec les informations concernant le complément.

  3. Renseignez la zone Code XML de la demande d’autorisation avec des demandes d’autorisation, exactement comme vous les saisiriez dans un manifeste de complément. Pour consulter des exemples, consultez la rubrique Étendues de demande d’autorisation pour le contenu de liste et le contenu de bibliothèque. Pour plus d’informations sur la syntaxe complète, consultez la rubrique Élément AppPermissionRequest.

  4. Sélectionnez Créer.

Les autorisations d’un complément pour une étendue spécifique sont révoquées lorsque le complément est supprimé de cette étendue.

Pourquoi les compléments ne peuvent-ils pas être masqués pour les utilisateurs

Tout utilisateur possédant des droits de navigation sur un site web SharePoint peut lancer un complément SharePoint installé sur ce site. Les possibilités d’action de l’utilisateur avec le complément dépendent des autres autorisations de l’utilisateur et du type de stratégie d’autorisation utilisé par le complément. Si l’utilisateur essaie d’accomplir avec le complément une action qu’il n’est pas autorisé à faire et si l’appel vers SharePoint utilise la stratégie utilisateur+complément, l’appel échoue.

Voir aussi