Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Esta característica se encuentra en versión preliminar pública en las siguientes regiones: westus, westus2, eastuseastus2, centralussouthcentralusnortheuropewesteuropeaustraliaeastbrazilsouthcanadacentralcentralindia, , . southeastasiauksouth
Se crea automáticamente un rol de Postgres para la identidad de Azure Databricks del propietario de la instancia de base de datos de Lakebase.
Inicialmente, solo el propietario de la instancia puede iniciar sesión y acceder a la instancia a través de Postgres. Para permitir que otras identidades de Azure Databricks inicien sesión en la instancia de base de datos, la identidad de Azure Databricks debe tener un rol de Postgres correspondiente.
En esta página se describe cómo agregar y administrar roles adicionales basados en identidades de Azure Databricks en PostgreSQL.
Creación de roles de Postgres y concesión de privilegios para identidades de Azure Databricks
Cree roles de Postgres mediante la interfaz de usuario de Azure Databricks o las consultas de PostgreSQL.
Nota:
Las acciones de administración de roles se rigen por los permisos concedidos en la instancia de base de datos. Asegúrese de que tiene el nivel de acceso adecuado antes de intentar administrar roles.
Interfaz de usuario
Los usuarios con CAN USE permiso en la instancia de base de datos pueden ver los roles de Postgres existentes asociados a identidades de Azure Databricks o agregar un rol para su propia identidad a la instancia.
Además, los usuarios con CAN MANAGE pueden crear roles para otras identidades de Azure Databricks, incluidos los privilegios adicionales, y quitar roles para cualquier identidad de Azure Databricks.
Puede asignar permisos adicionales a los usuarios, grupos o entidades de servicio deseados en la página de información general de instancias de base de datos .
- Haga clic en
Aplicaciones en la esquina superior derecha y seleccione Lakebase Postgres.
- Haga clic en Aprovisionado para abrir la página Instancias aprovisionadas .
- Seleccione la instancia de base de datos.
- Seleccione la página Roles de la barra lateral de la aplicación lakebase.
- Haga clic en Agregar rol en la esquina superior derecha.
- En el menú desplegable Principal, seleccione un usuario, un grupo o una entidad de servicio a la que quiera conceder acceso a la base de datos. Debe seleccionar una identidad de Azure Databricks que aún no tenga un rol de Postgres en la instancia.
- (Opcional) Seleccione Roles del sistema para conceder:
-
databricks_superuser: concede acceso de lectura y escritura a todos los datos. Se trata de un rol administrativo con privilegios amplios que heredan de
pg_read_all_data,pg_write_all_dataypg_monitor. Consulte Roles y permisos creados previamente.
-
databricks_superuser: concede acceso de lectura y escritura a todos los datos. Se trata de un rol administrativo con privilegios amplios que heredan de
- (Opcional) Seleccione Atributos del sistema para conceder funcionalidades específicas:
- CREATEDB: concede permiso para crear nuevas bases de datos.
- CREATEROLE: concede permiso para crear nuevos roles.
- BYPASSRLS: otorga permiso para omitir las políticas de seguridad de nivel de fila (RLS).
- Haga clic en Agregar.
PostgreSQL
Antes de crear nuevos roles de Postgres, compruebe que cumple los siguientes requisitos:
- Debe tener los permisos
CREATEyCREATE ROLEen la base de datos. - Debe autenticarse e iniciar sesión en Postgres como identidad de Azure Databricks (usuario, entidad de servicio o grupo). Las sesiones autenticadas de Native Postgres no pueden crear roles de Azure Databricks.
- El token de autenticación debe ser válido y no expirado en el momento de la creación del rol.
Use la databricks_create_role función para agregar y crear roles de PostgreSQL basados en identidad de Azure Databricks. La extensión databricks_auth de PostgreSQL personalizada proporciona la databricks_create_role función .
Cree la
databricks_authextensión. Cada base de datos de Postgres debe tener su propia extensión.CREATE EXTENSION IF NOT EXISTS databricks_auth;Use la
databricks_create_rolefunción para agregar y crear nuevos roles de Postgres para identidades de Azure Databricks. El rol aún no debe existir. Si existe un rol con el mismo nombre, elimínelo antes de crear el rol de Azure Databricks basado en identidad.SELECT databricks_create_role('identity_name', 'identity_type');Los
identity_nameparámetros yidentity_typedependen del tipo de identidad de Azure Databricks:Usuario de Azure Databricks:
- identity_name: correo electrónico del usuario, por ejemplo,
myuser@databricks.com - tipo_de_identidad:
USER
SELECT databricks_create_role('myuser@databricks.com','USER');- identity_name: correo electrónico del usuario, por ejemplo,
Entidad de servicio de Azure Databricks:
- identity_name: ID de aplicación del Principal de servicio, por ejemplo,
8c01cfb1-62c9-4a09-88a8-e195f4b01b08 - tipo_de_identidad:
SERVICE_PRINCIPAL
SELECT databricks_create_role('8c01cfb1-62c9-4a09-88a8-e195f4b01b08','SERVICE_PRINCIPAL');- identity_name: ID de aplicación del Principal de servicio, por ejemplo,
Grupo de Azure Databricks:
- identity_name: nombre del grupo (distingue mayúsculas de minúsculas):
My Group 123 - tipo_de_identidad:
GROUP
SELECT databricks_create_role('My Group 123','GROUP');- identity_name: nombre del grupo (distingue mayúsculas de minúsculas):
Un rol creado con
databricks_create_rolesolo tiene privilegios concedidos aPUBLICdespués de la creación. Para conceder o revocar privilegios adicionales, use los comandosGRANTestándar de administración de privilegios de Postgres yREVOKE.Conceda al rol permiso de lectura para acceder a una tabla.
GRANT SELECT ON "my_schema"."my_table" TO <role-name>;Quite el acceso de escritura a una tabla del rol.
REVOKE INSERT, UPDATE, DELETE ON TABLE "my_schema"."my_table" FROM <role-name>;Revoque todo acceso a una base de datos del rol.
REVOKE CONNECT ON DATABASE "example_database" FROM <role-name>;
Visualización de roles de identidad de Azure Databricks
Interfaz de usuario
Puede ver qué usuarios, grupos y principales del servicio tienen un rol correspondiente de Postgres en la página de vista general de instancias de base de datos.
- Haga clic en
Aplicaciones en la esquina superior derecha y seleccione Lakebase Postgres.
- Haga clic en Aprovisionado para abrir la página Instancias aprovisionadas .
- Seleccione la instancia de base de datos.
- Seleccione la página Roles de la barra lateral de la aplicación lakebase.
PostgreSQL
Use consultas de PostgreSQL para enumerar todos los roles de identidad de Azure Databricks creados de forma predeterminada y a partir del uso de la función databricks_create_role, use la función databricks_list_roles en la extensión databricks_auth. Esta lista incluye a todos los usuarios, entidades de servicio y grupos de Azure Databricks que se han agregado para autenticarse como roles de Postgres.
CREATE EXTENSION IF NOT EXISTS databricks_auth;
SELECT * from databricks_list_roles;
Eliminar un rol de Postgres basado en identidad de Azure Databricks
Interfaz de usuario
No se puede deshacer la eliminación de un rol. Puede volver a crear un rol, pero cualquier reasignación de propiedad de objeto no es reversible sin quitar el nuevo rol que posee objetos reasignados.
- Haga clic en
Aplicaciones en la esquina superior derecha y seleccione Lakebase Postgres.
- Haga clic en Aprovisionado para abrir la página Instancias aprovisionadas .
- Seleccione la instancia de base de datos.
- Seleccione la página Roles de la barra lateral de la aplicación lakebase.
- Para el rol que desea quitar, haga clic en el
en el lado derecho de la fila.
- Haga clic en Colocar.
- (Opcional) Si el rol posee objetos, active Reasignar objetos propiedad para habilitar la eliminación del rol. Esta opción reasigna los objetos poseídos a otro rol antes de eliminarlos. Algunos objetos (como las concesiones asociadas al rol que se está eliminando) no se pueden reasignar y se eliminan después de reasignar todos los objetos reasignables.
- Haga clic en Confirmar.
PostgreSQL
Un rol de Postgres asociado a la identidad de Azure Databricks se puede eliminar igual que cualquier otro rol de Postgres. Para más información, consulte la documentación de PostgreSQL sobre la eliminación de roles. Después de que se elimine un rol basado en identidad de Azure Databricks, no se puede utilizar para la autenticación con base en tokens ni para acceder a PostgreSQL.