Pular para o conteúdo principal

Tutorial: exigir que os usuários assumam uma função para acesso ao workspace

Use o role-based access control (RBAC) para exigir que usuários selecionados assumam uma role ao acessar um workspace do Databricks. As sessões de workspace deles usam as permissões da role, o que mantém o acesso limitado a um projeto ou tarefa específica. Outros usuários atribuídos ao mesmo workspace podem continuar a acessá-lo como suas próprias identidades.

Cenário​

Os membros de trial-researchers trabalham em um ensaio clínico no workspace trials. Eles também pertencem a grupos que concedem acesso a outros projetos. As identidades desses usuários herdam permissões desses grupos e dos grupos pai desses grupos.

Você cria role-trial-researcher com acesso ao catálogo trial_data e concede a trial-researchers permissão para assumi-lo. Você atribui a função ao workspace. Os pesquisadores então entram no workspace como a função, cujas permissões substituem suas permissões de identidade de usuário para aquela sessão. Veja Quando você deve assumir uma função para entrar em um workspace para o comportamento geral de entrada.

Pré-requisitos​

  • Um workspace habilitado para Unity Catalog com RBAC habilitado. Consulte Habilitar RBAC.
  • Permissões de administrador account ou administrador de workspace para criar a função, conceder a permissão Assume e gerenciar atribuições de workspace. Consulte Quem pode gerenciar grupos?.
  • Propriedade de, ou MANAGE no, catálogo que a função precisa ler.
  • Permissões de administrador do workspace ou Pode gerenciar o SQL warehouse usado no exemplo.
  • Um grupo account contendo os pesquisadores, uma tabela existente para query e um SQL warehouse. Este tutorial usa trial-researchers, trial_data.research.observations e o workspace trials. Substitua seus próprios nomes em todo o documento.
  • Os usuários em trial-researchers existem em sua account do Databricks, mas não estão atribuídos ao workspace trials, diretamente ou por meio de associação a grupos, incluindo grupos aninhados.
  • Um pesquisador de trial-researchers e outro usuário que permanece atribuído a trials, ambos disponíveis para validar o acesso usando seus próprios logins.
  • Um leitor de auditoria com acesso a system.access.audit para verificar a atividade do pesquisador na função. Consulte Verificar atribuição de auditoria.

Se seus pesquisadores já têm acesso ao workspace, consulte as instruções para remover atribuições diretas de usuário e atribuições de grupo. A remoção da atribuição de um grupo também afeta os outros membros.

o passo 1: criar a role​

Para este tutorial, crie um grupo de account vazio para servir como a função.

  1. Como administrador da conta, faça login no console da conta.
  2. Na barra lateral, clique em Gerenciamento de usuários .
  3. Na guia Grupos , clique em Adicionar grupo .
  4. Insira role-trial-researcher. Não adicionar membros.
  5. Clique em Confirmar .
  6. Atribua o grupo ao trials com acesso ao Workspace e acesso ao Databricks SQL . Consulte Atribuir um grupo a um workspace.

Mantenha este grupo vazio. Os membros de um grupo atribuído a um workspace herdam a atribuição ao workspace e podem entrar como eles mesmos. No próximo passo, você concede aos pesquisadores a permissão Assume em vez da associação.

A função é atribuída ao trials com acesso ao Workspace e acesso ao Databricks SQL , para que os pesquisadores possam usar o editor SQL e os recursos principais do workspace enquanto atuam com essa função. Para saber o que cada direito concede, consulte Direitos de acesso. Você define os privilégios de dados e as permissões de SQL warehouse separadamente no Passo 3.

O passo 2: Conceder permissão aos pesquisadores para assumir a função​

Conceda a permissão Assume a trial-researchers. Se você usar as configurações de administrador do workspace, deverá ter a permissão Gerenciar em role-trial-researcher.

  1. Como um administrador de account, abra o Gerenciamento de usuário no console da account.
  2. Na tab Grupos , clique em role-trial-researcher.
  3. Clique na tab Permissões e clique em Conceder acesso .
  4. Pesquise e selecione trial-researchers, selecione Assume e clique em Salvar .

