Control de acceso a consultas

Con el control de acceso a las consultas, los permisos individuales determinan las capacidades de un usuario. En este artículo se describen los permisos individuales y cómo configurar el control de acceso a las consultas.

Permisos de consulta

Hay cuatro niveles de permisos para una consulta: No Permissions (Sin permisos), Can Run (Puede ejecutar), Can Edit (Puede editar) y Can Manage (Puede administrar). En la tabla se enumeran las capacidades de cada permiso.

Aptitud Sin permisos Puede ejecutar Can Edit (Puede editar) Puede administrar
Ver consultas propias x x x
Ver en la lista de consultas x x x
Ver el texto de la consulta x x x
Ver el resultado de la consulta x x x
Actualizar el resultado de la consulta (o elegir parámetros diferentes) x x x
Incluir la consulta en un panel x x x
Editar el texto de la consulta x (1) x
Cambio del almacén de SQL o el origen de datos x
Modificar permisos x
consulta de eliminación x

(1) Se necesita la configuración de uso compartidoRun as viewer (Ejecutar como espectador).

Nota:

La entidad de seguridad usada para ejecutar una consulta es el usuario que ha creado la consulta, no el usuario que hace clic en el botón Refresh (Actualizar).

Configuración de uso compartido

Los paneles admiten dos tipos de configuración de uso compartido: Run as viewer (Ejecutar como espectador) y Run as owner (Ejecutar como propietario).

Para definir la configuración de uso compartido, siga estos pasos:

  1. Haga clic en Queries IconQueries (Consultas) en la barra lateral.
  2. Haga clic en una consulta.
  3. Haga clic en el botón Share Button en la parte superior derecha. Se abre el cuadro de diálogo Administrar permisos.
  4. En el campo Sharing settings > Credentials (Configuración de uso compartido > Credenciales) de la parte inferior, seleccione lo siguiente:
    • Run as viewer (Ejecutar como espectador): la credencial del espectador se usa para ejecutar la consulta.
    • Run as owner (Ejecutar como propietario): la credencial del propietario se usa para ejecutar la consulta.

Una vez que acepte Run as viewer (Ejecutar como espectador), ya no podrá volver a cambiar la credencial a Run as owner (Ejecutar como propietario). Si revoca todo el uso compartido, podrá establecer las credenciales.

Administración de permisos de consulta mediante la interfaz de usuario

  1. Haga clic en Queries IconQueries (Consultas) en la barra lateral.

  2. Haga clic en una consulta.

  3. Haga clic en el botón Share Button en la parte superior derecha. Se abre el cuadro de diálogo Administrar permisos.

    Manage query permissions

  4. Siga los pasos según el tipo de permiso que quiera conceder:

    • Permiso Can Edit (Puede editar)
      1. Seleccione la configuración de uso compartidoRun as viewer (Ejecutar como espectador).
      2. Haga clic en el campo superior para agregar un usuario o grupo.
      3. Seleccione el permiso Can Edit (Puede editar).
      4. Haga clic en Agregar.
    • Permiso Can Run (Puede ejecutar)
      1. Haga clic en el campo superior para agregar un usuario o grupo.
      2. Seleccione el permiso Can run (Puede ejecutar).
      3. Haga clic en Agregar.
  5. Cierre el cuadro de diálogo.

Administración de permisos de consulta mediante la API

Para administrar los permisos de consulta mediante la API, invoque métodos en el punto de conexión de REST /2.0/preview/sql/permissions/queries/<query-id>. Por ejemplo, para establecer el permiso Can Manage (Puede administrar) para el usuario user@example.com, use curl para ejecutar el comando siguiente:

curl -u 'token:<personal-access-token>' https://<databricks-instance>/api/2.0/preview/sql/permissions/queries/<query-id> -X POST -d '{ "access_control_list": [ { "user_name": user@example.com", "permission_level": "CAN_MANAGE" } ] }'

Sustituya:

Importante

Como se trata de un método POST, se sobrescriben todos los permisos existentes. Para mantener los permisos existentes, debe agregarlos a la matriz access_control_list. En el ejemplo anterior, incluiría los permisos existentes que quisiera conservar junto con el nuevo permiso Can Manage (Puede administrar) para el usuario user@example.com.