Ámbitos de secretos

La administración de secretos comienza con la creación de un ámbito de secreto. Un ámbito de secretos es una colección de secretos identificados por un nombre.

Un área de trabajo está limitada a un máximo de 100 ámbitos de secretos. Póngase en contacto con su representante de Azure Databricks si necesita más información.

Nota:

Databricks recomienda alinear ámbitos secretos con roles o aplicaciones en lugar de usuarios.

Información general

Hay dos tipos de ámbito de secretos: compatible con Azure Key Vault y compatible con Databricks.

Ámbitos con respaldo de Azure Key Vault

Para hacer referencia a los secretos almacenados Azure Key Vault, puede crear un ámbito de secretos compatible con Azure Key Vault. A continuación, puede aprovechar todos los secretos de la instancia de Key Vault correspondiente desde ese ámbito de secretos. Dado que el ámbito secreto respaldado por Azure Key Vault es una interfaz de solo lectura para Key Vault, no se permiten las operaciones PutSecret y DeleteSecret de la API Secrets. Para administrar secretos en Azure Key Vault, debe usar la API REST Set Secret de Azure o la interfaz de usuario de Azure Portal.

Nota:

La creación de un rol de ámbito secreto respaldado por Azure Key Vault concede los permisos Obtener y Enumerar al identificador de recurso para el servicio Azure Databricks mediante directivas de acceso del almacén de claves, incluso si el almacén de claves usa el modelo de permisos RBAC de Azure.

Ámbitos con respaldo de Databricks

Un ámbito de secretos compatible con Databricks se almacena en (y es compatible con) una base de datos cifrada que es propiedad y está administrada por Azure Databricks. El nombre del ámbito de secretos:

  • Debe ser único dentro de un área de trabajo.
  • Debe constar de caracteres alfanuméricos, guiones, @, caracteres de subrayado y puntos, y no puede superar los 128 caracteres.

Los nombres se consideran no confidenciales y pueden ser leídos por todos los usuarios del área de trabajo.

Debe crear ámbito de secretos compatible con Databricks mediante la CLI de Databricks (versión 0.7.1 y posteriores). Como alternativa, puede utilizar la API Secrets.

Permisos de ámbito

Los ámbitos se crean con permisos que controla ACL. De forma predeterminada, los ámbitos se crean con el permiso MANAGE para el usuario que creó el ámbito (el "creador"), lo que permite al creador leer secretos en el ámbito, escribir secretos en este y cambiar las ACL del ámbito. Si la cuenta tiene el Plan Premium, puede asignar permisos pormenorizados en cualquier momento después de crear el ámbito. Para obtener más información, consulte Control de acceso secreto.

También puede invalidar el valor predeterminado y conceder explícitamente el permiso MANAGE a todos los usuarios al crear el ámbito. De hecho, debe hacerlo si su cuenta no tiene el plan Premium.

Procedimientos recomendados

Como responsable de equipo, es posible que quiera crear distintos ámbitos para las credenciales de Azure Synapse Analytics y Azure Blob Storage y, a continuación, proporcionar a los distintos subgrupos del equipo acceso a esos ámbitos. Debe considerar cómo lograr esto mediante los distintos tipos de ámbito:

  • Si usa un ámbito compatible con Databricks y agrega los secretos en esos dos ámbitos, serán secretos diferentes (Azure Synapse Analytics en el ámbito 1 y Azure Blob Storage en el ámbito 2).
  • Si usa un ámbito compatible con Azure Key Vault con cada ámbito que hace referencia a una instancia de Azure Key Vault diferente y agrega los secretos a esas dos instancias de Azure Key Vault, serán conjuntos diferentes de secretos (Azure Synapse Analytics en el ámbito 1 y Azure Blob Storage en el ámbito 2). Funcionarán como ámbitos compatibles con de Databricks.
  • Si usa dos ámbitos compatibles con Azure Key Vault con los dos ámbitos que hacen referencia a la misma instancia de Azure Key Vault y agrega los secretos a esa instancia de Azure Key Vault, estarán disponibles todos los secretos de Azure Synapse Analytics y Azure Blob Storage. Dado que las ACL están en el nivel de ámbito, todos los miembros de los dos subgrupos verán todos los secretos. Esta disposición no satisface el caso de uso de restringir el acceso a un conjunto de secretos a cada grupo.

