Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve como criar um objeto de credencial de serviço no Catálogo do Unity que permite controlar o acesso do Azure Databricks a serviços de nuvem externos. Uma credencial de serviço no Catálogo do Unity encapsula uma credencial de nuvem de longo prazo que concede acesso a esses serviços.
As credenciais de serviço não se destinam a controlar o acesso ao armazenamento em nuvem usado como um local de armazenamento gerenciado do Catálogo do Unity ou local de armazenamento externo. Para esses casos de uso, use uma credencial de armazenamento. Consulte Conectar-se ao armazenamento de objetos de nuvem usando o Catálogo do Unity.
Para criar uma credencial de serviço para acesso aos serviços do Azure, crie um conector de acesso do Azure Databricks que faz referência a uma identidade gerenciada do Azure, atribuindo permissões a ele em um serviço ou serviços. Em seguida, você faz referência a esse conector de acesso na definição de credencial de serviço.
Antes de começar
Antes de criar uma credencial de serviço, você deve atender aos seguintes requisitos:
No Azure Databricks:
Workspace do Azure Databricks habilitado para o Catálogo do Unity.
Privilégio
CREATE SERVICE CREDENTIAL
no metastore do Catálogo do Unity anexado ao workspace. Os administradores de conta e administradores de metastore têm esse privilégio por padrão. Se o workspace foi habilitado para o Catálogo do Unity automaticamente, os administradores do workspace também terão esse privilégio.Observação
As entidades de serviço devem ter a função de administrador da conta para criar uma credencial de serviço que use uma identidade gerenciada. Não é possível delegar
CREATE SERVICE CREDENTIAL
a uma entidade de serviço. Isso se aplica às entidades de serviço do Azure Databricks e às entidades de serviço do Microsoft Entra ID.
Em seu Locatário do Azure:
- Um serviço do Azure na mesma região que os workspaces dos quais você deseja acessar os dados.
- A função Colaborador ou Proprietário em um grupo de recursos do Azure.
- A função RBAC do Administrador de Acesso do Usuário ou proprietário do Azure na conta de serviço.
Criar uma credencial de serviço usando uma identidade gerenciada
Para configurar a identidade que autoriza o acesso à sua conta de serviço, use um conector de acesso do Azure Databricks que conecta uma identidade gerenciada do Azure à sua conta do Azure Databricks. Se você já tiver o conector de acesso definido, poderá pular para a etapa 2 no procedimento a seguir.
Observação
Você pode usar um principal de serviço em vez de uma identidade gerenciada; entretanto, recomenda-se fortemente o uso de identidades gerenciadas. As identidades gerenciadas têm o benefício de permitir que o Catálogo do Unity acesse contas de serviço protegidas por regras de rede, o que não é possível usando entidades de serviço, e eliminam a necessidade de gerenciar e girar segredos confidenciais. Se você precisar usar um principal do serviço, consulte Criar armazenamento gerenciado do Unity Catalog usando um principal do serviço (herdado).
No portal do Azure, crie um conector de acesso do Azure Databricks e atribua a ele permissões no serviço que você gostaria de acessar, usando as instruções em Configurar uma identidade gerenciada para o Catálogo do Unity.
Um conector de acesso do Azure Databricks é um recurso primário do Azure que permite conectar identidades gerenciadas a uma conta do Azure Databricks. Você deve ter a função Colaborador ou superior no recurso do conector de acesso no Azure para adicionar a credencial de serviço.
Em vez de seguir as instruções na Etapa 2: concessão de acesso à identidade gerenciada à conta de armazenamento, conceda à identidade gerenciada acesso à sua conta de serviço.
Anote o ID do recurso do conector de acesso.
Faça login no espaço de trabalho do Azure Databricks como um usuário que atenda aos requisitos listados em Antes de começar.
Clique no
Catálogo.
Na página Acesso rápido, clique no botão Dados externos >, vá para a guia Credenciais e selecione Criar credencial.
Selecione Credencial de Serviço.
Insira um nome de credencial, um comentário opcional e a ID de recurso do conector de acesso no formato:
/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
(Opcional) Se você criou o conector de acesso usando uma identidade gerenciada atribuída pelo usuário, insira a ID do recurso da identidade gerenciada no campo ID de identidade gerenciada atribuída pelo usuário, no formato:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
Clique em Criar.
Na caixa de diálogo Credencial de serviço criada, copie a ID Externa.
Você também pode exibir a ID externa a qualquer momento na página de detalhes da credencial de serviço.
Clique em Concluído.
(Opcional) Atribuir uma credencial de serviço aos espaços de trabalho específicos
Por padrão, uma credencial de serviço pode ser acessada de todos os workspaces 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 você usar espaços de trabalho para isolar o acesso a dados do usuário, talvez queira permitir o acesso a uma credencial de serviço somente de espaços de trabalho específicos. Essa funcionalidade é conhecida como associação de espaço de trabalho ou isolamento de credencial de armazenamento.
Um caso de uso típico para associar uma credencial de serviço a workspaces específicos é o cenário em que um administrador de nuvem configura uma credencial de serviço usando uma credencial de conta de nuvem de produção e você deseja garantir que os usuários do Azure Databricks usem essa credencial para acessar um serviço de nuvem externo somente no workspace de produção.
Para obter mais informações sobre a vinculação de workspaces, consulte (Opcional) Atribuir uma credencial de armazenamento a workspaces específicos e Limitar o acesso ao catálogo a workspaces específicos.
Associar uma credencial de serviço a um ou mais espaços de trabalho
Para atribuir uma credencial de serviço a workspaces específicos, use o Gerenciador de Catálogos.
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 Gerenciador de Catálogos, 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 workspace atual. As credenciais de serviço que não são atribuídas ao espaço de trabalho aparecem esmaecidas.
Faça login em um workspace vinculado ao metastore.
Na barra lateral, clique no
Catálogo.
Na página Acesso rápido, clique no botão Dados externos > e vá para a guia Credenciais.
Selecione a credencial de serviço e vá para a aba Workspaces.
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, esta caixa de seleção já estará desmarcada.
Clique em Atribuir a áreas de trabalho e insira ou localize as áreas de trabalho aos quais deseja atribuir.
Para revogar o acesso, vá para a guia Workspaces, selecione o workspace e clique em Revogar. Para permitir o acesso de todos os espaços de trabalho, marque a caixa de seleção Todos os espaços de trabalho têm acesso.
Próximas etapas
- Saiba como visualizar, atualizar, excluir e conceder permissão a outros usuários para usar credenciais de serviço. Consulte Gerenciamento de credenciais de serviço.
- Saiba como usar credenciais de serviço no código. Consulte Usar as credenciais de serviço do Catálogo do Unity para se conectar a serviços de nuvem externos.
Limitações
As seguintes limitações se aplicam:
- As versões do Databricks Runtime 16.1 e abaixo dão suporte apenas ao Python.
- Os armazenamentos SQL dão suporte a credenciais de serviço somente para UDFs de Python do Unity Catalog em lote.
- Alguns eventos de auditoria relacionados a ações realizadas 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. Confira Tabela de referência do sistema de logs de auditoria. - Durante a visualização das credenciais de serviço,
INFORMATION_SCHEMA.STORAGE_CREDENTIALS
(preterido) exibia credenciais de armazenamento e credenciais de serviço eINFORMATION_SCHEMA.STORAGE_CREDENTIAL_PRIVILEGES
(preterido) exibia privilégios que se aplicavam tanto às credenciais de armazenamento quanto às credenciais de serviço. Esse não é mais o caso. Em vez disso, você deve usarINFORMATION_SCHEMA.CREDENTIALS
eINFORMATION_SCHEMA.CREDENTIAL_PRIVILEGES
para credenciais de armazenamento e serviço.