Gerenciar o acesso ao serviço externo cloud usando credenciais de serviço
Este artigo descreve como criar um objeto de credencial de serviço em Unity Catalog que permite que o senhor controle o acesso de Databricks a um serviço de nuvem externo. Uma credencial de serviço em Unity Catalog encapsula uma credencial de nuvem de longo prazo que concede acesso a esse serviço.
As credenciais de serviço não se destinam a controlar o acesso ao armazenamento cloud que é usado como local de armazenamento gerenciar Unity Catalog ou local de armazenamento externo. Para esses casos de uso, use uma credencial de armazenamento. Veja como gerenciar o acesso ao armazenamento cloud usando Unity Catalog.
Para criar uma credencial de serviço para acessar o serviço do Google Cloud:
O senhor cria o objeto de credencial de serviço no Databricks.
Databricks gera um serviço do Google Cloud account.
No Google Cloud, o senhor concede a esse serviço account as funções GCP necessárias para acessar o serviço.
Antes de começar
Antes de criar uma credencial de serviço, o senhor deve atender aos seguintes requisitos:
No Databricks:
Um workspace do Databricks ativado para o Unity Catalog.
CREATE SERVICE CREDENTIAL
privilégio no metastore Unity Catalog anexado ao workspace. Os administradores de contas e os administradores de metastore têm esse privilégio em default. Se o seu workspace foi ativado automaticamente para Unity Catalog, os administradores do workspace também têm esse privilégio.
Na sua conta do Google Cloud:
Um serviço do Google Cloud na mesma região que o espaço de trabalho do qual o senhor deseja acessar os dados.
Permissão para modificar a política de acesso a esse serviço.
Gere uma conta de serviço do Google Cloud usando o Catalog Explorer
Faça login em seu workspace do Databricks habilitado para o Unity Catalog como um usuário que tenha a permissão
CREATE SERVICE CREDENTIAL
no metastore.As funções de administrador do metastore e administrador da account incluem essa permissão.
Na barra lateral, clique em
Catálogo.
Na página Quick access (Acesso rápido ), clique no botão External data (Dados externos) >, acesse Credentials (Credenciais ) tab e selecione Create credential (Criar credencial).
Selecione Credencial de serviço.
Insira um nome de credencial e um comentário opcional.
Clique em Criar.
Databricks cria a credencial de serviço e gera um serviço do Google Cloud account.
Na caixa de diálogo da credencial de serviço criada, anote o ID do serviço account, que está na forma de um endereço email, e clique em Done (Concluído).
(Opcional) Vincule a credencial de armazenamento a workspaces específicos.
Em default, qualquer usuário privilegiado pode usar a credencial de armazenamento em qualquer workspace anexado ao metastore. Se o senhor quiser permitir o acesso somente a partir de um espaço de trabalho específico, acesse o espaço de trabalho tab e atribua o espaço de trabalho. Consulte (Opcional) Atribuir uma credencial de serviço a espaços de trabalho específicos.
Conceder à conta de serviço acesso ao serviço do Google Cloud
Vá para o console do Google Cloud e abra o serviço que deseja acessar a partir do seu Databricks workspace.
Nas configurações de permissão do serviço, atribua ao serviço gerado pelo Databricks account as funções necessárias para acessar o serviço.
Essas funções dependem do serviço. Para obter orientação, consulte a documentação do seu serviço do Google Cloud.
Use o endereço de e-mail da conta de serviço como identificador principal.
(Opcional) Atribuir uma credencial de serviço a um espaço de trabalho específico
Prévia
Este recurso está em visualização pública.
Em default, uma credencial de serviço pode ser acessada de todos os espaços de trabalho no metastore. Isso significa que, se um usuário tiver recebido um privilégio nessa credencial de serviço, ele poderá exercer esse privilégio em qualquer workspace anexado ao metastore. Se o senhor usar o espaço de trabalho para isolar o acesso aos dados do usuário, talvez queira permitir o acesso a uma credencial de serviço somente a partir de um espaço de trabalho específico. Esse recurso é conhecido como workspace binding ou isolamento de credenciais de serviço.
Um caso de uso típico para vincular uma credencial de serviço a um espaço de trabalho específico é o cenário em que um administrador do cloud configura uma credencial de serviço usando uma credencial de produção cloud account e o senhor deseja garantir que os usuários do Databricks usem essa credencial para acessar um serviço externo cloud somente no workspace de produção.
Para obter mais informações sobre a vinculação workspace, consulte (Opcional) Atribuir uma credencial de armazenamento a um espaço de trabalho específico e Limitar o acesso ao catálogo a um espaço de trabalho específico.
Vincular uma credencial de serviço a um ou mais espaços de trabalho
Para atribuir uma credencial de serviço a um espaço de trabalho específico, use o Catalog Explorer.
Permissões necessárias: Administrador do Metastore ou proprietário da credencial de serviço.
Observação
Os administradores do metastore podem ver todas as credenciais de serviço em um metastore usando o Catalog Explorer, e os proprietários de credenciais de serviço podem ver todas as credenciais de serviço que possuem em um metastore, independentemente de a credencial de serviço estar atribuída ao site atual workspace. As credenciais de serviço que não estão atribuídas ao site workspace aparecem em cinza.
Efetue login em um workspace vinculado ao metastore.
Na barra lateral, clique em
Catálogo.
Na página de acesso rápido, clique no botão External data > e vá para Credentials tab.
Selecione a credencial de serviço e acesse o espaço de trabalho tab.
Na guia Workspaces, desmarque a caixa de seleção Todos os workspaces têm acesso.
Se sua credencial de serviço já estiver vinculada a um ou mais espaços de trabalho, essa caixa de seleção já estará desmarcada.
Clique em Atribuir a workspaces e digite ou localize os workspaces que deseja atribuir.
Para revogar o acesso, vá para a tab Workspaces, selecione o workspace e clique em Revogar. Para permitir o acesso de todos os workspaces, marque a caixa de seleção Todos os workspaces têm acesso.
Próximos passos
Saiba como view, atualizar, excluir e conceder a outros usuários permissão para usar as credenciais de serviço. Veja as credenciais do serviço gerenciado.
Saiba como usar as credenciais de serviço no código. Consulte Usar as credenciais do serviço Unity Catalog para se conectar ao serviço externo cloud .
Limitações
Aplicam-se as seguintes limitações:
Até que o serverless compute seja atualizado com o Databricks Runtime 16.2, ele será compatível apenas com o Python.
SQL não são suportados.
Alguns eventos de auditoria para ações executadas em credenciais de serviço não aparecerão na tabela
system.access.audit
. As informações de auditoria sobre quem criou, excluiu, atualizou, leu, listou ou usou uma credencial de serviço estarão disponíveis. Consulte a referência da tabela do sistema Audit log .Durante a visualização das credenciais de serviço,
INFORMATION_SCHEMA.STORAGE_CREDENTIALS
(obsoleto) exibia as credenciais de armazenamento e as credenciais de serviço, eINFORMATION_SCHEMA.STORAGE_CREDENTIAL_PRIVILEGES
(obsoleto) exibia privilégios que se aplicavam tanto às credenciais de armazenamento quanto às credenciais de serviço. Isso não é mais o caso. Em vez disso, o senhor deve usarINFORMATION_SCHEMA.CREDENTIALS
eINFORMATION_SCHEMA.CREDENTIAL_PRIVILEGES
para as credenciais de armazenamento e de serviço.