Os pesquisadores agora têm a permissão Assume sem herdar as permissões da role como suas identidades de usuário.

O passo 3: Conceder à função acesso aos dados de avaliação​

Como proprietário do catálogo ou usuário com MANAGE em trial_data, faça a execução deste comando em um Notebooks ou no editor SQL:

SQL
GRANT USE CATALOG, USE SCHEMA, SELECT ON CATALOG trial_data TO `role-trial-researcher`;

Essas concessões no nível do catálogo permitem que a função leia todas as tabelas e views atuais e futuras em trial_data. Para um acesso mais restrito, substitua a concessão no nível do catálogo por USE CATALOG em trial_data, USE SCHEMA no esquema necessário e SELECT em tabelas específicas. Consulte Herança de privilégios.

Como um admin de workspace ou um usuário com a permissão Can gerenciar no SQL warehouse, conceda à role acesso ao warehouse:

  1. Na barra lateral do workspace, clique em SQL Warehouses .
  2. Clique no menu kebab Ícone de menu kebab. ao lado do warehouse e clique em Permissões .
  3. Adicione role-trial-researcher com Pode usar .

A role também herda permissões de seus grupos parentes. Por default, ela herda 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 roles que a herdam. Consulte Como as permissões de role são aplicadas.

O passo 4: Entre no workspace como um pesquisador​

Um pesquisador conclui os passos usando seu próprio login:

  1. Abra o workspace trials e faça log in. Se role-trial-researcher for a única função que você pode assumir lá, você entrará como essa função automaticamente.
  2. Se você puder assumir várias funções, selecione role-trial-researcher no menu suspenso Assumir função na página Você deve assumir uma função para acessar este workspace e clique em Continuar . O menu lista as funções que você pode assumir em trials.
  3. Verifique se role-trial-researcher aparece abaixo do nome do workspace na barra superior.

O passo 5: Verificar os resultados​

O mesmo pesquisador continua com essas verificações:

  1. Abra o seletor de função clicando no nome do workspace na barra superior e passando o mouse sobre o workspace atual. A sua identidade de usuário não está disponível, por isso você não pode alternar para ela. Você pode alternar para outra função que você tenha permissão para assumir em trials.

  2. Abra o SQL editor, selecione o warehouse concedido no passo 3 e execute:

    SQL
    SELECT * FROM trial_data.research.observations LIMIT 10;

    A query é bem-sucedida usando as permissões da função.

Outro usuário que permanece atribuído a trials inicia sessão usando sua própria account e verifica que ele pode entrar como sua identidade de usuário.

O leitor de auditoria inspeciona o evento de query do pesquisador em system.access.audit: identity_metadata.run_as identifica a função de autorização e run_by identifica o pesquisador que iniciou a solicitação. Os campos run_as_display_name e run_by_display_name correspondentes contêm seus nomes legíveis por humanos. Os dados de auditoria são atualizados ao longo do dia, portanto, um evento recente pode não aparecer imediatamente.

Opcional: acessar o workspace programaticamente​

Um pesquisador que não tem atribuição de workspace também deve assumir uma função ao autenticar com a CLI do Databricks. O pesquisador participante instala a CLI do Databricks conforme descrito em Instalar ou atualizar a CLI do Databricks e, em seguida, log in usando seu próprio login e um perfil nomeado:

Bash
databricks auth login --host <workspace-url> --profile trial-researcher

O pesquisador seleciona role-trial-researcher em Autorizar como.. no navegador e clique em Continuar . Eles usam --profile trial-researcher com comandos subsequentes. Consulte CLI do Databricks.

Limpar​

Os administradores que configuraram a função, os privilégios de dados e o acesso ao warehouse removem as concessões e atribuições que criaram para este tutorial:

  1. Remova a concessão da permissão Assumir do tutorial e a atribuição de workspace da role. Mantenha quaisquer concessões ou atribuições usadas por outras cargas de trabalho.
  2. Remova as concessões de trial_data e warehouse do papel criadas para este tutorial. Revise os ativos pertencentes ao papel antes de excluí-lo.

Os passos seguintes​