Compartir a través de


Administración de la propiedad de objetos de Unity Catalog

Cada objeto protegible de Unity Catalog tiene un propietario. El propietario puede ser cualquier principal: un usuario, un principal de servicio o un principal de cuentas. La entidad que crea un objeto se convierte en su propietario inicial. El propietario de un objeto tiene todos los privilegios sobre el objeto, como SELECT y MODIFY en una tabla, además del permiso para conceder privilegios a otros principales. El propietario de un objeto tiene la capacidad de soltar el objeto.

Privilegios de propietario

A los propietarios de un objeto se les conceden automáticamente todos los privilegios en ese objeto. Además, los propietarios de objetos pueden conceder privilegios en el propio objeto y en todos sus objetos secundarios. Esto significa que los propietarios de un esquema no tienen automáticamente todos los privilegios en las tablas del esquema, pero pueden concederse privilegios a sí mismos en las tablas del esquema.

Nota:

Para evitar la filtración accidental de datos, los propietarios de esquemas no tienen el EXTERNAL USE SCHEMA privilegio de forma predeterminada y los propietarios de ubicaciones externas no tienen el EXTERNAL USE LOCATION privilegio de forma predeterminada. Consulte Habilitar el acceso a datos externos en Unity Catalog.

Propiedad del metastore y catálogo

Los administradores de metastore son los propietarios del metastore. El rol de administrador de metastore es opcional. Los administradores de metastore pueden reasignar la propiedad de metastore mediante la transferencia del rol de administrador de metastore; consulte Asignación de un administrador de metastore.

Si el área de trabajo se ha habilitado automáticamente para Unity Catalog, el área de trabajo se adjunta a un metastore de forma predeterminada y se crea un catálogo de áreas de trabajo para el área de trabajo del metastore. Los administradores del área de trabajo son los propietarios predeterminados y pueden reasignar la propiedad del catálogo del área de trabajo. En estas áreas de trabajo, no hay ningún administrador de metastore asignado de manera predeterminada, pero los administradores de cuentas pueden conceder el rol de administrador de metastore si es necesario. Consulte Administradores de metastore.

Para obtener más información acerca de los privilegios de administrador en Unity Catalog, consulte Privilegios de administrador en Unity Catalog.

Propiedad frente al MANAGE privilegio

MANAGE (Versión preliminar pública) es un privilegio similar a la propiedad del objeto. Concede a un usuario la capacidad de editar, quitar y administrar privilegios en el objeto. Sin embargo, a los usuarios con el MANAGE privilegio en un objeto no se les conceden automáticamente todos los privilegios en ese objeto. Como hacen con otros privilegios, los usuarios necesitan USE CATALOG en el catálogo primario del objeto y USE SCHEMA en el esquema primario del objeto. Por ejemplo, para conceder permisos en una tabla, los usuarios deben tener el MANAGE privilegio sobre esa tabla, así como USE CATALOG privilegios en su catálogo primario y USE SCHEMA privilegios en su esquema primario.

El propietario de un objeto solo puede ser un único principal, incluido un grupo, mientras que MANAGE se puede conceder a varios principales.

Para evitar la elevación accidental de privilegios, ALL PRIVILEGES no incluye el MANAGE privilegio.

Ver el propietario de un objeto

Puede usar el Explorador de catálogos o instrucciones SQL para ver el propietario de un objeto.

Permisos necesarios: cualquier usuario con el privilegio BROWSE en el objeto o un elemento primario del objeto puede ver al propietario del objeto.

Explorador de catálogo

  1. En el área de trabajo de Azure Databricks, haga clic en Data icon.Catalog.

  2. Seleccione el objeto, como un catálogo, un esquema, una tabla, una vista, un volumen, una ubicación externa o una credencial de almacenamiento.

    Cómo navegar hasta el objeto depende de cada objeto. Los catálogos, esquemas y el contenido de esquemas (como tablas y volúmenes) se pueden seleccionar en el panel izquierdo Catálogo. Puede encontrar otros objetos, como ubicaciones externas o recursos compartidos de Delta Sharing, haciendo clic en el icono de engranaje. icono de engranaje encima del panel del Catálogo y seleccionando la categoría de objeto del menú.

    Para la mayoría de los objetos, el propietario se muestra en la pestaña Información general de la página de detalles del objeto. Para algunos objetos, como ubicaciones externas, se muestra en la parte superior de la página de detalles del objeto.

SQL

Ejecute el siguiente comando SQL en un cuaderno o en un editor de consultas SQL. Reemplace los valores de marcador de posición:

  • <securable-type>: tipo de objeto protegible, como CATALOG o TABLE.
  • <catalog>: el catálogo principal si está viendo un esquema o el contenido de un esquema.
  • <schema>: el esquema primario si está viendo el contenido de un esquema, como una tabla o vista.
  • <securable-name>: nombre del objeto protegible.
DESCRIBE <securable-type> EXTENDED <catalog>.<schema>.<securable-name>;

Transferencia de la propiedad

Puede usar el Explorador de catálogos o instrucciones SQL para ver el propietario de un objeto.

Permisos necesarios: puede transferir la propiedad del objeto si es el propietario actual, un administrador de metastore, el propietario del contenedor (el catálogo de un esquema, el esquema de una tabla) o un usuario con el MANAGE privilegio en el objeto. Los objetos de recurso compartido delta sharing son una excepción: solo un administrador de metastore puede transferir la propiedad del recurso compartido.

Para evitar escalaciones de privilegios, solo un administrador de metastore puede transferir la propiedad de una vista, una función o un modelo a cualquier usuario, entidad de servicio o grupo de la cuenta. Los propietarios y usuarios actuales con el MANAGE privilegio están restringidos a transferir la propiedad a su nombre de usuario o a un grupo del que son miembros.

Sugerencia

La transferencia de la propiedad de una vista o una vista de métrica a un grupo permite la edición colaborativa. Cuando un grupo posee una vista o una vista de métricas, todos los miembros del grupo pueden editar su definición, mientras que el acceso a datos permanece limitado a lo que el grupo tiene permiso para ver. Para obtener instrucciones detalladas, consulte Habilitación de la edición colaborativa.

Nota:

Las vistas materializadas y las tablas de streaming creadas con Databricks SQL pueden tener la propiedad transferida. Para obtener más información, consulte Cambiar el propietario de una vista materializada y Cambiar el propietario de una tabla de streaming.

Las vistas materializadas y las tablas de transmisión creadas con las canalizaciones declarativas de Lakeflow Spark no pueden tener su propiedad transferida directamente. En su lugar, cambie el usuario de ejecución del flujo de trabajo que es propietario de los conjuntos de datos. Con la siguiente actualización, el propietario se actualizará al usuario de ejecución. Consulte Establecimiento del usuario de ejecución.

Explorador de catálogo

  1. En el área de trabajo de Azure Databricks, haga clic en Data icon.Catalog.

  2. Seleccione el objeto, como un catálogo, un esquema, una tabla, una vista, una ubicación externa o una credencial de almacenamiento.

    Cómo navegar hasta el objeto depende de cada objeto. Los catálogos, esquemas y el contenido de esquemas (como tablas y volúmenes) se pueden seleccionar en el panel izquierdo Catálogo. Puede encontrar otros objetos, como ubicaciones externas o recursos compartidos de Delta Sharing, haciendo clic en el icono de engranaje. icono de engranaje encima del panel del Catálogo y seleccionando la categoría de objeto del menú.

    Para la mayoría de los objetos, el propietario se muestra en la pestaña Información general de la página de detalles del objeto. Para algunos objetos, como ubicaciones externas, se muestra en la parte superior de la página de detalles del objeto.

  3. Haga clic en el icono Editar icono de edición situado junto al Propietario.

  4. Busque y seleccione un grupo, un usuario o una entidad de servicio.

  5. Haga clic en Save(Guardar).

SQL

Ejecute el siguiente comando SQL en un cuaderno o en un editor de consultas SQL. Reemplace los valores de marcador de posición:

  • <securable-type>: Tipo de objeto protegible, como CATALOG o TABLE. METASTORE no se admite como un objeto protegible en este comando.
  • <securable-name>: nombre del objeto protegible. Si va a modificar un esquema o el contenido de un esquema, debe usar el espacio de nombres completo de tres niveles (catalog.schema.object), a menos que ya haya especificado el catálogo primario o el esquema.
  • <principal> es un usuario, un principal de servicio (representado por su valor de applicationId) o un grupo. Debe incluir usuarios, entidades de servicio y nombres de grupo que incluyan caracteres especiales en comillas invertidas (` `). Consulte Principal.
ALTER <securable-type> <securable-name> OWNER TO <principal>;

Por ejemplo, para transferir la propiedad de la tabla de orders al grupo accounting:

ALTER TABLE mycatalog.myschema.orders OWNER TO `accounting`;