Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dataverse fournit un modèle de sécurité flexible pour de nombreux scénarios métier. Le modèle s’applique uniquement aux environnements qui ont une base de données Dataverse. En tant qu’administrateur, vous gérez les utilisateurs, vérifiez leur configuration de sécurité et résolvez les problèmes d’accès.
Pourboire
Regardez Microsoft Dataverse - Concepts de sécurité présentés dans les démonstrations.
la sécurité basée sur les rôles,
Dataverse utilise des rôles de sécurité pour regrouper les privilèges. Attribuez des rôles de sécurité directement aux utilisateurs ou aux équipes Dataverse. Les membres de l’équipe reçoivent les privilèges attribués à l’équipe.
Les privilèges de sécurité sont cumulatifs. Un utilisateur reçoit l’accès le plus large accordé par tous ses rôles et ses appartenances à l’équipe. Par exemple, si un rôle accorde un accès en lecture au niveau de l’organisation à tous les enregistrements de contact, un autre rôle ne peut pas masquer un contact spécifique de l’utilisateur.
Unités opérationnelles
Pourboire
Les unités commerciales travaillent avec des rôles de sécurité pour déterminer l’accès d’un utilisateur. Ils définissent des limites de sécurité qui vous aident à gérer les utilisateurs et les données. Chaque base de données Dataverse a une unité métier racine.
Créez des unités commerciales enfants pour diviser les utilisateurs et les données en limites de sécurité plus petites. Chaque utilisateur d’un environnement appartient à une unité commerciale. Votre structure d’unité commerciale peut correspondre à votre hiérarchie organisationnelle, mais elle n’a pas besoin d’être.
Les exemples suivants utilisent trois unités commerciales. Woodgrove est l’unité commerciale racine et reste en haut de la hiérarchie. Les divisions A et B sont des unités commerciales enfants. Les utilisateurs de chaque division ont des besoins d’accès différents.
Structure hiérarchique d’accès aux données
Utilisez une structure hiérarchique pour séparer les utilisateurs et les données d’une hiérarchie de type arborescence.
Attribuez à chaque utilisateur une unité commerciale et attribuez à l’utilisateur un rôle de sécurité à partir de cette unité commerciale. Par défaut, l’unité commerciale de l’utilisateur possède des enregistrements que l’utilisateur crée. Le rôle de sécurité détermine les enregistrements auxquels l’utilisateur peut accéder dans cette unité commerciale.
Dans cet exemple, l’utilisateur A appartient à la division A et a le rôle de sécurité Y à partir de la division A. L’utilisateur A peut accéder au contact #1 et au contact #2. L’utilisateur B appartient à la division B. L’utilisateur B ne peut donc pas accéder aux contacts de la division A, mais peut accéder au contact #3.
Structure d’accès aux données de matrice (unités commerciales modernisées)
Utilisez une structure de matrice pour organiser les données dans une hiérarchie de type arborescence tout en permettant aux utilisateurs d’accéder aux données dans plusieurs unités commerciales, quelle que soit l’unité commerciale à laquelle ils appartiennent.
Attribuez à l’utilisateur un rôle de sécurité pour chaque unité commerciale dont il doit pouvoir consulter les données. Lorsque l’utilisateur crée un enregistrement, il peut sélectionner l’unité commerciale qui la possède.
Dans cet exemple, l’utilisateur A peut appartenir à n’importe quelle unité commerciale, y compris l’unité commerciale racine. Le rôle de sécurité Y de la division A donne à l’utilisateur A accès à Contact #1 et à Contact #2. Le rôle de sécurité Y de la division B donne à l’utilisateur un accès au contact #3.
Activer la structure d’accès aux données de matrice
Note
Avant d’activer cette fonctionnalité, publiez toutes les personnalisations afin que la fonctionnalité s’applique aux nouvelles tables. Si une table non publiée ne fonctionne pas après avoir activé la fonctionnalité, utilisez l'outil OrgDBOrgSettings pour Microsoft Dynamics CRM pour définir RecomputeOwnershipAcrossBusinessUnits sur true. Ce paramètre vous permet de définir et de mettre à jour la colonne Owning Business Unit .
- Connectez-vous au Centre d’administration Power Platform en tant qu’administrateur Dynamics 365 ou administrateur Microsoft Power Platform.
- Dans le volet de navigation, sélectionnez Gérer.
- Dans le volet Gérer , sélectionnez Environnements, puis sélectionnez l’environnement.
- Sélectionnez Paramètres>Produit>Fonctionnalités.
- Activez la propriété des enregistrements entre les unités commerciales.
- Sélectionnez Enregistrer.
Après avoir activé la fonctionnalité, sélectionnez une unité métier lorsque vous attribuez un rôle de sécurité à un utilisateur. Cette option vous permet d’attribuer des rôles de différentes unités commerciales à l’utilisateur. Pour exécuter des applications basées sur des modèles, l’utilisateur a également besoin d’un rôle à partir de sa propre unité commerciale qui inclut les privilèges de paramètres utilisateur requis. Le rôle Utilisateur de base indique les privilèges des paramètres utilisateur à activer.
Vous pouvez faire d’un utilisateur le propriétaire de l’enregistrement dans n’importe quelle unité commerciale si l’un de ses rôles de sécurité accorde le privilège de lecture pour la table de l’enregistrement. L’utilisateur n’a pas besoin de rôle de sécurité provenant de l’unité commerciale à laquelle appartient l’enregistrement. Pour plus d’informations, consultez Propriété des enregistrements dans les unités commerciales modernisées.
Note
Le paramètre EnableOwnershipAcrossBusinessUnits stocke l’état de cette fonctionnalité. Vous pouvez également modifier le paramètre avec l’outil OrgDBOrgSettings pour Microsoft Dynamics CRM.
Associer une division à un groupe de sécurité Microsoft Entra
Associez les unités commerciales aux groupes de sécurité Microsoft Entra pour simplifier la gestion des utilisateurs et l’attribution des rôles.
Pour chaque unité commerciale :
- Créez un groupe de sécurité Microsoft Entra.
- Créez une équipe de groupe Dataverse pour le groupe de sécurité.
- Attribuez le rôle de sécurité de l’unité commerciale à l’équipe de groupe Dataverse.
- Ajoutez des utilisateurs au groupe de sécurité Microsoft Entra.
Lorsqu’un utilisateur accède d’abord à l’environnement, Dataverse crée l’utilisateur dans l’unité métier racine. Les équipes de groupe Utilisateur et Dataverse peuvent rester dans l’unité métier racine. Leurs rôles de sécurité attribués accordent l’accès aux données dans les unités commerciales correspondantes.
Pour l’accès aux données de matrice, ajoutez des utilisateurs au groupe de sécurité Microsoft Entra pour chaque unité commerciale à laquelle ils doivent accéder.
Propriétaire d’une unité commerciale
Chaque enregistrement possède une colonne d’unité commerciale propriétaire qui identifie l’unité commerciale propriétaire de l’enregistrement. Lorsqu’un utilisateur crée un enregistrement, la colonne correspond par défaut à l’unité commerciale de l’utilisateur. Vous pouvez modifier la valeur uniquement lorsque la propriété des enregistrements entre les unités commerciales est activée.
Note
La modification de l’unité commerciale propriétaire peut entraîner des modifications en cascade. Pour plus d’informations, consultez Utiliser le Kit de développement logiciel (SDK) pour .NET pour configurer le comportement en cascade.
Pour permettre à un utilisateur de définir la colonne Unité commerciale propriétaire, accordez au rôle de sécurité de l’utilisateur le privilège local Ajouter à pour la table Unité commerciale.
Ajoutez la colonne à :
- Corps ou en-tête du formulaire.
- Une vue.
- Mappage de colonnes. Si vous utilisez AutoMapEntity, incluez la colonne dans le mappage.
Note
Si un travail de synchronisation de données inclut l’unité métier propriétaire dans son schéma, le travail échoue avec une violation de contrainte de clé étrangère lorsque l’environnement cible ne contient pas la même valeur. Supprimez la colonne du schéma source ou remplacez sa valeur source par une unité métier qui existe dans l’environnement cible.
Lorsque vous copiez des données vers une ressource externe, telle que Power BI, incluez l’unité commerciale propriétaire uniquement si la destination prend en charge la colonne.
Propriété des tables et des enregistrements
Dataverse prend en charge deux types de propriété d’enregistrement :
- Organisation détenue : Un privilège s’applique à tous les enregistrements ou ne s’applique pas.
- Utilisateur ou équipe appartenant à : La plupart des privilèges prennent en charge les niveaux d’accès de l’utilisateur, de l’unité commerciale parent-enfant et de l’organisation.
Vous sélectionnez le type de propriété lorsque vous créez une table et vous ne pouvez pas la modifier ultérieurement. Par exemple, l’accès en lecture au niveau de l’utilisateur à la table Contact permet aux utilisateurs de lire uniquement les enregistrements de contact qu’ils possèdent.
Si l’utilisateur A appartient à la division A et dispose d’un accès Lecture au niveau de l’unité commerciale pour la table Contact, l’utilisateur A peut lire les contacts n°1 et n°2, mais pas le contact n°3.
Lorsque vous configurez un rôle de sécurité, sélectionnez un niveau d’accès pour chaque privilège.
Configurez les privilèges de table standard séparément : Créer, Lire, Écrire, Supprimer, Ajouter, Ajouter, Attribuer et Partager. L’icône de privilège affiche le niveau d’accès accordé.
Dans cet exemple, l’accès au niveau de l’organisation à la table Contact permet à un utilisateur dans division A d’afficher et de mettre à jour les contacts appartenant à toute personne. Accordez uniquement les accès dont les utilisateurs ont besoin. Les privilèges généraux peuvent affaiblir un modèle de sécurité bien conçu.
Propriété d’enregistrement dans les unités commerciales modernisées
Avec les unités commerciales modernisées, les utilisateurs peuvent posséder des enregistrements dans n’importe quelle unité commerciale. Un utilisateur a besoin d’un rôle de sécurité à partir de n’importe quelle unité commerciale qui accorde le privilège de lecture pour la table de l’enregistrement. L’utilisateur n’a pas besoin d’un rôle pour chaque unité commerciale qui contient un enregistrement dont il est propriétaire.
Si vous avez activé la propriété des enregistrements entre les divisions dans un environnement de production pendant la période de préversion :
- Installez l’éditeur Des paramètres de l’organisation.
- Définissez RecomputeOwnershipAcrossBusinessUnits sur
true. Le système verrouille pendant le recalcul, ce qui peut prendre jusqu’à cinq minutes. Après le recalcul, les utilisateurs peuvent posséder des enregistrements entre les unités commerciales sans rôle de sécurité distinct de chaque unité commerciale. Les propriétaires d’enregistrements peuvent également affecter des enregistrements à des utilisateurs en dehors de l’unité commerciale propriétaire de l’enregistrement. - Définissez AlwaysMoveRecordToOwnerBusinessUnit sur
false. Les enregistrements restent ensuite dans leur unité commerciale propriétaire d’origine lorsque la propriété change.
Pour les environnements hors production, définissez AlwaysMoveRecordToOwnerBusinessUnit sur false.
Note
Si vous désactivez la propriété des enregistrements entre les unités commerciales ou si vous définissez RecomputeOwnershipAcrossBusinessUnits sur false, vous ne pouvez pas définir ni mettre à jour la colonne Owning Business Unit. Dataverse modifie également l’unité commerciale propriétaire de chaque enregistrement affecté pour qu’elle corresponde à l’unité commerciale du propriétaire de l’enregistrement.
Les équipes (dont les équipes de groupe)
Chaque équipe appartient à une unité commerciale. Dataverse crée automatiquement une équipe par défaut pour chaque unité commerciale et gère son appartenance. L’équipe par défaut inclut toujours tous les utilisateurs de l’unité commerciale. Vous ne pouvez pas ajouter ou supprimer manuellement ses membres. Dataverse met à jour l’appartenance lorsque vous associez ou dissociez des utilisateurs à l’unité commerciale.
Dataverse fournit deux types d’équipes :
- Les équipes propriétaires peuvent posséder des enregistrements. Chaque membre de l’équipe reçoit un accès direct aux enregistrements de l’équipe. Un utilisateur peut appartenir à plusieurs équipes propriétaires.
- Les équipes d’accès fournissent l’accès aux enregistrements partagés, mais ne possèdent pas d’enregistrements ou ont des rôles de sécurité.
Partage d’un enregistrement
Partagez des enregistrements individuels avec un utilisateur ou une équipe pour gérer les exceptions que votre modèle de propriété et d’unité commerciale ne couvre pas. Utilisez le partage uniquement pour les exceptions, car il fonctionne moins efficacement et peut être plus difficile à résoudre que l’accès en fonction du rôle. Le partage avec une équipe est plus efficace que de partager séparément avec chaque utilisateur.
Utilisez un modèle d’équipe d’accès pour créer automatiquement une équipe d’accès et définir ses autorisations pour un enregistrement. Vous pouvez également créer des équipes d’accès sans modèle et gérer leurs membres manuellement. Les équipes d’accès ne possèdent pas d’enregistrements et ne peuvent pas avoir de rôles de sécurité. Les membres de l’équipe reçoivent l’accès, car l’enregistrement est partagé avec l’équipe.
Sécurité au niveau des enregistrements dans Dataverse
L’accès aux enregistrements d’un utilisateur combine tous ses rôles de sécurité, son appartenance à l’unité commerciale, ses appartenances à l’équipe et ses enregistrements partagés. L’accès est cumulatif dans une base de données Dataverse. Dataverse effectue le suivi de l’accès séparément pour chaque base de données, et l’utilisateur doit disposer d’une licence Dataverse appropriée.
Sécurité au niveau des colonnes dans Dataverse
Utilisez la sécurité au niveau des colonnes lorsque la sécurité au niveau de l’enregistrement ne fournit pas suffisamment de contrôle. Activez-la pour toutes les colonnes personnalisées et la plupart des colonnes système. La plupart des colonnes système qui contiennent des informations d’identification personnelle (PII) prennent en charge la sécurité au niveau des colonnes. Les métadonnées d’une colonne système indiquent si vous pouvez la sécuriser.
Activez la sécurité au niveau des colonnes séparément pour chaque colonne. Créez ensuite un profil de sécurité de colonne qui accorde l’accès Créer, Mettre à jour et Lire aux colonnes sécurisées. Attribuez le profil aux utilisateurs ou aux équipes.
La sécurité au niveau des colonnes n’accorde pas l’accès à un enregistrement. Un utilisateur doit déjà disposer d’un accès aux enregistrements avant qu’un profil de sécurité de colonne puisse accorder l’accès aux colonnes sécurisées. Utilisez la sécurité au niveau des colonnes uniquement si nécessaire, car une utilisation excessive peut réduire les performances.
Gérer la sécurité dans plusieurs environnements
Utilisez des solutions Dataverse pour déplacer des rôles de sécurité et des profils de sécurité de colonne entre des environnements. Créez et gérez des unités commerciales et des équipes séparément dans chaque environnement. Vous devez également affecter des utilisateurs aux composants de sécurité appropriés dans chaque environnement.
Configurer la sécurité utilisateur
Après avoir créé des rôles, des équipes et des unités commerciales, configurez l’accès de chaque utilisateur :
- Associez l’utilisateur à une unité commerciale. Dataverse utilise l’unité métier racine par défaut et ajoute l’utilisateur à l’équipe par défaut de cette unité commerciale.
- Attribuez les rôles de sécurité dont l’utilisateur a besoin.
- Ajoutez l’utilisateur aux équipes appropriées.
- Si vous utilisez la sécurité au niveau des colonnes, affectez un profil de sécurité de colonne à l’utilisateur ou à l’une de ses équipes.
L’accès effectif d’un utilisateur combine des rôles de sécurité directement attribués avec des rôles attribués par le biais d’équipes. Dataverse octroie toujours la permission la plus large parmi ces rôles. Pour obtenir une procédure pas à pas détaillée, consultez Configurer la sécurité de l’environnement.
Coordonnez les principales modifications de sécurité avec les créateurs d’applications et les administrateurs qui gèrent les autorisations utilisateur avant de déployer les modifications.