Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
Este recurso está em versão Beta.
Esta página mostra como ligar um esquema do Unity Catalog a um gestor de segredos externo para que os seus valores secretos permaneçam no Azure Key Vault.
Para saber como funcionam os segredos externos e as suas limitações, veja Segredos Externos no Catálogo Unity.
Requirements
- Cumpra os requisitos dos segredos do Unity Catalog.
- A funcionalidade beta de segredos externos tem de estar ativada para o seu espaço de trabalho.
- O esquema que pretende fazer backup externo não deve conter quaisquer segredos geridos pelo Azure Databricks. Apaga os segredos existentes antes de mudares de backend.
- Deve ter uma ligação do Unity Catalog ao seu gestor externo de segredos e uma credencial de serviço do Unity Catalog que a ligação utiliza para autenticação. Para criar estes, deve ter
USE CONNECTIONnuma ligação existente ouCREATE CONNECTIONna metastore para criar uma, e acesso a uma credencial de serviço, ouCREATE CREDENTIALna metastore para criar uma.
- O suporte do Azure Key Vault está disponível apenas no Azure Databricks no Azure, com uma ligação
AZURE_KEY_VAULT.
Configurar segredos externos
Crie uma credencial de serviço
A ligação autentica-se no seu gestor de segredos externo através de uma credencial de serviço do Unity Catalog.
Crie uma credencial de serviço suportada por uma identidade gerida ou uma entidade de serviço e conceda-lhe permissão para listar e ler segredos do Key Vault de destino. Por exemplo, atribua a função Key Vault Secrets User ou uma política de acesso equivalente com permissões para obter e listar segredos. Para instruções, consulte Criar credenciais de serviço.
Criar uma conexão
Crie uma ligação ao Unity Catalog que faça referência à credencial de serviço do passo anterior e aponte para o seu gestor de segredos externo.
Explorador de Catálogos
- No Azure Databricks, abra o Explorador de Catálogos, clique no + menu e selecione Criar uma ligação.
- Introduza um nome de Ligação e selecione o tipo de ligação do Azure Key Vault.
- Selecione a credencial de serviço para autenticar e defina o nome do cofre do seu Key Vault.
- Clique em Criar.
CLI do Databricks
Passe o corpo de ligação com --json, usando o AZURE_KEY_VAULT tipo de ligação. Defina vault_name para o nome do seu Key Vault e credential para o nome da credencial de serviço:
databricks connections create --json '{
"name": "my_key_vault_connection",
"connection_type": "AZURE_KEY_VAULT",
"options": {
"vault_name": "my-vault",
"credential": "my_key_vault_credential"
}
}'
API REST
Usa o /api/2.1/unity-catalog/connections endpoint com o tipo de AZURE_KEY_VAULT ligação. O Azure Databricks resolve vault_name para 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"
Associar um esquema à ligação
Configure o backend secreto do esquema no Explorador de Catálogos.
No Azure Databricks, abre o Catalog Explorer e vai ao esquema.
Nos detalhes do esquema, localize a definição do gestor de segredos externos e clique em Ativar.
O esquema não deve conter quaisquer segredos geridos pelo Azure Databricks. Se acontecer, remova-os primeiro. Ativar permanece desativado até o esquema deixar de ter segredos.
Seleciona a ligação que criaste no passo anterior e depois confirma.
O esquema é agora suportado pelo seu gestor de segredos externo, e os seus segredos aparecem no Unity Catalog.
Para apontar o esquema para uma ligação diferente, use Editar. Para devolver o esquema ao armazenamento gerido pelo Azure Databricks, edite o esquema e desative segredos externos.
Definir ou alterar o backend secreto de um esquema requer USE CATALOG o catálogo pai, a propriedade do esquema ou MANAGE sobre ele, e USE CONNECTION a ligação.
Leia segredos externos
Depois de o esquema ter uma cópia de segurança externa, os respetivos segredos aparecem no Unity Catalog e pode lê-los como qualquer outro segredo do Unity Catalog. Listar um esquema desencadeia uma importação, por isso um segredo recém-adicionado aparece apenas após a próxima lista. Os comandos de leitura são os mesmos em ambas as clouds.
Dbutils
dbutils Aplica redação secreta e é a forma recomendada de ler um valor. Requer o Databricks Runtime 17.3 LTS ou superior, ou ambiente serverless, versão 4 ou 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")
API REST
Defina include_value=true e leia o effective_value campo para devolver o valor. A API REST não oculta os valores devolvidos, embora continue a auditar o acesso; o Azure Databricks recomenda dbutils em vez disso.
curl -G \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
--data-urlencode "include_value=true" \
"$DATABRICKS_HOST/api/2.1/unity-catalog/secrets/main.default.example_secret"
Também pode navegar e listar segredos externos no Explorador de Catálogos, da mesma forma que os segredos geridos pelo Azure Databricks. Veja Leia um segredo.
Se um segredo ainda não estiver visível no Unity Catalog, continua a ser possível lê-lo pelo nome. Fornece o nome tal como aparece no gestor de segredos externo, com as substituições de caracteres das restrições de nomes aplicadas.
Recursos adicionais
| Feature | Description |
|---|---|
| Segredos externos no Unity Catalog | Aprenda como o Unity Catalog importa, governa e lê segredos respaldados externamente, e reveja as limitações. |
| Segredos no Unity Catalog | Criar, governar e gerir segredos que o Azure Databricks armazena no Unity Catalog. |
| Criar credenciais de serviço | Crie a credencial do serviço Unity Catalog que a ligação usa para autenticar. |