Creación de un ámbito de secreto compatible con Azure Key Vault

Puede crear un ámbito de secretos compatible con Azure Key Vault mediante la interfaz de usuario o la CLI de Databricks.

Creación de un ámbito de secreto con el respaldo de Azure Key Vault mediante la interfaz de usuario

  1. Compruebe que tiene el rol de Lectores de directorio en el inquilino de Azure Active Directory.

  2. Compruebe que tiene permiso de Colaborador o Propietario en la instancia de Azure Key Vault que desea usar para que sea compatible con el ámbito de secretos.

    Si no tiene una instancia de Key Vault, siga las instrucciones de Inicio rápido: Creación de una instancia de Key Vault mediante Azure Portal.

    Nota:

    La creación de un ámbito de secreto con respaldo de Azure Key Vault requiere el rol de Colaborador o Propietario en la instancia de Azure Key Vault aunque se haya concedido previamente al servicio Azure Databricks acceso al almacén de claves.

    Si el almacén de claves está en un inquilino diferente al área de trabajo de Azure Databricks, el usuario de Azure AD que crea el ámbito de secretos debe tener permiso para crear entidades de servicio en el inquilino del almacén de claves. De lo contrario, se produce el siguiente error:

    Unable to grant read/list permission to Databricks service principal to KeyVault 'https://xxxxx.vault.azure.net/': Status code 403, {"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."},"requestId":"XXXXX","date":"YYYY-MM-DDTHH:MM:SS"}}
    
  3. Si la instancia de Azure Key Vault usa el modelo de permisos RBAC de Azure, conceda el rol de usuario de secretos de Key Vault al identificador de recurso único para el servicio Azure Databricks, que es 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d.

  4. Ir a https://<databricks-instance>#secrets/createScope. Esta dirección URL distingue mayúsculas de minúsculas; el ámbito de createScope debe estar en mayúsculas.

    Crear ámbito

  5. Escriba el nombre del ámbito de secretos. Los nombres de ámbito de los secretos no distinguen mayúsculas de minúsculas.

  6. Use el menú desplegable Administrar entidad de seguridad para especificar si Todos los usuarios tienen permiso MANAGE para este ámbito de secretos o solo el Creador del ámbito de secretos (es decir, usted).

    El permiso MANAGE permite a los usuarios leer y escribir en este ámbito de secretos y, en el caso de las cuentas del plan Premium, permite cambiar los permisos del ámbito.

    Su cuenta debe tener el plan Premium para que pueda seleccionar Creador. Este es el enfoque recomendado: conceda el permiso MANAGE al Creador cuando cree el ámbito de secretos y asigne permisos de acceso más detallados después de haber probado el ámbito. Para obtener un flujo de trabajo de ejemplo, consulte Ejemplo del flujo de trabajo secreto.

    Si la cuenta tiene el plan estándar, debe establecer el permiso MANAGE en el grupo "Todos los usuarios". Si selecciona Creador aquí, verá un mensaje de error al intentar guardar el ámbito.

    Para obtener más información sobre el permiso MANAGE, consulte Control de acceso de secretos.

  7. Escriba el nombre DNS (por ejemplo, https://databrickskv.vault.azure.net/) y el identificador del recurso, por ejemplo:

    /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/databricks-rg/providers/Microsoft.KeyVault/vaults/databricksKV
    

    Estas propiedades están disponibles en la pestaña Propiedades de Azure Key Vault en Azure Portal.

    Pestaña de propiedades de Azure Key Vault

  8. Haga clic en el botón Crear.

  9. Use el comando de la CLI de Databricksdatabricks secrets list-scopes para comprobar que el ámbito se haya creado correctamente.

Para obtener un ejemplo del uso de secretos a la hora de acceder a Azure Blob Storage, consulte Montaje del almacenamiento de objetos en la nube en Azure Databricks.

Creación de un ámbito de secreto con el respaldo de Azure Key Vault mediante la CLI de Databricks

  1. Instale la CLI y configúrela para usar un token de Azure Active Directory (Azure AD) para realizar la autenticación.

    Importante

    Debe autenticarse con un token de Azure AD que pertenezca a una entidad de servicio o a un usuario, o bien un token de acceso personal de Azure Databricks que pertenezca a una entidad de servicio, para crear un ámbito de secreto respaldado por Azure Key Vault mediante la API de Databricks. Tenga en cuenta que no puede usar tokens de acceso personal que pertenezcan a un usuario.

    Si el almacén de claves está en un inquilino diferente al área de trabajo de Azure Databricks, el usuario o la entidad de servicio de Azure AD que crea el ámbito de secretos debe tener permiso para crear entidades de servicio en el inquilino del almacén de claves. De lo contrario, se produce el siguiente error:

    Unable to grant read/list permission to Databricks service principal to KeyVault 'https://xxxxx.vault.azure.net/': Status code 403, {"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."},"requestId":"XXXXX","date":"YYYY-MM-DDTHH:MM:SS"}}
    
  2. Creación del ámbito de Azure Key Vault:

    databricks secrets create-scope --scope <scope-name> --scope-backend-type AZURE_KEYVAULT --resource-id <azure-keyvault-resource-id> --dns-name <azure-keyvault-dns-name>
    

    De forma predeterminada, los ámbitos se crean con el permiso MANAGE para el usuario que creó el ámbito. Si su cuenta no tiene el plan Premium, debe anular ese valor predeterminado y otorgar explícitamente el permiso MANAGE al grupo users (todos los usuarios) cuando cree el ámbito:

     databricks secrets create-scope --scope <scope-name> --scope-backend-type AZURE_KEYVAULT --resource-id <azure-keyvault-resource-id> --dns-name <azure-keyvault-dns-name> --initial-manage-principal users
    

    Si su cuenta tiene el plan Premium, puede cambiar los permisos en cualquier momento después de crear el ámbito. Para obtener más información, consulte Control de acceso secreto.

    Una vez que haya creado un ámbito de secretos compatible con Databricks, puede agregar secretos.

