Gerenciar credenciais de armazenamento

Esta página descreve como listar, exibir, atualizar, conceder permissões e excluir credenciais de armazenamento.

O Databricks recomenda que você conceda apenas CREATE EXTERNAL LOCATION e nenhum outro privilégio em credenciais de armazenamento.

Esta página descreve como gerenciar credenciais de armazenamento usando o Catalog Explorer e comandos SQL. Para informações sobre a utilização da CLI Databricks ou do Terraform em vez disso, consulte a documentação do Databricks Terraform e a CLI do Databricks.

Listar credenciais de armazenamento

Para exibir a lista de todas as credenciais de armazenamento em um metastore, você pode usar o Catalog Explorer ou um comando SQL.

Explorador de Catálogos

  1. Na barra lateral, clique no ícone Dados.Catálogo.
  2. Clique em Conectar>Credenciais.
  3. Classifique as credenciais por Finalidade (ARMAZENAMENTO ou SERVIÇO).

SQL

Execute o seguinte comando em um bloco de anotações ou no editor SQL do Databricks.

SHOW STORAGE CREDENTIALS;

Exibir uma credencial de armazenamento

Para exibir as propriedades de uma credencial de armazenamento, você pode usar o Gerenciador de Catálogos ou um comando SQL.

Permissões necessárias: administrador da metastore, proprietário da credencial de armazenamento, MANAGE na credencial de armazenamento ou READ METADATA na credencial de armazenamento.

Explorador de Catálogos

  1. Na barra lateral, clique no ícone Dados.Catálogo.
  2. Clique em Conectar>Credenciais.
  3. Clique no nome de uma credencial de armazenamento para ver suas propriedades.

SQL

Execute o seguinte comando em um bloco de anotações ou no editor SQL do Databricks. Substitua <credential-name> pelo nome da credencial.

DESCRIBE STORAGE CREDENTIAL <credential-name>;

Atribuir uma credencial de armazenamento a espaços de trabalho específicos

Por padrão, uma credencial de armazenamento é acessível a partir de todos os espaços de trabalho no metastore. Isso significa que, se um usuário tiver recebido um privilégio (como CREATE EXTERNAL LOCATION) nessa credencial de armazenamento, ele poderá exercer esse privilégio de qualquer espaço de trabalho anexado ao metastore. Se você usar espaços de trabalho para isolar o acesso aos dados do usuário, convém permitir o acesso a uma credencial de armazenamento somente de espaços de trabalho específicos. Esse recurso é conhecido como vinculação de espaço de trabalho ou isolamento de credenciais de armazenamento.

Os administradores cloud frequentemente associam credenciais de armazenamento a espaços de trabalho específicos para garantir que as credenciais de produção são usadas apenas para criar locais externos dentro dos espaços de trabalho de produção.

Para mais informações sobre a ligação de espaços de trabalho, veja Ligação de catálogo de espaços de trabalho.

Nota

As vinculações de espaço de trabalho são referenciadas quando as permissões contra credenciais de armazenamento são exercidas. Por exemplo, se um usuário criar um local externo usando uma credencial de armazenamento, a associação do espaço de trabalho na credencial de armazenamento será verificada somente quando o local externo for criado. Depois de criada a localização externa, esta funciona independentemente das ligações de espaço de trabalho configuradas na credencial de armazenamento.

Vincular uma credencial de armazenamento a um ou mais espaços de trabalho

Para atribuir uma credencial de armazenamento a espaços de trabalho específicos, você pode usar o Gerenciador de Catálogos ou a CLI do Databricks.

Permissões necessárias: Administrador do Metastore, proprietário da credencial de armazenamento ou MANAGE na credencial de armazenamento. Para visualizar as ligações de espaço de trabalho de uma credencial de armazenamento sem as definir ou editar, pode ter READ METADATA a credencial de armazenamento ativada. Definir ou editar encadernações requer MANAGE ou propriedade.

Nota

Independentemente de a credencial de armazenamento estar atribuída ao espaço de trabalho atual, os administradores da metastore podem ver todas as credenciais de armazenamento numa metastore usando o Explorador de Catálogos, e os proprietários das credenciais de armazenamento podem ver todas as credenciais de armazenamento que possuem numa metastore. As credenciais de armazenamento que não são atribuídas ao espaço de trabalho parecem indisponíveis.

Explorador de Catálogos

  1. Faça login em um espaço de trabalho vinculado ao metastore.

  2. Na barra lateral, clique no ícone Dados.Catálogo.

  3. Clique em Conectar>Credenciais.

  4. Selecione a credencial de armazenamento e vá para o separador Espaços de trabalho.

  5. Na guia Espaços de trabalho, desmarque a caixa de seleção Todos os espaços de trabalho têm acesso.

    Se sua credencial de armazenamento já estiver vinculada a um ou mais espaços de trabalho, essa caixa de seleção já estará desmarcada.

  6. Clique em Atribuir a espaços de trabalho e insira ou encontre os espaços de trabalho que deseja atribuir.

Para revogar o acesso, vá para a guia Espaços de trabalho, selecione o espaço de trabalho e clique em Revogar. Para permitir o acesso a partir de todos os espaços de trabalho, marque a caixa de seleção Todos os espaços de trabalho têm acesso.

CLI

Há dois grupos de comandos da CLI do Databricks e duas etapas necessárias para atribuir uma credencial de armazenamento a um espaço de trabalho.

Nos exemplos seguintes, substitua <profile-name> pelo nome do seu perfil de configuração de autenticação Azure Databricks. Ele deve incluir o valor de um token de acesso pessoal, além do nome da instância do espaço de trabalho e do ID do espaço de trabalho onde você gerou o token de acesso pessoal. Veja Autenticação de token de acesso pessoal (legado).

  1. Use o storage-credentials comando do grupo de update comandos para definir as credenciais de isolation mode armazenamento como ISOLATED:

    databricks storage-credentials update <my-storage-credential> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    O padrão isolation-mode é OPEN para todos os espaços de trabalho associados ao metastore.

  2. Use o workspace-bindings comando do grupo de update-bindings comandos para atribuir os espaços de trabalho à credencial de armazenamento:

    databricks workspace-bindings update-bindings storage-credential <my-storage-credential> \
    --json '{
      "add": [{"workspace_id": <workspace-id>}...],
      "remove": [{"workspace_id": <workspace-id>}...]
    }' --profile <profile-name>
    

    Utilize as propriedades "add" e "remove" para adicionar ou remover associações de espaço de trabalho.

    Nota

    A vinculação somente leitura (BINDING_TYPE_READ_ONLY) não está disponível para credenciais de armazenamento. Portanto, não há razão para definir binding_type a vinculação de credenciais de armazenamento.

Para listar todas as atribuições de espaço de trabalho para uma credencial de armazenamento, use o workspace-bindings comando do grupo de get-bindings comandos:

databricks workspace-bindings get-bindings storage-credential <my-storage-credential> \
--profile <profile-name>

Desvincular uma credencial de armazenamento de um espaço de trabalho

As instruções para revogar o acesso do espaço de trabalho a uma credencial de armazenamento usando o Gerenciador de Catálogos ou o grupo de comandos da workspace-bindings CLI estão incluídas em Vincular uma credencial de armazenamento a um ou mais espaços de trabalho.

Mostrar concessões em uma credencial de armazenamento

Para exibir as concessões em uma credencial de armazenamento, você pode usar o Gerenciador de Catálogos ou um comando SQL.

Permissões necessárias: administrador da metastore, proprietário da credencial de armazenamento, MANAGE na credencial de armazenamento ou READ METADATA na credencial de armazenamento.

Explorador de Catálogos

  1. Na barra lateral, clique no ícone Dados.Catálogo.
  2. Clique em Conectar>Credenciais.
  3. Clique no nome de uma credencial de armazenamento.
  4. Clique em Permissões.

SQL

Para mostrar concessões em uma credencial de armazenamento, use um comando como o seguinte. Opcionalmente, você pode filtrar os resultados para mostrar apenas as concessões para o principal especificado.

SHOW GRANTS [<principal>] ON STORAGE CREDENTIAL <storage-credential-name>;

Substitua os valores de espaço reservado:

  • <principal>: O endereço de e-mail do usuário no nível da conta ou o nome do grupo no nível da conta a quem conceder a permissão. Se um grupo ou nome de utilizador contiver um espaço ou o símbolo @, use crases à sua volta (não apóstrofos). Por exemplo equipa financeira .
  • <storage-credential-name>: O nome de uma credencial de armazenamento.

Conceder permissões para criar locais externos

Para conceder permissão para criar um local externo usando uma credencial de armazenamento, conclua as seguintes etapas:

Explorador de Catálogos

  1. Na barra lateral, clique no ícone Dados.Catálogo.
  2. Clique em Conectar>Credenciais.
  3. Clique no nome de uma credencial de armazenamento para abrir a página de detalhes.
  4. Clique em Permissões.
  5. Para conceder permissão a usuários ou grupos, selecione cada identidade e clique em Conceder.
  6. Para revogar permissões de usuários ou grupos, selecione cada identidade e clique em Revogar.

