Partager via


Entités de sécurité de champs

 

Date de publication : novembre 2016

S’applique à : Dynamics CRM 2015

Vous utilisez des entités de sécurité de champ pour appliquer la sécurité au niveau du champ, qui limite l’accès au champ pour les utilisateurs et les équipes spécifiés. L’étendue de la sécurité au niveau du champ est globale, ce qui signifie que la sécurité s’applique à tous les enregistrements de l’organisation, indépendamment du niveau hiérarchique de la division auquel l’enregistrement ou l’utilisateur appartient. La sécurité de champ fonctionne dans tous les clients Microsoft Dynamics 365, notamment le client Web, Microsoft Dynamics CRM pour Outlook et Microsoft Dynamics CRM pour téléphones. Elle s’applique à tous les composants, par exemple le SDK Microsoft Dynamics CRM, les rapports, la recherche, le mode hors connexion, les vues filtrées, l’audit et la détection des doublons. Pour cette version, la sécurité au niveau du champ peut être appliquée à la fois aux champs personnalisés et à de nombreux champs prêts à l'emploi.

Pour plus d’informations sur la façon dont les champs sécurisés modifient le comportement des méthodes, voir Comment la sécurité de champ permet de contrôler l’accès aux valeurs des champs dans Microsoft Dynamics CRM 2015.

System_CAPS_security Sécurité Remarque

Les profils de sécurité au niveau du champ empêchent les utilisateurs fortuits d’accéder aux données Microsoft Dynamics 365 selon les définitions de profil. Si les listes de contrôle d’accès Microsoft SQL Server sont mal configurées ou s’il y a un problème d’injection de code SQL, les adversaires peuvent obtenir un accès direct aux données dans Microsoft SQL Server, contournant ainsi les restrictions de sécurité au niveau du champ. Pour plus d’informations, voir Vue d’ensemble des menaces de sécurité des applications Web.

Contenu de la rubrique

Installer et utiliser la sécurité de champ

Quels attributs peuvent être sécurisés ?

Partager les champs sécurisés

Installer et utiliser la sécurité de champ

Pour utiliser la sécurité de champ, vous devez effectuer les opérations suivantes :

  1. Créer un enregistrement de profil de sécurité de champ

  2. Ajouter des utilisateurs ou des équipes au profil

  3. Rechercher un attribut pouvant être sécurisé au niveau champ

  4. Sécuriser l’attribut, lorsque vous créez l’attribut ou que vous mettez à jour les métadonnées d’attribut

  5. Publier les personnalisations d’attribut

  6. Créer un enregistrement d’autorisation de champ qui définit l’accès (création, mise à jour, lecture) que le profil aura pour l’attribut personnalisé

Pour obtenir un exemple de code pour effectuer ces opérations, voir Exemple : Activer la sécurité des champs pour une entité.

Utilisez les attributs d’autorisation de champ suivants pour définir si le profil de sécurité de champ spécifié peut créer, lire ou mettre à jour un attribut. Vous pouvez définir ou comparer la valeur de ces attributs en utilisant le groupe d’options général Oui ou Non booléen (field_security_permission_type) :

  • FieldPermission.CanCreate

  • FieldPermission.CanRead

  • FieldPermission.CanUpdate

System_CAPS_security Sécurité Remarque

Si les utilisateurs à faibles privilèges bénéficient d'un accès en lecture à l'entité de profil de sécurité de champ, ils peuvent voir les profils des autres utilisateurs et rechercher d'autres utilisateurs qui ont accès aux attributs sécurisés par lesquels ils sont intéressés. Ils peuvent alors utiliser des techniques d'ingénierie sociale pour avoir un profil ayant accès à ces attributs sécurisés.

Quels attributs peuvent être sécurisés ?

Pour afficher les attributs pouvant être sécurisés, vous pouvez interroger les métadonnées de l'entité pour les propriétés suivantes :

Il existe des règles supplémentaires qui s'appliquent à certains types de données d'attribut :

  • Les attributs booléens peuvent être sécurisés pour les opérations de création et de mise à jour, mais pas pour la lecture.

  • Les attributs de groupes d'options peuvent être sécurisés pour la création, la mise à jour et la lecture, lorsqu'une valeur par défaut n'est pas spécifiée.

Il existe des milliers d'attributs pouvant être sécurisés. Il existe donc deux moyens plus simples de rechercher cette information.Pour afficher les métadonnées d'entité pour votre organisation, installez la solution Navigateur de métadonnées décrite dans l'article Parcourir les métadonnées de votre organisation. Vous pouvez également afficher les métadonnées d'une organisation non personnalisée dans un fichier Excel appelé EntityMetadata.xlsx dans le dossier de niveau supérieur du téléchargement du Kit de développement logiciel (SDK).

Partager les champs sécurisés

Vous pouvez partager les champs sécurisés autant que vous pouvez partager les enregistrements. Pour cela, vous créez, mettez à jour ou supprimez un enregistrement PrincipalObjectAttributeAccess (partage de champ), où vous spécifiez l’utilisateur ou l’équipe, l’entité et les autorisations.

Le tableau suivant répertorie les méthodes correspondantes pour sécuriser un champ par rapport à un enregistrement.

Partage d’un enregistrement

Partage de l’accès à un champ

Utilisez le message GrantAccessRequest pour accorder les droits d’accès à un utilisateur ou une équipe.

Utilisez le messageCreateRequest ou la méthode IOrganizationService.Create pour accorder des droits d’accès aux champs sécurisés pour un utilisateur ou une équipe.

Utilisez le message ModifyAccessRequest pour mettre à jour les droits d’accès d'un utilisateur ou d'une équipe.

Utilisez le message UpdateRequest ou la méthode IOrganizationService.Update pour mettre à jour les droits d’accès aux champs sécurisés pour un utilisateur ou une équipe.

Utilisez le message RevokeAccessRequest pour supprimer l’accès à un enregistrement à un utilisateur ou à une équipe.

Utilisez le message DeleteRequest ou la méthode IOrganizationService.Delete pour supprimer les droits d’accès aux champs sécurisés pour un utilisateur ou une équipe.

Voir aussi

Modèle de sécurité de Microsoft Dynamics CRM 2015
Entités d’administration et de sécurité
Messages et méthodes de l’entité FieldSecurityProfile
Messages et méthodes de l’entité FieldPermission
Messages et méthodes de l’entité PrincipalObjectAttributeAccess (partage de champ)
Chiffrement des données au niveau des champs
Exemple : extraire des autorisations de champ
Exemple : Activer la sécurité des champs pour une entité
Exemple : Extraire des enregistrements de partage de champ

© 2017 Microsoft. Tous droits réservés. Copyright