Pular para o conteúdo principal

Alternar funções

info

Visualização

Este recurso está em Pré-visualização Pública.

Você pode assumir uma função no Databricks de várias maneiras. Em todos os casos, suas permissões de identidade de usuário são substituídas pelas permissões da função durante a duração da sessão ou conexão, e todas as ações são atribuídas à função.

Para assumir uma função, é necessário ter a permissão de **Assumir** nela, diretamente ou como membro do grupo de apoio. Consulte Gerenciar permissões em um grupo.

importante

Todos os grupos atribuídos a um workspace herdam permissões do grupo de sistema users do workspace, que inclui todos os usuários do workspace. Ao atuar como uma função, você ainda vê catálogos, objetos do Unity Catalog, ativos do workspace e compute compartilhados com todos os usuários do workspace, além do que foi concedido diretamente à função. Para limitar o que a função pode ver, reduza as permissões do grupo de sistema users em seu workspace.

Alternador de função no Workspace

Use o alternador de função para assumir uma função em todo o workspace. Todo o acesso, permissões, propriedade e ações são conforme a função pela duração da sessão.

  1. No Workspace do Databricks, clique no nome do workspace no canto superior direito da barra superior.
  2. Passe o cursor sobre o workspace atual (o item superior no menu) para revelar o submenu do alternador de função.
  3. No submenu, clique na função que deseja assumir.

A interface do usuário recarrega e a identidade exibida sob o nome do workspace muda para a função selecionada.

Para retornar à sua identidade de usuário, abra o mesmo submenu e selecione seu nome de usuário.

nota

Se não vir o submenu de troca de função, verifique se você é membro de um grupo atribuído ao Workspace ou se lhe foi concedida a permissão de Assume em um grupo atribuído ao Workspace. Consulte Gerenciar permissões em um grupo.

Você pode assumir uma função diretamente da URL do workspace adicionando o parâmetro de query aid (ID de assunção) definido como o ID do grupo: aid=<group-id>. Abrir essa URL autentica você como sua identidade de usuário, como de costume, e depois assume automaticamente a função, para que você não precise usar o alternador de função.

Por exemplo, para abrir um workspace já atuando como uma função:

https://<workspace-url>/?o=<workspace-id>&aid=<group-id>

Isso é útil para marcar como favorito ou para compartilhar um link que leva diretamente a uma função. O Databricks mantém o parâmetro aid ao navegar pelo workspace, para que a sessão permaneça na função. Mudar para um workspace diferente o limpa, pois as funções são específicas do workspace.

Para encontrar o ID de um grupo, consulte Gerenciar grupos. Para alternar funções ou retornar à sua identidade de usuário após abrir o link, use o alternador de funções.

Compute dedicado atribuído a um grupo

Ao se conectar a um recurso de compute dedicado atribuído a um grupo, suas permissões são automaticamente restritas às permissões desse grupo para todas as operações nesse compute. Isso equivale a assumir o grupo como uma função pela duração da sessão de compute e se aplica a Notebooks, queries e quaisquer outras cargas de trabalho executadas no compute. Ao contrário dos outros métodos, você não troca de função na UI do Workspace primeiro: a conexão ao compute é o que restringe você ao grupo.

Para obter detalhes sobre como configurar o compute dedicado para um grupo, consulte Acesso de Grupo de Compute Dedicado.

CLI

Ao autenticar-se em um Workspace Databricks usando a CLI, a CLI abre o seu navegador da web para concluir o fluxo de autenticação. Caso o usuário tenha permissão 'Assume' em uma ou mais funções, ele escolhe no navegador se deve autenticar-se como a sua própria identidade de usuário ou como uma dessas funções.

Bash
databricks auth login --host <workspace-url>

Após a conclusão do fluxo de login, a CLI autoriza todas as operações usando este perfil como a função selecionada. Por exemplo:

Bash
databricks warehouses list --profile <profile-name>

Para obter detalhes sobre a autenticação da CLI, consulte Autenticação para a CLI do Databricks.

API (troca de tokens OAuth)

Você pode gerar um token OAuth com escopo para uma função, que pode ser usado para fazer chamadas de API como essa função. O token com escopo autoriza todas as operações de API como a função.

Para gerar um token com escopo de função, execute databricks auth login conforme descrito na CLI e selecione a função em seu navegador da web. O token resultante tem o escopo dessa função.

Você também pode gerar manualmente um token OAuth com escopo de função, passando o ID do grupo subjacente como o parâmetro assume_group durante o fluxo de código de autorização OAuth. Para obter detalhes, consulte Autorizar acesso de usuário ao Databricks com OAuth.

Ferramentas de BI de terceiros

Ferramentas de BI de terceiros que suportam OAuth (como Tableau e Power BI) podem autorizar-se como uma função. Uma vez configurada, a ferramenta de BI autoriza todas as queries que ela executa como a função. Esta autorização funciona com todos os tipos de compute e SQL warehouse.

O que muda quando você assume uma função

Independentemente do método usado para assumir uma função:

  • Os **Notebooks e queries** são executados como a função. As permissões da função são usadas para todo o acesso a dados e operações do Unity Catalog.
  • Os Jobs criados enquanto agem como a função têm sua Execução como definida para a função automaticamente. É possível também definir a Execução como de um Job para um grupo sem assumi-lo primeiro. Consulte Definir a Execução como para um grupo.
  • A função possui quaisquer ativos do Workspace que você criar (Notebooks, queries SQL, SQL Warehouses, jobs).
  • Logs de auditoria registram identity_metadata.run_by como sua identidade de usuário e identity_metadata.run_as como a função.

Para recursos que não são compatíveis ou são apenas parcialmente compatíveis ao atuar como uma função, consulte limitações do role-based access control (RBAC).

Próximos passos