Entités de sécurité de champs
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
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 365 pour Outlook et Microsoft Dynamics 365 pour téléphones. Elle s’applique à tous les composants, par exemple le SDK de Microsoft Dynamics 365, 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 365.
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 :
Créer un enregistrement de profil de sécurité de champ
Ajouter des utilisateurs ou des équipes au profil
Rechercher un attribut pouvant être sécurisé au niveau champ
Sécuriser l’attribut, lorsque vous créez l’attribut ou que vous mettez à jour les métadonnées d’attribut
Publier les personnalisations d’attribut
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
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
Le modèle de sécurité de Microsoft Dynamics 365
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
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright