Tablas de seguridad de campo

Use las tablas de seguridad de campo para aplicar seguridad de nivel de campo, que limita el acceso del campo a determinados usuarios y equipos. El ámbito de la seguridad de nivel de campo es global, lo cual significa que se aplica a todos los registros de la organización, independientemente del nivel jerárquico de la unidad de negocio al que pertenece el registro o el usuario. La seguridad de campo funciona en todos los clientes de Microsoft Dataverse, incluido el cliente web, Dynamics 365 for Outlook y Dynamics. Se aplica a todos los componentes, como los servicios web, los informes, la búsqueda, el acceso sin conexión, las vistas filtradas, la auditoría y la detección de duplicados de Dataverse. Para esta versión, la seguridad de campo se puede aplicar a los campos personalizados y a muchos campos predefinidos (OOB).

Importante

Los perfiles de seguridad de nivel de campo impiden que los usuarios involuntarios obtengan acceso a los datos de Dataverse en función de las definiciones del perfil. Si los ACL de SQL Server están mal configurados o si existe un problema de inyección de SQL, los adversarios pueden obtener acceso directo a los datos de SQL Server omitiendo las restricciones de seguridad de nivel de campo. Para obtener más información, consulte Información general sobre amenazas de seguridad de la aplicación web.

Configuración y seguridad de campo de uso

Para utilizar seguridad de campo, debe llevar a cabo lo siguiente:

  1. Cree un registro de perfil de seguridad de campo.

  2. Agregue usuarios o equipos al perfil.

  3. Busque una columna que se pueda proteger en el nivel de campo.

  4. Proteja la columna, bien cuando cree la columna o actualizando la definición de la columna.

  5. Publique las personalizaciones.

  6. Crear un registro de permisos de campo que defina qué acceso (creación, actualización, lectura) tendrá el perfil para la columna personalizada.

    Para el código de ejemplo sobre cómo realizar estos pasos, vea Ejemplo: Habilitar la seguridad de campo para una entidad.

    Use las siguientes columnas de permisos de campo para definir si el perfil de seguridad de campo especificado puede crear, leer o actualizar una columna. Puede establecer o comparar el valor de estas columnas mediante la utilización de la elección global field_security_permission_type:

  • FieldPermission. CanCreate

  • FieldPermission. CanRead

  • FieldPermission. CanUpdate

Importante

Si usuarios de bajo nivel de privilegio reciben acceso de lectura a la entidad de perfil de seguridad de campo, pueden ver qué perfiles tienen otros usuarios y encontrar a otros usuarios con acceso a los atributos protegidos que les interesan. Puede usar posteriormente técnicas de ingeniería social para asignar un perfil con acceso a estos atributos protegidos.

¿Qué atributos se pueden proteger?

Para ver qué columnas se pueden proteger, puede consultar la definición de tabla para las siguientes propiedades:

  • CanBeSecuredForCreate

  • CanBeSecuredForRead

  • CanBeSecuredForUpdate

    Hay algunas reglas adicionales que se aplican a determinados tipos de datos de atributo:

  • Los atributos booleanos se pueden proteger para crear y actualizar operaciones, pero no para leer.

  • Los atributos de conjunto de opciones se pueden proteger para crear, actualizar y leer cuando no se especifica un valor predeterminado.

    Existen miles de columnas que pueden protegerse, por lo que hay dos formas más fáciles de búsqueda de esta información. Para ver la definiciones de tabla de su organización, instale la solución Explorador de definiciones de tabla que se describe en Definición de tablas de exploración en su entorno. También puede examinar la documentación de referencia para las entidades en la Referencia de tabla/entidad.

Compartir campos protegidos

Puede compartir campos protegidos del mismo modo que puede compartir registros. Para ello, se puede crear, actualizar o eliminar un registro de PrincipalObjectAttributeAccess (uso compartido de campo) en el que podrá especificar al usuario o al equipo, a la entidad y los permisos.

En la siguiente tabla se enumeran los métodos correspondientes para proteger un campo en comparación con los necesarios para proteger un registro.

Uso compartido de registros Uso compartido de acceso a campos
Utilice el mensaje GrantAccessRequest para conceder acceso a los registros a un usuario o a un equipo. Use el mensaje CreateRequest o el método IOrganizationService.Create para conceder acceso seguro a campos a un usuario o equipo.
Utilice el mensaje ModifyAccessRequest para actualizar el acceso a los registros a un usuario o a un equipo. Use el mensaje UpdateRequest o el método IOrganizationService.Update para actualizar el acceso seguro a campos de un usuario o equipo.
Utilice el mensaje RevokeAccessRequest para quitar el acceso a los registros a un usuario o a un equipo. Use el mensaje DeleteRequest o el método IOrganizationService.Delete para quitar el acceso seguro a campos de un usuario o equipo.

Consultar también

Seguridad y datos de acceso
Entidad FieldSecurityProfile
Entidad FieldPermission
Entidad PrincipalObjectAttributeAccess

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).