Âmbitos de segredos

O gerenciamento de segredos começa com a criação de um escopo secreto. Um escopo secreto é uma coleção de segredos identificados por um nome.

Um espaço de trabalho é limitado a um máximo de 1000 escopos secretos. Entre em contato com sua equipe de suporte do Azure Databricks se precisar de mais.

Nota

O Databricks recomenda alinhar escopos secretos a funções ou aplicativos em vez de indivíduos.

Descrição geral

Existem dois tipos de âmbito de segredo: suportado pelo Azure Key Vault e suportado pelo Databricks.

Escopos apoiados pelo Azure Key Vault

Para fazer referência a segredos armazenados em um Cofre de Chaves do Azure, você pode criar um escopo secreto apoiado pelo Cofre de Chaves do Azure. Em seguida, você pode aproveitar todos os segredos na instância correspondente do Cofre de Chaves a partir desse escopo secreto. Como o escopo secreto apoiado pelo Cofre de Chaves do Azure é uma interface somente leitura para o Cofre de Chaves, as operações da PutSecret API e DeleteSecret Segredos não são permitidas. Para gerenciar segredos no Cofre da Chave do Azure, você deve usar a API REST do Conjunto Secreto do Azure ou a interface do usuário do portal do Azure.

Escopos suportados por Databricks

Um âmbito de segredo suportado pelo Databricks é armazenado (suportado por) uma base de dados encriptada detida e gerida pelo Azure Databricks. O nome do escopo secreto:

  • Deve ser exclusivo dentro de um espaço de trabalho.
  • Deve consistir em caracteres alfanuméricos, traços, @sublinhados e pontos, e não pode exceder 128 caracteres.

Os nomes são considerados não confidenciais e podem ser lidos por todos os usuários no espaço de trabalho.

Você cria um escopo secreto apoiado por Databricks usando a CLI do Databricks (versão 0.205 e superior). Como alternativa, você pode usar a API Secrets.

Permissões de escopo

Os escopos são criados com permissões controladas por ACLs secretas. Por padrão, os escopos são criados com a permissão GERENCIAR para o usuário que criou o escopo (o "criador"), que permite que o criador leia segredos no escopo, escreva segredos no escopo e altere ACLs para o escopo. Se sua conta tiver o plano Premium, você poderá atribuir permissões granulares a qualquer momento depois de criar o escopo. Para obter detalhes, consulte ACLs secretas.

Você também pode substituir o padrão e conceder explicitamente a permissão GERENCIAR a todos os usuários ao criar o escopo. Na verdade, você deve fazer isso se sua conta não tiver o plano Premium.

Nota

As ACLs secretas estão no nível do escopo. Se você usar escopos apoiados pelo Cofre da Chave do Azure, os usuários aos quais é concedido acesso ao escopo terão acesso a todos os segredos no Cofre da Chave do Azure. Para restringir o acesso, use instâncias separadas do cofre de chaves do Azure.

Criar um escopo secreto apoiado pelo Cofre de Chaves do Azure

Esta seção descreve como criar um escopo secreto apoiado pelo Cofre de Chaves do Azure usando o portal do Azure e a interface do usuário do espaço de trabalho do Azure Databricks. Você também pode criar um escopo secreto apoiado pelo Cofre de Chaves do Azure usando a CLI do Databricks.

Requisitos

  • Você deve ter a função de Colaborador, Colaborador ou Proprietário do Cofre de Chaves na instância do Cofre de Chaves do Azure que deseja usar para fazer backup do escopo secreto.

    Se você não tiver uma instância do cofre de chaves, siga as instruções em Criar um cofre de chaves usando o portal do Azure.

    Nota

    A criação de um escopo secreto apoiado pelo Cofre de Chaves do Azure requer a função de Colaborador ou Proprietário na instância do cofre de chaves do Azure, mesmo que o serviço Azure Databricks tenha recebido acesso ao cofre de chaves anteriormente.

    Se o cofre de chaves existir em um locatário diferente do espaço de trabalho do Azure Databricks, o usuário do Azure AD que cria o escopo secreto deverá ter permissão para criar entidades de serviço no locatário do cofre de chaves. Caso contrário, ocorrerá o seguinte erro:

    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"}}
    

