Saltar al contenido principal

Conceder a un rol acceso a registros

Objetivo​

Decidir qué puede hacer cada rol con los registros de un entorno, como parte de la solución que distribuye la aplicación, para que el mismo acceso llegue a Prueba y a Producción.

Requisitos previos​

  • Ha iniciado sesión en el Centro de control de administración.
  • Hay una solución abierta (consulte Crear una solución).
  • Las tablas a las que quiere conceder acceso existen en el entorno. Una tabla se crea con sus datos detrás, así que cualquier tabla que vea es una tabla a la que puede conceder acceso.

Dos preguntas, no una​

Cada línea de un rol responde a dos preguntas distintas, y entender esa separación es casi todo lo que hay que entender de esta pantalla:

  • Un permiso: ¿qué pueden hacer? Create, Read, Update, Delete sobre una tabla.
  • Una directiva: ¿sobre qué registros? Desde Registros que poseo, pasando por Mi unidad y las inferiores, hasta Todos los registros.

Por eso cada celda de la cuadrícula es una lista desplegable y no una casilla: una casilla solo puede responder a la primera pregunta.

Dar el rol a un equipo​

Encima de la cuadrícula hay una lista con los equipos del entorno, cada uno con una casilla. Todos los miembros de un equipo marcado tienen este rol aquí, además de cualquier persona a la que se le haya dado el rol directamente en la página Usuarios. Las dos vías cuentan a la vez: alguien que está en un equipo marcado y que además tiene el rol personalmente lo tiene una sola vez.

Esa es la segunda mitad de lo que significa incorporar a alguien a un equipo. La pertenencia a un equipo ya decidía a qué registros llega un permiso (las directivas De mis equipos), y ahora también puede decidir qué permisos tiene.

Es una decisión propia de su organización, así que nunca viaja en una solución. Un paquete trae un rol y lo que ese rol puede hacer; quién lo tiene depende de su personal, y no es asunto de un editor decirlo. Por eso esta lista es la misma sea cual sea la solución en la que esté, y una desinstalación no la toca.

Surte efecto en la siguiente solicitud, como cualquier otro cambio de esta pantalla, también cuando alguien entra en el equipo o sale de él después.

Privilegios de la plataforma: lo que no tiene que ver con una tabla​

Encima de la cuadrícula hay una lista corta de casillas: Importar una solución, Exportar una solución, Importar datos. Son las capacidades que no tienen una tabla detrás, así que la segunda pregunta no se aplica: no hay registros que una directiva pueda filtrar. Se tienen o no se tienen, y por eso son casillas y no listas desplegables.

Se tienen por entorno, como todo lo demás en esta pantalla: un rol que puede importar una solución en Desarrollo no por ello puede importarla en Producción.

La administración de usuarios y roles no está aquí, y es deliberado, no un olvido. Los usuarios y los roles abarcan todo el inquilino (existen esté en el entorno que esté), así que «puede administrar usuarios, en Desarrollo» no es una frase que signifique algo. Eso sigue en manos del administrador de la plataforma.

La fila «Todas las tablas» no cubre ningún privilegio. Significa todas las tablas, y la plataforma no es una tabla. Un privilegio se concede marcándolo.

Pasos​

  1. Abra Soluciones y, después, la solución en la que vive su aplicación.
  2. Abra Roles en la navegación de la solución.
  3. Seleccione Nuevo para crear un rol propiedad de esta solución, o Agregar rol existente para conceder acceso a un rol que su organización ya tiene.
  4. En la cuadrícula, asigne a cada celda una directiva o déjela en No concedido.
  5. La primera fila es Todas las tablas. Una concesión hecha ahí cubre todas las tablas, incluidas las que cree más adelante, cosa que no haría una concesión fila por tabla.
  6. Seleccione Guardar.

El cambio surte efecto en la siguiente solicitud. No hay ningún retraso que esperar.

Por qué esto está dentro de una solución y por qué nunca pregunta el entorno​

Un permiso nombra una tabla, y las tablas pertenecen a un entorno; una concesión que deba llegar a Prueba y a Producción tiene que viajar en un paquete. Al abrir una solución ambas cosas ya quedan fijadas (una solución pertenece a un entorno), así que la pantalla no tiene ningún entorno por el que preguntarle. Para conceder al mismo rol un acceso distinto en otro sitio, exporte la solución e impórtela allí, o cambie de entorno y trabaje en la solución de ese entorno.

Qué roles muestra la lista​

