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.
[Cet article fait partie de la documentation en version préliminaire et peut faire l’objet de modifications.]
La sécurité basée sur la propriété accorde l’accès grâce à la propriété des enregistrements, aux équipes, aux unités commerciales et aux privilèges à l’échelle de l’organisation. La sécurité basée sur le filtre accorde l’accès via les données d’enregistrement qui répondent aux critères de filtre. Par exemple, vous pouvez accorder l’accès aux enregistrements dont la colonne City contient Redmond, Seattle ou Bellevue.
Vous pouvez utiliser la sécurité basée sur les filtres avec :
- Tables de propriété d’enregistrement filtrées.
- Tables de propriété des enregistrements d’utilisateur ou d’équipe.
- Tables de propriété des enregistrements de l’organisation.
Comprendre le fonctionnement de la sécurité basée sur les filtres
Configurez la sécurité basée sur un filtre avec deux composants principaux :
- Filtre d’enregistrement : Utilise FetchXML pour identifier les enregistrements qui sont éligibles pour l’accès.
- Filtre d’enregistrement d’entité : Associe un filtre d’enregistrement à une table Dataverse.
Lorsque vous associez un filtre à une table, Dataverse crée des privilèges de filtre. Attribuez ces privilèges via des rôles de sécurité. Lorsqu’un utilisateur accède aux données, Dataverse évalue les filtres des rôles de sécurité et des appartenances d’équipe de l’utilisateur. Un filtre correspondant accorde l’opération d’accès aux données correspondante.
Pour les tables de propriété d’enregistrement filtrées, les privilèges de filtre déterminent l’accès aux enregistrements. Pour les tables appartenant à un utilisateur, à une équipe ou à une organisation, les privilèges de filtrage s’ajoutent aux droits d’accès accordés par le modèle de sécurité existant.
Composants de sécurité basés sur des filtres
| Component | Description |
|---|---|
| Filtre d’enregistrement | Stocke la définition de filtre FetchXML. |
| Filtre d’enregistrements d’entité | Associe un filtre d’enregistrement à une table Dataverse. |
| Filtrer les privilèges | Octroie un accès filtré pour une opération d’accès aux données spécifique. |
| Rôle de sécurité | Affecte des privilèges de filtre aux utilisateurs et aux équipes. |
Dataverse combine tous les filtres autorisés des rôles de sécurité et des appartenances à l’équipe de l’utilisateur. Enregistrement qui correspond à n’importe quel filtre autorisé reçoit l’accès correspondant.
Comparer les modèles de propriété
La sécurité basée sur les filtres prend en charge tous les types de propriété Dataverse.
| Capacité | Appartenant à un utilisateur ou à une équipe | Propriété de l’organisation | Propriété filtrée |
|---|---|---|---|
| Prend en charge un propriétaire de l’enregistrement | Yes | No | No |
| Prend en charge l’affectation | Yes | No | No |
| Prend en charge le partage | Yes | No | No |
| Prend en charge l’accès à la hiérarchie des unités commerciales | Yes | No | No |
| Utilise des privilèges basés sur la propriété | Yes | No | No |
| Prend en charge l’accès à l’échelle de l’organisation | Grâce aux privilèges associés au rôle | Yes | Via le privilège de filtre Tous les enregistrements |
| Prend en charge la sécurité basée sur les filtres | Yes | Yes | Yes |
| Utilise uniquement des filtres pour déterminer l’accès | No | No | Yes |
| Prend en charge la réaffectation d’enregistrements | Yes | No | No |
| Cas d’usage classiques | Comptes, cas, opportunités et données métier opérationnelles | Données de référence et de configuration partagées | Contrôle d’accès basé sur les attributs, accès basé sur les droits, segmentation géographique et classification des données |
Choisir un modèle de propriété
Utilisez des tables de propriété des enregistrements d’utilisateur ou d’équipe lorsque les enregistrements ont un propriétaire naturel et des processus métier nécessitent l’attribution, le partage, la visibilité du responsable ou l’accès à la hiérarchie des unités commerciales.
Utilisez des tables de propriété des enregistrements d’organisation lorsque les utilisateurs partagent largement des enregistrements au sein de l’organisation et n’ont pas besoin de propriété.
Utilisez des tables de propriété d’enregistrement filtrées lorsque les attributs métier doivent déterminer l’accès au lieu de la propriété. Ce modèle fonctionne bien pour le contrôle d’accès basé sur les attributs (ABAC), la sécurité basée sur les droits, les limites réglementaires et l’autorisation basée sur la confidentialité.
Note
Vous pouvez appliquer la sécurité basée sur les filtres à l’utilisateur ou à l’équipe, ainsi qu’à la propriété des enregistrements de l’organisation et aux tables de propriété d’enregistrement filtrées. Seules les tables de propriété d’enregistrement filtrées s’appuient exclusivement sur les privilèges de filtre pour l’accès aux enregistrements.
Sécurité basée sur les filtres avec des tables de propriété filtrées
La propriété d’enregistrement filtrée est un modèle de propriété Dataverse qui détermine entièrement l’accès via des privilèges de filtre.
Les tables de propriété filtrées n’utilisent pas les propriétaires d’enregistrements.
Les tables de propriété filtrées présentent les caractéristiques suivantes :
- N’incluez pas les propriétaires des enregistrements.
- Ne peut pas être attribué à des utilisateurs ou à des équipes.
- Ne peut pas être partagé avec des utilisateurs ou des équipes.
- N’utilisez pas de privilèges de sécurité basés sur la propriété.
- Déterminez l’accès à l’aide de privilèges de filtre uniquement.
Note
Lorsque vous créez une table filtrée de propriété des enregistrements, Dataverse crée un privilège de filtre global Tous les enregistrements et l’attribue au rôle de sécurité Administrateur système.
Créer une table de propriété d’enregistrement filtrée
Lorsque vous créez une table Dataverse, sélectionnez Filtrée comme type de propriété. Pour obtenir des instructions, consultez la propriété filtrée de l’enregistrement.
Après avoir créé la table :
- Créez un ou plusieurs filtres d’enregistrement.
- Créez des filtres d’enregistrement d’entité pour associer les filtres à la table.
- Accordez les privilèges de filtre générés via des rôles de sécurité.
- Attribuez les rôles de sécurité aux utilisateurs ou aux équipes.
Appliquer la sécurité basée sur les filtres aux tables de propriété des enregistrements d’utilisateur ou d’équipe
Vous pouvez également appliquer la sécurité basée sur les filtres aux tables de propriété d’enregistrement d’utilisateur ou d’équipe existantes.
Les privilèges de filtre ajoutent l’accès au modèle de sécurité basé sur la propriété existant :
- Les utilisateurs continuent à posséder des enregistrements.
- Vous pouvez continuer à attribuer et partager des enregistrements.
- L’accès à la hiérarchie des unités commerciales reste inchangé.
- Les privilèges de filtrage accordent un accès supplémentaire au niveau des lignes.
Par exemple, un vendeur peut accéder aux opportunités qu’il possède. Un filtre peut accorder à l’vendeur l’accès à des opportunités supplémentaires dans un territoire spécifique.
Le filtre suivant accorde l’accès aux comptes actifs dans un territoire spécifique :
<fetch
version="1.0"
output-format="xml-platform"
mapping="logical"
distinct="false">
<entity name="account">
<attribute name="entityimage_url" />
<attribute name="statecode" />
<attribute name="name" />
<attribute name="address1_city" />
<attribute name="primarycontactid" />
<attribute name="telephone1" />
<attribute name="accountid" />
<attribute name="new_owningbuname" />
<order attribute="name" descending="false" />
<filter type="and">
<condition
attribute="territoryid"
operator="eq"
value="a440958c-f6bc-f111-aaad-000d3a84e349" />
<condition
attribute="statecode"
operator="eq"
value="0" />
</filter>
</entity>
</fetch>
L’exemple suivant utilise un link-entity pour accorder à un vendeur l’accès aux comptes actifs appartenant à un collègue pour lequel ils couvrent :
<fetch
version="1.0"
output-format="xml-platform"
mapping="logical"
distinct="true">
<entity name="account">
<attribute name="entityimage" />
<attribute name="statecode" />
<attribute name="name" />
<attribute name="parentaccountid" />
<attribute name="ownerid" />
<attribute name="telephone1" />
<attribute name="emailaddress1" />
<attribute name="accountid" />
<order attribute="name" descending="false" />
<filter type="and">
<condition
attribute="statecode"
operator="eq"
value="0" />
</filter>
<link-entity
name="crcd8_buddyrm"
alias="buddy"
link-type="inner"
from="crcd8_rm"
to="ownerid">
<filter type="and">
<condition
attribute="crcd8_buddyrmname"
operator="eq-userid" />
<condition
attribute="statecode"
operator="eq"
value="0" />
</filter>
</link-entity>
</entity>
</fetch>
Accès effectif
Pour les tables dont les enregistrements appartiennent à un utilisateur ou à une équipe, les autorisations de filtrage accordent un accès au niveau de la ligne à la sécurité fondée sur la propriété. Ils ne remplacent pas ou réduisent l’accès accordé par le biais des privilèges de propriété, de partage ou de rôle de sécurité.
Pour les tables de propriété filtrées, les privilèges de filtre déterminent l’accès aux enregistrements. Pour les tables de propriété des enregistrements d’organisation, les privilèges de filtrage s’ajoutent à l’accès accordé par les privilèges du rôle de sécurité.
Ce modèle additif vous permet d’introduire un accès basé sur des attributs tout en préservant les règles d’accès existantes.
Pour plus d’informations sur la sécurité de propriété, consultez Propriété et accès aux enregistrements.
Appliquer la sécurité basée sur un filtre aux tables de propriété des enregistrements de l’organisation
Vous pouvez également appliquer la sécurité basée sur les filtres aux tables de propriété des enregistrements d’organisation.
Les privilèges standard d’une table appartenant à l’organisation donnent accès à tous les enregistrements de cette table. Les privilèges de filtre offrent un autre moyen d’accorder l’accès aux enregistrements correspondants. Ils ne réduisent pas l’accès plus étendu déjà accordé par un rôle de sécurité.
Les scénarios courants sont les suivants :
- Accès basé sur le territoire.
- Accès par département.
- Contrôles de classification des données.
- Données de référence partagées avec une visibilité étendue.
Par exemple, accordez aux utilisateurs l’accès aux enregistrements dont la colonne Territory correspond à une région spécifique. Assurez-vous que leurs autres privilèges de rôle de sécurité n’accordent pas un accès plus large à la même table.
Les privilèges de filtre ajoutent une autorisation affinée tout en préservant le modèle de données de propriété d’enregistrement de l’organisation.
Pour plus d’informations sur les tables de propriété des enregistrements de l’organisation, consultez Propriété et accès aux enregistrements.
Privilèges de filtre
Lorsque vous associez un filtre d’enregistrement à une table via un filtre d’enregistrement d’entité, Dataverse crée des privilèges de filtre. Attribuez ces privilèges via des rôles de sécurité.
Les privilèges de filtre prennent en charge ces opérations d’accès aux données :
- Create.
- Lecture :
- Écrire.
- Supprimer.
- Ajouter.
- Ajouter à.
Chaque privilège est associé à un filtre spécifique et à une table spécifique.
L’exemple suivant montre des privilèges pour plusieurs filtres de ville :
| Filter | Privilège |
|---|---|
| Ville = Redmond | Read |
| Ville = Redmond | Write |
| Ville = Redmond | Delete |
| Ville = Seattle | Read |
| Ville = Bellevue | Read |
Créez plusieurs filtres et attribuez des privilèges différents à chaque rôle de sécurité en fonction des besoins.
Accorder des privilèges de filtre dans les rôles de sécurité
Gérez les privilèges de filtre via les rôles de sécurité Dataverse.
Pour accorder un accès filtré :
- Ouvrez un rôle de sécurité.
- Sélectionnez la table cible.
- Sélectionnez le privilège de filtre.
- Attribuez le privilège au rôle.
- Attribuez le rôle aux utilisateurs ou aux équipes.
Les utilisateurs obtiennent toutes les autorisations de filtrage à partir des rôles de sécurité qui leur sont attribués et de leur appartenance à une équipe.
Pour plus d’informations, voir Rôles de sécurité et privilèges.
Exemple
Supposons qu’une table Customer inclut une colonne City.
Créez trois filtres d’enregistrement :
- Ville = Redmond.
- City = Seattle.
- Ville = Bellevue.
Associez chaque filtre d’enregistrement à la table Customer à l’aide des filtres d’enregistrement d’entité.
Créez trois rôles de sécurité :
| Role | Filtrer les privilèges |
|---|---|
| Redmond Sales | Lire client où Ville = Redmond |
| Ventes de Seattle | Lire le client dont la ville = Seattle |
| Ventes de Bellevue | Lire Client où Ville = Bellevue |
Chaque rôle accorde l’accès aux enregistrements clients qui correspondent à son filtre. Les utilisateurs peuvent avoir un accès plus large via d’autres rôles, appartenances à l’équipe, propriété ou partage.
Résumé
La sécurité basée sur les filtres accorde un accès au niveau des lignes en fonction des valeurs de données. Utilisez les filtres d’enregistrement, les filtres d’enregistrement d’entité, les privilèges de filtre et les rôles de sécurité pour implémenter le contrôle d’accès basé sur les attributs dans Dataverse.
Ajoutez une sécurité basée sur des filtres avec des tables de propriété des enregistrements des utilisateurs ou des équipes et de l’organisation, afin de permettre un accès plus étendu aux données grâce à des conditions de filtre. Choisissez le modèle de propriété qui répond aux besoins de votre entreprise. N’oubliez pas que seules les tables de propriété filtrées utilisent des filtres comme source exclusive d’accès aux enregistrements.
Étapes suivantes
- Découvrez comment configurer des tables de propriété filtrées dans la propriété des enregistrements filtrés.
- Découvrez comment appliquer des filtres aux modèles de propriété d’enregistrement existants dans Ajouter une sécurité de vue filtrée aux tables de propriété d’enregistrement.
- En savoir plus sur l’architecture de sécurité Dataverse dans les concepts de sécurité dans Microsoft Dataverse.