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
MANAGEno, 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.observationse o workspacetrials. Substitua seus próprios nomes em todo o documento. - Os usuários em
trial-researchersexistem em sua account do Databricks, mas não estão atribuídos ao workspacetrials, diretamente ou por meio de associação a grupos, incluindo grupos aninhados. - Um pesquisador de
trial-researcherse outro usuário que permanece atribuído atrials, ambos disponíveis para validar o acesso usando seus próprios logins. - Um leitor de auditoria com acesso a
system.access.auditpara 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.
- Account console
- Workspace admin settings
- Como administrador da conta, faça login no console da conta.
- Na barra lateral, clique em Gerenciamento de usuários .
- Na guia Grupos , clique em Adicionar grupo .
- Insira
role-trial-researcher. Não adicionar membros. - Clique em Confirmar .
- Atribua o grupo ao
trialscom acesso ao Workspace e acesso ao Databricks SQL . Consulte Atribuir um grupo a um workspace.
- Como administrador do Workspace, faça log in no Workspace
trials. - Clique no seu nome de usuário na barra superior e selecione Configurações .
- Clique na guia Identidade e acesso .
- Ao lado de Grupos , clique em Gerenciar .
- Clique em Adicionar grupo e depois em Adicionar novo .
- Insira
role-trial-researchere selecione acesso ao Workspace e acesso ao Databricks SQL . - Clique em Adicionar . Não adicione membros.
A criação do grupo a partir das configurações de administrador do workspace também o atribui a trials e concede a você a permissão Gerenciar no grupo.
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.
- Account console
- Workspace admin settings
- Como um administrador de account, abra o Gerenciamento de usuário no console da account.
- Na tab Grupos , clique em
role-trial-researcher. - Clique na tab Permissões e clique em Conceder acesso .
- Pesquise e selecione
trial-researchers, selecione Assume e clique em Salvar .
- Como administrador do workspace, abra Configurações > Identidade e acesso em
trials. - Ao lado de Grupos , clique em Gerenciar e selecione
role-trial-researcher. - Clique na tab Permissões e clique em Conceder acesso .
- 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:
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:
- Na barra lateral do workspace, clique em SQL Warehouses .
- Clique no menu kebab
ao lado do warehouse e clique em Permissões .
- Adicione
role-trial-researchercom 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:
- Abra o workspace
trialse faça log in. Serole-trial-researcherfor a única função que você pode assumir lá, você entrará como essa função automaticamente. - Se você puder assumir várias funções, selecione
role-trial-researcherno 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 emtrials. - Verifique se
role-trial-researcheraparece abaixo do nome do workspace na barra superior.
O passo 5: Verificar os resultados
O mesmo pesquisador continua com essas verificações:
-
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. -
Abra o SQL editor, selecione o warehouse concedido no passo 3 e execute:
SQLSELECT * 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:
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:
- 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.
- Remova as concessões de
trial_datae warehouse do papel criadas para este tutorial. Revise os ativos pertencentes ao papel antes de excluí-lo.
Os passos seguintes
-
- Tutorial: acesso exclusivo ao modelo com RBAC
- Mantenha os dados de cada projeto, cliente ou caso de uso separados exigindo a assunção deliberada de funções, inclusive quando os usuários podem entrar em um workspace como eles mesmos.
-
- Trocar funções RBAC
- Assuma uma função usando a interface do usuário do Workspace, a CLI do Databricks ou outro método compatível.
-
- Limitações do role-based access control (RBAC)
- Verifique quais recursos não têm suporte ou se comportam de forma diferente ao atuar como uma função.