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 su versión beta.
Esta página muestra cómo conectar un esquema de Unity Catalog a un gestor de secretos externo para que sus valores secretos permanezcan en Azure Key Vault.
Para saber cómo funcionan los secretos externos y sus limitaciones, véase Secretos externos en el Catálogo de Unity.
Requirements
- Cumple los requisitos para los secretos de Unity Catalog.
- La función beta de secretos externos debe estar activada para tu espacio de trabajo.
- El esquema que quieres respaldar externamente no debe contener ningún secreto gestionado por Azure Databricks. Elimina los secretos existentes antes de cambiar el backend.
- Debes tener una conexión de Unity Catalog a tu gestor de secretos externo y una credencial de servicio de Unity Catalog que la conexión use para autenticarse. Para crearlos, debes tener
USE CONNECTIONen una conexión existente oCREATE CONNECTIONen la metastore para crear una, y acceso a una credencial de servicio, oCREATE CREDENTIALen la metastore para crear una.
- El respaldo de Azure Key Vault solo está disponible en Azure Databricks on Azure, usando una conexión
AZURE_KEY_VAULT.
Establecer secretos externos
Crear una credencial de servicio
La conexión se autentica ante su gestor de secretos externo con una credencial de servicio de Unity Catalog.
Crea una credencial de servicio respaldada por una identidad gestionada o un principal de servicio, y concédele permiso para listar y leer secretos del Key Vault objetivo. Por ejemplo, asigne el rol Key Vault Secrets User o una directiva de acceso equivalente con los permisos de secreto get y list. Para las instrucciones, consulta Crear credenciales de servicio.
Creación de una conexión
Crea una conexión con el Catálogo de Unity que haga referencia a la credencial de servicio del paso anterior y apunte a tu gestor de secretos externo.
Explorador de catálogos
- En Azure Databricks, abre el Explorador de catálogos, haz clic en el + menú y selecciona Crear una conexión.
- Introduce un nombre de Conexión y selecciona el tipo de conexión de Azure Key Vault.
- Selecciona la credencial de servicio con la que quieres autenticarte y establece el nombre de la bóveda de tu Key Vault.
- Haga clic en Crear.
CLI de Databricks
Pasa el cuerpo de la conexión con --json, usando el tipo de conexión AZURE_KEY_VAULT. Configura vault_name en el nombre de tu Key Vault y credential en el nombre de la credencial de servicio:
databricks connections create --json '{
"name": "my_key_vault_connection",
"connection_type": "AZURE_KEY_VAULT",
"options": {
"vault_name": "my-vault",
"credential": "my_key_vault_credential"
}
}'
REST API
Usa el extremo /api/2.1/unity-catalog/connections con el tipo de conexión AZURE_KEY_VAULT. Azure Databricks resuelve vault_name en https://<vault_name>.vault.azure.net:
curl -X POST \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "my_key_vault_connection",
"connection_type": "AZURE_KEY_VAULT",
"options": {
"vault_name": "my-vault",
"credential": "my_key_vault_credential"
}
}' \
"$DATABRICKS_HOST/api/2.1/unity-catalog/connections"
Respaldar un esquema mediante la conexión
Configura el backend secreto del esquema en el Explorador de Catálogos.
En Azure Databricks, abre Catalog Explorer y ve al esquema.
En los detalles del esquema, localiza la configuración del gestor de secretos externo y haz clic en Activar.
El esquema no debe contener ningún secreto gestionado por Azure Databricks. Si es así, quítalos primero. Activar sigue desactivado hasta que el esquema no tenga secretos.
Selecciona la conexión que creaste en el paso anterior y luego confírmala.
El esquema ahora está respaldado por tu gestor de secretos externo, y sus secretos aparecen en el Catálogo de Unity.
Para apuntar el esquema a una conexión diferente, usa Editar. Para devolver el esquema al almacenamiento gestionado por Azure Databricks, edita el esquema y desactiva los secretos externos.
Configurar o cambiar el backend de secretos de un esquema requiere USE CATALOG en el catálogo principal, ser propietario del esquema o tener MANAGE sobre él, y USE CONNECTION en la conexión.
Lee secretos externos
Después de que el esquema está respaldado externamente, sus secretos aparecen en el Catálogo de Unity y los lees como cualquier otro secreto del Catálogo de Unity. Listar un esquema activa una importación, por lo que un secreto añadido solo aparece después de la siguiente lista. Los comandos de lectura son los mismos en ambas nubes.
Dbutils
dbutils aplica la redacción secreta y es la forma recomendada de leer un valor. Requiere Databricks Runtime 17.3 LTS o superior, o un entorno serverless de versión 4 o superior.
# List the secrets in the schema
all_secrets = dbutils.secrets.list(catalog="main", schema="default")
# Read a specific secret value from the external secret manager
my_secret = dbutils.secrets.get(catalog="main", schema="default", key="example_secret")
REST API
Establece include_value=true y lee el effective_value campo para devolver el valor. La API REST no redacta los valores devueltos, aunque sigue auditando el acceso; Azure Databricks recomienda dbutils en su lugar.
curl -G \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
--data-urlencode "include_value=true" \
"$DATABRICKS_HOST/api/2.1/unity-catalog/secrets/main.default.example_secret"
También puedes navegar y listar secretos externos en Catalog Explorer, de la misma manera que los secretos gestionados por Azure Databricks. Ver Lee un secreto.
Si un secreto aún no aparece en el Catálogo de Unity, aún puedes leerlo por su nombre. Proporciona el nombre tal como aparece en el gestor de secretos externo, con las sustituciones de caracteres de Restricciones de nomenclatura aplicadas.
Recursos adicionales
| Feature | Descripción |
|---|---|
| Secretos externos en el Catálogo de Unity | Aprende cómo Unity Catalog importa, gobierna y lee secretos respaldados externamente, y revisa las limitaciones. |
| Catálogo de Secretos en Unity | Crear, gobernar y gestionar secretos que Azure Databricks almacene en Unity Catalog. |
| Creación de credenciales de servicio | Crea la credencial de servicio del Catálogo de Unity que la conexión utiliza para autenticarse. |