Actualización a la herencia de privilegios

Si ha creado el metastore de Unity Catalog durante la versión preliminar pública (antes del 25 de agosto de 2022), puede actualizar a la versión 1.0 del modelo de privilegios. para aprovechar la herencia de privilegios. Las cargas de trabajo existentes seguirán funcionando tal cual hasta que actualice el modelo de privilegios. Databricks recomienda actualizar al modelo de privilegios versión 1.0 para obtener las ventajas de la herencia de privilegios y las nuevas características.

Diferencias en el modelo de privilegios versión 1.0

La versión 1.0 del modelo de privilegios en Unity Catalog tiene las diferencias siguientes con respecto al modelo de privilegios de la versión preliminar pública:

  • Herencia de privilegios: en la versión 1.0 del modelo de privilegios, los privilegios se heredan en objetos protegibles secundarios. Esto significa que, al conceder un privilegio en el catálogo, se concede automáticamente dicho privilegio a todos los objetos actuales y futuros del catálogo. Del mismo modo, todos los objetos actuales y futuros dentro de un esquema heredan los privilegios concedidos en ese esquema. En el modelo de versión preliminar, los privilegios no se heredan en los objetos protegibles secundarios. Para obtener más información sobre la herencia de privilegios, consulte Modelo de herencia.

  • ALL PRIVILEGES se evalúa de forma diferente: en el modelo de privilegios de versión preliminar pública, ALL PRIVILEGES concede a la entidad de seguridad todos los privilegios disponibles en el momento de la concesión de privilegios. En la versión 1.0 del modelo de privilegios, el permiso ALL PRIVILEGES se expande a todos los privilegios disponibles en el momento en el que se realiza una comprobación de permisos.

    En el Modelo de privilegios v1.0, cuando se revoca ALL PRIVILEGES solo se revoca el propio privilegio ALL PRIVILEGES. Los usuarios conservan cualquier otro privilegio que se les haya concedido por separado.

  • CREATE TABLE se actualiza a CREATE EXTERNAL TABLE: el permiso CREATE TABLE ya no se aplica a las ubicaciones externas ni a las credenciales de almacenamiento, que son necesarias para crear tablas externas. En la versión 1.0 del modelo de privilegios, se concede en su lugar el privilegio CREATE EXTERNAL TABLE en las ubicaciones externas y las credenciales de almacenamiento para permitir que un usuario pueda crear tablas externas con esa ubicación externa o credencial de almacenamiento.

  • CREATE se quita: el permiso CREATE se quita y se reemplaza por los siguientes privilegios, más específicos: CREATE CATALOG, CREATE EXTERNAL LOCATION, CREATE FUNCTION, CREATE SCHEMA, CREATE TABLE, CREATE MANAGED STORAGE.

  • USAGE se quita: el permiso USAGE se quita y se reemplaza por los siguientes privilegios, más específicos: USE CATALOG y USE SCHEMA.

Actualización a la versión 1.0 del modelo de privilegios

Advertencia

No es posible deshacer esta acción.

  1. Actualice todas las cargas de trabajo que hacen referencia a Unity Catalog para usar Databricks Runtime 11.3 LTS o versiones posteriores.

    Debe actualizar todos los clústeres para que usen Databricks Runtime 11.3 LTS o versiones posteriores y debe reiniciar los almacenes de SQL en ejecución. Si omite este paso, las cargas de trabajo en versiones anteriores de Databricks Runtime se rechazarán después de completar la actualización.

  2. Como administrador de la cuenta, inicie sesión en la consola de la cuenta.

  3. Haga clic en el Catalog iconCatálogo.

  4. Haga clic en el nombre del metastore.

  5. En Modelo de privilegios, haga clic en Actualizar.

  6. Haga clic en Actualizar.

Si no ve la opción de actualizar, el metastore de Unity Catalog ya está usando el modelo de privilegios 1.0.

Actualización de los comandos SQL (opcional)

Databricks seguirá admitiendo las concesiones expresadas mediante el modelo de privilegios antiguo y las asignará automáticamente a la concesión equivalente en el modelo de privilegios versión 1.0. Sin embargo, los privilegios que se devuelvan a través de datos SHOW GRANTS o information_schema seguirán haciendo referencia al modelo de privilegios de versión 1.0. Databricks recomienda actualizar el código existente que realiza concesiones de modo que haga referencia al modelo de privilegios actualizado.

  • Reemplace el privilegio CREATE TABLE de las ubicaciones externas o credenciales de almacenamiento por el privilegio CREATE EXTERNAL TABLE.
  • Reemplace el permiso CREATE por el privilegio específico CREATE CATALOG, CREATE EXTERNAL LOCATION, CREATE FUNCTION, CREATE SCHEMA o CREATE TABLE.
  • Reemplace el permiso USAGE por el privilegio específico USE CATALOG o USE SCHEMA.

Para obtener más información sobre el modelo de privilegios de Unity Catalog, consulte Privilegios de Unity Catalog y objetos protegibles.