Un rol está en una solución por uno de estos dos motivos, y ambos aparecen en la lista:

  • La solución lo posee: se creó aquí con Nuevo, así que su nombre lógico lleva el prefijo del editor (par_sales).
  • La solución le concede algo: un rol que su organización ya tenía, incorporado con Agregar rol existente.

Agregar un rol existente no escribe nada por sí solo; el rol entra en la solución en cuanto le concede algo y guarda. Conceder algo a su propio rol sales nunca lo convierte en un rol del editor: si un rol pertenece a un paquete lo decide su prefijo, así que una desinstalación no puede quitarle su rol.

Quitar de la solución borra solo las concesiones que hace esta solución. Un rol que posee la solución no se puede quitar de esa manera: pertenece al paquete, así que quitarlo implica eliminar el rol en la página Roles del Centro de control de administración.

La capa que está editando​

Las celdas muestran lo que concede esta solución. Cuando otra capa ya concede algo que la solución deja vacío, la celda lo indica (Ya concedido en otro lugar: …) en lugar de incorporarlo. Esa distinción importa porque la pantalla vuelve a escribir lo que muestra: si mostrara la respuesta combinada, un solo guardado copiaría en su paquete sus ediciones locales y las concesiones de otras soluciones.

La solución predeterminada («Main») es la excepción. No es un paquete, así que su cuadrícula edita las concesiones propias de su entorno: no viajan en nada y prevalecen sobre cualquier cosa que conceda una solución. Es el lugar para hacer un ajuste local que no quiere distribuir.

Copiar un rol​

Es habitual tener dos roles que se diferencian en una o dos celdas («Ventas» y «Jefe de ventas», «Soporte» y «Responsable de soporte»), y volver a conceder el segundo celda a celda es la forma de acabar con un rol de seguridad que difiere de su hermano en algún punto que nadie pretendía.

  1. Abra el rol del que quiere partir.
  2. Seleccione Copiar rol.
  3. Dé al nuevo rol un nombre para mostrar, el que se lee en la página Roles y en la lista de usuarios, por ejemplo Ventas de campo (solo lectura).
  4. Dé al nuevo rol un nombre lógico (con prefijo, como cualquier otro componente que crea esta solución).
  5. Seleccione Copiar, ajuste las celdas que deban ser distintas y seleccione Guardar.

La copia toma los permisos tal como están en pantalla, incluidas las ediciones que todavía no ha guardado: copiar un rol que acaba de ajustar debe copiar lo que está viendo.

Hay dos cosas que deliberadamente no hace:

  • No copia el rol en otros entornos. Solo en este. El mismo rol significa cosas distintas en Desarrollo y en Producción, así que copiar «lo que este rol puede hacer» solo puede significar razonablemente lo que puede hacer aquí.
  • No copia quién tiene el rol. Esas son sus personas, y duplicar un rol no es motivo para duplicar sus miembros. Asigne el nuevo rol a quien deba tenerlo (consulte Asignar un rol a un usuario).

Con qué empieza un entorno nuevo​

Solo con el rol Maker, con todo concedido sobre todas las tablas y los tres privilegios de la plataforma. Todos los demás roles empiezan sin nada, incluido un rol que un usuario ya tiene. Es deliberado: el acceso es algo que alguien ha concedido, y «nada» es el único valor predeterminado con el que equivocarse no es peligroso.

El administrador del inquilino no aparece en la cuadrícula. Tiene acceso total por definición y no pasa por esta pantalla, de modo que revocar lo que no debía nunca puede dejarle fuera de la pantalla que lo volvería a poner.

Cuando una solución trae el rol​

Una solución instalada puede traer roles de seguridad consigo (el rol y lo que puede hacer), porque una aplicación que se distribuye sin sus roles es una aplicación que nadie puede usar. Esas concesiones ya están en vigor cuando la solución termina de instalarse; nadie tiene que volver a concederlas.

Aun así, puede cambiarlas desde la solución Main, y su cambio prevalece:

  • Restrinja o amplíe una celda y se aplicará su configuración, independientemente de lo que haya establecido la solución.
  • Vuelva a poner una celda en No concedido y seguirá sin concederse: la concesión de la solución no reaparece la próxima vez que abra la pantalla.
  • Actualice la solución y sus cambios se conservarán. Una importación pone al día las concesiones propias de la solución y deja las suyas intactas.
  • Desinstale la solución y sus concesiones se irán con ella. Todo lo que usted haya establecido se queda; una celda que había cambiado vuelve a su valor, y una celda que solo concedía la solución pasa a No concedido.

