Alternar funções
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.
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.
- No Workspace do Databricks, clique no nome do workspace no canto superior direito da barra superior.
- Passe o cursor sobre o workspace atual (o item superior no menu) para revelar o submenu do alternador de função.
- 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.
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.
URL do Workspace (link direto)
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.
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:
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_bycomo sua identidade de usuário eidentity_metadata.run_ascomo 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
- Revise as limitações : Entenda quais recursos do Databricks não são suportados ou são apenas parcialmente suportados ao atuar como uma função. Consulte limitações do role-based access control (RBAC).
- Restringir o compartilhamento de ativos do Workspace : Impede que usuários que atuam como uma função compartilhem ativos do Workspace que a função possui. Consulte Controles de compartilhamento de ativos do Workspace.
- **Gerenciar permissões de Assumir**: Conceda ou revogue a permissão de Assumir em um grupo para que os usuários possam assumir a função correspondente. Consulte Gerenciar permissões em um grupo.