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 permisoALL 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 privilegioALL PRIVILEGES
. Los usuarios conservan cualquier otro privilegio que se les haya concedido por separado.CREATE TABLE
se actualiza aCREATE EXTERNAL TABLE
: el permisoCREATE 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 privilegioCREATE 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 permisoCREATE
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 permisoUSAGE
se quita y se reemplaza por los siguientes privilegios, más específicos:USE CATALOG
yUSE SCHEMA
.
Actualización a la versión 1.0 del modelo de privilegios
Advertencia
No es posible deshacer esta acción.
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.
Como administrador de la cuenta, inicie sesión en la consola de la cuenta.
Haga clic en Catálogo.
Haga clic en el nombre del metastore.
En Modelo de privilegios, haga clic en Actualizar.
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 privilegioCREATE EXTERNAL TABLE
. - Reemplace el permiso
CREATE
por el privilegio específicoCREATE CATALOG
,CREATE EXTERNAL LOCATION
,CREATE FUNCTION
,CREATE SCHEMA
oCREATE TABLE
. - Reemplace el permiso
USAGE
por el privilegio específicoUSE CATALOG
oUSE SCHEMA
.
Para obtener más información sobre el modelo de privilegios de Unity Catalog, consulte Privilegios de Unity Catalog y objetos protegibles.