Para obtener un ejemplo del uso de secretos a la hora de acceder a Azure Blob Storage, consulte Montaje del almacenamiento de objetos en la nube en Azure Databricks.

Creación de un ámbito de secreto compatible con Databricks

Los nombres de ámbito de los secretos no distinguen mayúsculas de minúsculas.

Para crear un ámbito mediante la CLI de Databricks:

databricks secrets create-scope --scope <scope-name>

De forma predeterminada, los ámbitos se crean con el permiso MANAGE para el usuario que creó el ámbito. Si su cuenta no tiene el plan Premium, debe anular ese valor predeterminado y otorgar explícitamente el permiso MANAGE a los "usuarios" (todos los usuarios) cuando cree el ámbito:

databricks secrets create-scope --scope <scope-name> --initial-manage-principal users

También puede crear un ámbito secreto respaldado por Databricks mediante la API Secrets.

Si su cuenta tiene el plan Premium, puede cambiar los permisos en cualquier momento después de crear el ámbito. Para obtener más información, consulte Control de acceso secreto.

Una vez que haya creado un ámbito de secretos compatible con Databricks, puede agregar secretos.

Enumeración de los ámbitos de secretos

Para enumerar los ámbitos existentes en un área de trabajo mediante la CLI:

databricks secrets list-scopes

Además, puedes listar los ámbitos existentes mediante la API Secrets.

Eliminación de un ámbito de secreto

Al eliminar un ámbito de secretos, se eliminan todos los secretos y ACL aplicadas al ámbito. Para eliminar un ámbito mediante la CLI:

databricks secrets delete-scope --scope <scope-name>

También puede eliminar un ámbito secreto mediante la API Secrets.