SQL

Execute o seguinte comando em um bloco de anotações ou no editor de consultas SQL:

GRANT CREATE EXTERNAL LOCATION ON STORAGE CREDENTIAL <storage-credential-name> TO <principal>;

Substitua os valores de espaço reservado:

  • <principal>: O endereço de e-mail do usuário no nível da conta ou o nome do grupo no nível da conta a quem conceder a permissão. Se um grupo ou nome de utilizador contiver um espaço ou o símbolo @, use crases à sua volta (não apóstrofos). Por exemplo equipa financeira .
  • <storage-credential-name>: O nome de uma credencial de armazenamento.

Alterar o proprietário de uma credencial de armazenamento

O criador de uma credencial de armazenamento é seu proprietário inicial. Para alterar o proprietário para um usuário ou grupo diferente no nível da conta, você pode usar o Gerenciador de Catálogos ou um comando SQL.

Explorador de Catálogos

  1. Na barra lateral, clique no ícone Dados.Catálogo.
  2. Clique em Conectar>Credenciais.
  3. Clique no nome de uma credencial de armazenamento.
  4. Clique no Ícone Editar ao lado de Proprietário.
  5. Digite para procurar uma principal e selecione-a.
  6. Clique em Guardar.

SQL

Execute o seguinte comando em um bloco de anotações ou no editor SQL do Databricks. Substitua os valores de espaço reservado:

  • <credential-name>: O nome da credencial.
  • <principal>: O endereço de e-mail de um usuário no nível da conta ou o nome de um grupo no nível da conta.
ALTER STORAGE CREDENTIAL <credential-name> OWNER TO <principal>;

Marcar uma credencial de armazenamento como somente leitura

Se quiser que os utilizadores tenham acesso apenas de leitura a todos os dados que uma credencial de armazenamento gere, pode usar o Explorador de Catálogos para marcar a credencial de armazenamento como apenas de leitura.

Tornar uma credencial de armazenamento como somente leitura também torna qualquer armazenamento que utilize essa credencial como somente leitura.

Você pode marcar credenciais de armazenamento como somente leitura ao criá-las.

Você também pode usar o Gerenciador de Catálogos para alterar o status somente leitura depois de criar uma credencial de armazenamento:

  1. No Catalog Explorer, encontre a credencial de armazenamento, abra o menu kebab sobre a linha do objeto, e selecione Editar.
  2. No diálogo de edição, selecione a opção Apenas Leitura .

Renomear uma credencial de armazenamento

Para renomear uma credencial de armazenamento, você pode usar o Gerenciador de Catálogos ou um comando SQL.

Explorador de Catálogos

  1. Na barra lateral, clique no ícone Dados.Catálogo.
  2. Clique em Conectar>Credenciais.
  3. Clique no nome de uma credencial de armazenamento para abrir a caixa de diálogo de edição.
  4. Renomeie a credencial de armazenamento e salve-a.

SQL

Execute o seguinte comando em um bloco de anotações ou no editor SQL do Databricks. Substitua os valores de espaço reservado:

  • <credential-name>: O nome da credencial.
  • <new-credential-name>: Um novo nome para a credencial.
ALTER STORAGE CREDENTIAL <credential-name> RENAME TO <new-credential-name>;

Excluir uma credencial de armazenamento

Para excluir (descartar) uma credencial de armazenamento, você deve ser seu proprietário. Para excluir uma credencial de armazenamento, você pode usar o Gerenciador de Catálogos ou um comando SQL.

Explorador de Catálogos

  1. Na barra lateral, clique no ícone Dados.Catálogo.
  2. Clique em Conectar>Credenciais.
  3. Clique no nome de uma credencial de armazenamento para abrir a caixa de diálogo de edição.
  4. Clique no botão Eliminar.

SQL

Execute o seguinte comando em um bloco de anotações ou no editor SQL do Databricks. Substitua <credential-name> pelo nome da credencial. Partes do comando que estão entre colchetes são opcionais. Por padrão, se a credencial for usada por um local externo, ela não será excluída.

IF EXISTS não retorna um erro se a credencial não existir.

FORCE Apaga a credencial mesmo que as localizações externas dependam dela. Essas localizações externas já não são utilizáveis até atribuíres uma nova credencial.

DROP STORAGE CREDENTIAL [IF EXISTS] <credential-name> [FORCE];

Para obter mais detalhes, veja DROP CREDENTIAL.