Pular para o conteúdo principal

Alternar funções RBAC

Você pode assumir uma função com role-based access control (RBAC) no Databricks de várias maneiras. As permissões da função aplicam-se às solicitações ou operações de compute executadas como essa função. O escopo depende do método: trocar de funções no workspace altera a sessão do navegador, enquanto autenticar um perfil da CLI do Databricks ou conectar-se ao compute de grupo afeta esse perfil ou sessão de compute.

Requisitos​

Para assumir uma função, você deve ter a permissão Assumir sobre ela. Você pode receber a permissão Assumir diretamente, através de um grupo com a permissão Assumir concedida, ou através de associação no grupo que implementa a função. A função deve ser atribuída ao workspace com os direitos de acesso de que ela precisa. Consulte Configurar o acesso ao workspace.

importante

As funções herdam permissões de seus grupos pai. Por default, suas funções também herdam permissões concedidas ao grupo de sistema users do workspace e ao grupo de sistema account users da account. Alterar uma concessão compartilhada afeta outros usuários e funções que a herdam. Consulte Como as permissões de função são aplicadas. Os direitos de acesso são configurados separadamente. Consulte Configurar o acesso ao 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 voltar à sua identidade de usuário, abra o mesmo submenu e selecione seu nome de usuário. Se você entrou no workspace assumindo uma função porque não está atribuído ao workspace, seu nome de usuário não está disponível para seleção. Veja Quando você deve assumir uma função para entrar em um workspace.

nota

Se você não vir o submenu de alternância de funções, verifique se é membro de um grupo atribuído ao workspace ou se recebeu a permissão Assumir em um grupo atribuído ao workspace. Veja Gerenciar permissões em um grupo.

Quando você deve assumir uma role para entrar em um workspace​

Se você não estiver atribuído a um workspace, diretamente ou por meio de associação a um grupo, mas tiver a permissão Assumir em um grupo atribuído ao workspace, deverá assumir uma função para entrar no workspace. Isso depende da sua própria atribuição de workspace, não de uma configuração de workspace, portanto, outros usuários atribuídos ao mesmo workspace ainda entram como eles mesmos.

Para obter instruções de configuração e a experiência de entrada na função, consulte Tutorial: exigir que os usuários assumam uma função para acesso ao workspace.

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:

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

Isso é útil para marcar ou para compartilhamento de um link que leva diretamente a uma função. O Databricks mantém o parâmetro aid à medida que você navega dentro do workspace, para que você permaneça na função durante a sessão. A alternância para um workspace diferente fará com que ele seja limpo. A função é um grupo de account e deve ser atribuída a cada workspace onde você a utiliza.

Para recuperar o ID de um grupo, use a API de grupos de account. 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 conectar-se a um recurso de compute dedicado atribuído a um grupo, as operações que usam o principal atribuído ao compute usam as permissões desse grupo. Você não precisa alternar funções na UI do workspace primeiro.

O Workspace deve estar habilitado para o Unity Catalog, e o compute deve usar o Databricks Runtime 15.4 ou acima. O grupo também precisa ter acesso aos notebooks e outros recursos usados no compute. As operações tratadas pelo ambiente do notebook, como %run, usam as permissões do usuário em vez das permissões do grupo. Consulte Acesso de grupo de compute dedicado para obter informações sobre configuração e limitações.

CLI do Databricks​

Ao usar a autenticação OAuth user-to-machine (U2M) com a CLI do Databricks, ela abre seu navegador da Web para concluir o fluxo de autenticação. Se você tiver a permissão Assume em uma ou mais funções, você escolherá no navegador se autenticar como sua própria identidade de usuário ou como uma dessas funções. Se você não estiver atribuído ao workspace, não poderá se autenticar como sua própria identidade e deverá selecionar uma função. Consulte Quando você deve assumir uma função para entrar em um workspace. Instale a CLI do Databricks antes de começar. Consulte Instalar ou atualizar a CLI do Databricks. Para começar o fluxo de login, execução:

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

Após concluir o fluxo de login, a CLI do Databricks salva um perfil de configuração e gerencia tokens OAuth de curta duração para ele. Os comandos que usam este perfil são execução como a função que você selecionou. A troca de funções na UI do workspace não altera a identidade deste perfil. Por exemplo:

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

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

API (OAuth access token)​

Você pode gerar um access token OAuth de nível de workspace para fazer chamadas de API como uma função. Os escopos OAuth do token limitam as APIs que ele pode chamar, e as permissões da função determinam o acesso aos recursos.

Para gerar um token com escopo de função, execute databricks auth login conforme descrito em CLI do Databricks e selecione a função em seu navegador da web. Recuperar um access token para o perfil:

Bash
databricks auth token --profile <profile-name>

Use o access_token da resposta no cabeçalho Authorization: Bearer da solicitação de API. Um token copiado para outro aplicativo não faz refresh automaticamente. Consulte token de autenticação do databricks.

Para um fluxo U2M manual, adicione assume_group=<group-id> à URL de autorização do workspace. Veja Gerar um código de autorização em nível de workspace.

Para um processo autônomo usando um service principal do Databricks, inclua assume_group=<group-id> na solicitação de token de workspace máquina a máquina (M2M). Tanto o service principal do Databricks quanto a função devem ser atribuídos ao workspace. As solicitações de tokens em nível de account não oferecem suporte à assunção de função. Consulte Assumir uma função e tutorial: limitar o acesso de um agente de AI com RBAC.

Ferramentas de BI de terceiros​

As ferramentas de BI de terceiros que suportam OAuth (como Tableau e Power BI) podem autorizar como uma role. Após a autorização, as queries enviadas por essa conexão usam as permissões da role. A role precisa de permissão para usar o compute selecionado e acessar os dados query. Siga a autenticação suportada da ferramenta e a configuração do compute. Consulte Drivers ODBC e JDBC do Databricks.

Para problemas conhecidos que afetam ferramentas de BI e drivers ao atuar como uma função, consulte Problemas conhecidos.

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

Ao usar o alternador de função do workspace:

  • Notebooks e query : execução como a função. As permissões da função regem queries interativas e operações do Unity Catalog executadas como essa função.
  • Job : quando você cria um Job enquanto atua como a função, a configuração Execução como do Job é a função. Você também pode definir o execução como de um Job para um grupo sem assumi-lo primeiro. Consulte Definir execução como para um grupo.
  • Ativos do Workspace : A função possui quaisquer ativos que você cria (notebooks, queries SQL, SQL Warehouse, Jobs).
  • Logs de auditoria : Distinga a identidade que iniciou um evento (identity_metadata.run_by) da identidade usada para autorização (identity_metadata.run_as). Para solicitações interativas, estes identificam sua identidade de usuário e a função, respectivamente. As cargas de trabalho de Job registram o service principal do Databricks do aplicativo do serviço Jobs como run_by. Consulte Verificar atribuição de auditoria.

As execuções de job usam a identidade configurada em Executar como. As tarefas de query também podem depender das configurações de compartilhamento do ativo SQL, e o compute dedicado pode usar sua entidade principal atribuída. Consulte Definir execução como para um grupo.

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).

Outros recursos​