Quién tiene un rol nunca forma parte de un paquete. Esas son sus personas, y asignar el rol siempre lo hace alguien de aquí (consulte Asignar un rol a un usuario).

Las directivas, de la más restringida a la más amplia​

Todas se pueden elegir y todas se aplican:

DirectivaAlcanza
Ningún registroNada. Un permiso concedido así no hace nada; solo es útil para desactivar algo sin quitar la fila.
Registros que poseoLos registros que posee personalmente este usuario.
Míos y de mis equiposLo anterior, más los registros que posee cualquier equipo al que pertenece.
Registros de mis equiposLos registros que posee un equipo al que pertenece.
Mi unidadLos registros que se poseen dentro de su propia unidad organizativa.
Mi unidad y las inferioresSu unidad y todas las unidades que dependen de ella.
Mi unidad y las superioresSu unidad y todas las unidades de las que depende jerárquicamente.
Toda mi ramaLa unidad superior de todas las que tiene por encima, y todo lo que depende de ella.
Todos los registrosTodo el entorno.

Todo salvo Todos los registros depende de quién posee un registro y de dónde se sitúan las unidades en la organización. El propietario de un registro se establece al crearlo y se puede traspasar después (consulte Cambiar el propietario de un registro); las unidades y los equipos son tablas del entorno, así que construye allí su organización y las directivas la siguen.

La unidad de un registro es la unidad de su propietario, fijada al crearlo y de nuevo cada vez que se asigna a otra persona. Mover a una persona a otra unidad después no mueve lo que ya posee; reasigne esos registros si deben seguirla. Los registros de una persona sin unidad no los alcanza ninguna directiva de unidad.

Una directiva que el motor no puede evaluar aparece bajo la cuadrícula, pero no se puede seleccionar: una concesión que el motor no puede evaluar mostraría en esta pantalla un acceso que el usuario no tiene realmente. Hoy todas las directivas integradas se pueden evaluar, así que ahí no aparece nada.

Qué ve un usuario cuando una concesión es restringida​

A un usuario no se le muestran los comandos a los que no llega su rol. En una tabla en la que no puede crear registros no hay botón Nuevo; en una de la que no puede eliminar, no hay Eliminar; y una tabla que puede leer pero no actualizar abre sus registros en solo lectura, sin Guardar. Así, una concesión restringida se percibe como una aplicación más sencilla y no como un muro de rechazos, y el permiso se sigue comprobando en el servidor cada vez, muestre lo que muestre la pantalla.

Solución de problemas​

  • «… no es un permiso que este entorno pueda conceder». — la tabla se eliminó después de escribir el rol. Vuelva a abrir la pantalla y establezca de nuevo la concesión.
  • «… aparece dos veces». — un rol tiene un permiso con exactamente una directiva. Establezca la celda una sola vez.
  • Un usuario sigue sin ver registros después de conceder el rol. — compruebe qué rol lleva realmente su token; una concesión a «Sales» no hace nada para un usuario cuya notificación (claim) dice «sales». Si dio el rol a un equipo, compruebe que está en él, en Equipos.
  • No hay ninguna lista de equipos en la pantalla. — el entorno todavía no tiene ninguno, o su modelo de organización no se ha inicializado. Cree un equipo en Equipos y vuelva a abrir el rol.
  • Lo quité todo y ahora nadie puede usar la aplicación. — eso es lo que hace. Vuelva a conceder el rol; como administrador, su propio acceso no se ve afectado.
  • «No tiene el privilegio “…” en este entorno». — la persona intenta importar una hoja de cálculo, o importar o exportar una solución, y su rol no lo tiene marcado. Márquelo en Privilegios de la plataforma, encima de la cuadrícula.
  • «… es un privilegio de la plataforma, así que se tiene o no se tiene». — se envió un privilegio con una directiva. Nada en la pantalla puede hacerlo; viene de un paquete de solución que indicaba una.
  • La cuadrícula está vacía. — no hay ningún entorno seleccionado en la parte superior de la ventana, o ese entorno todavía no tiene tablas.
  • Un rol que agregué ha desaparecido de la lista. — lo guardó sin nada concedido. Un rol está en la solución porque la solución le concede algo; agréguelo de nuevo y concédale algo.
  • Concedí el rol en Desarrollo y no cambió nada en Producción. — es lo esperado: los permisos son por entorno. Exporte la solución e impórtela en Producción (consulte Importar una solución en un entorno), que es exactamente para lo que sirve poner las concesiones en una solución.

Escenarios relacionados​