Configurar sua instância do cofre de chaves do Azure para o Azure Databricks

  1. Faça logon no Portal do Azure, localize e selecione a instância do cofre de chaves do Azure.

  2. Selecione a guia Configuração do Access em Configurações.

  3. Defina o modelo de permissão para a política de acesso ao Vault.

    Nota

    A criação de uma função de escopo secreto apoiada pelo Cofre de Chaves do Azure concede as permissões Obter e Listar à ID do aplicativo para o serviço Azure Databricks usando políticas de acesso ao cofre de chaves. O modelo de permissão de controle de acesso baseado em função do Azure não é suportado atualmente com o Azure Databricks.

  4. Selecione o separador Rede em Definições.

  5. Em Firewalls e redes virtuais, defina Permitir acesso de: para Permitir acesso público a partir de redes virtuais e endereços IP específicos.

    Em Exceção, marque Permitir que serviços confiáveis da Microsoft ignorem esse firewall.

    Nota

    Você também pode definir Permitir acesso de: para Permitir acesso público de todas as redes.

Criar um âmbito secreto apoiado pelo Azure Key Vault

  1. Aceder a https://<databricks-instance>#secrets/createScope. Substitua <databricks-instance> pela URL do espaço de trabalho da sua implantação do Azure Databricks. Este URL diferencia maiúsculas de minúsculas (o escopo deve createScope ser maiúsculo).

    Criar escopo

  2. Insira o nome do escopo secreto. Os nomes dos âmbitos de segredos são sensíveis a maiúsculas e minúsculas.

  3. Use a lista suspensa Gerenciar entidade para especificar se Todos os usuários têm permissão GERENCIAR para esse escopo secreto ou apenas o Criador do escopo secreto (ou seja, você).

    A permissão GERENCIAR permite que os usuários leiam e gravem nesse escopo secreto e, no caso de contas no plano Premium, alterem as permissões para o escopo.

    Sua conta deve ter o plano Premium para que você possa selecionar o Criador. Esta é a abordagem recomendada: conceda permissão MANAGE ao Criador ao criar o escopo secreto e, em seguida, atribua permissões de acesso mais granulares depois de testar o escopo. Para obter um exemplo de fluxo de trabalho, consulte Exemplo de fluxo de trabalho secreto.

    Se sua conta tiver o Plano Padrão, você deverá definir a permissão GERENCIAR para o grupo "Todos os usuários". Se você selecionar Creator aqui, verá uma mensagem de erro ao tentar salvar o escopo.

    Para obter mais informações sobre a permissão MANAGE, consulte ACLs secretas.

  4. Insira o Nome DNS (por exemplo, https://databrickskv.vault.azure.net/) e o ID do Recurso, por exemplo:

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

    Essas propriedades estão disponíveis na guia Propriedades de um Cofre da Chave do Azure em seu portal do Azure.

    Guia Propriedades do Azure Key Vault

  5. Clique no botão Criar.

  6. Use o comando Databricks CLIdatabricks secrets list-scopes para verificar se o escopo foi criado com êxito.

Criar um escopo secreto apoiado por Databricks

Os nomes dos âmbitos de segredos são sensíveis a maiúsculas e minúsculas.

Para criar um escopo usando a CLI do Databricks:

databricks secrets create-scope <scope-name>

Por padrão, os escopos são criados com a permissão GERENCIAR para o usuário que criou o escopo. Se sua conta não tiver o plano Premium, você deverá substituir esse padrão e conceder explicitamente a permissão GERENCIAR a "usuários" (todos os usuários) ao criar o escopo:

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

Você também pode criar um escopo secreto apoiado por Databricks usando a API Secrets.

Se sua conta tiver o plano Premium, você poderá alterar as permissões a qualquer momento depois de criar o escopo. Para obter detalhes, consulte ACLs secretas.

Depois de criar um escopo secreto apoiado por Databricks, você pode adicionar segredos.

Listar escopos secretos

Para listar os escopos existentes em um espaço de trabalho usando a CLI:

databricks secrets list-scopes

Você também pode listar escopos existentes usando a API Secrets.

Eliminar âmbitos de segredos

A exclusão de um escopo secreto exclui todos os segredos e ACLs aplicados ao escopo. Para excluir um escopo usando a CLI, execute o seguinte:

databricks secrets delete-scope <scope-name>

Você também pode excluir um escopo secreto usando a API Secrets.