Tutorial: Use uma função RBAC para administração de workspace
Use role-based access control (RBAC) para separar o trabalho cotidiano das tarefas que exigem permissões de administrador do workspace no Databricks. Os usuários assumem uma função de administrador quando necessário e, depois, retornam à própria identidade de usuário, mantendo as permissões administrativas fora das sessões cotidianas.
Cenário
Os engenheiros de confiabilidade de site (SREs) em sre-team têm acesso de administrador permanente ao workspace através da associação direta ou herdada ao grupo do sistema admins do workspace. Você cria um grupo role-workspace-admin vazio, concede a permissão sre-team para assumi-lo e adiciona a função a admins.
Após testar a função, você remove o acesso de administrador permanente para os SREs que você está movendo para a função, enquanto preserva seu acesso cotidiano ao workspace. Outros administradores do workspace mantêm seu acesso existente. Os SREs escolhem quando assumir a função e quando alternar de volta. Esta configuração não configura fluxos de trabalho de aprovação ou expiração automática de acesso elevado.
Pré-requisitos
- Um workspace habilitado para federação de identidades, com RBAC habilitado. Consulte Habilitar RBAC.
- Permissões de administrador da account ou administrador do workspace para criar a função, conceder a permissão Assumir e atribuí-la ao workspace. Consulte Quem pode gerenciar grupos?.
- Permissões de administrador de workspace para gerenciar o grupo
adminse os direitos do workspace. - Um grupo account contendo os SREs que você deseja configurar. Este tutorial usa o
sre-team. Substitua pelo seu próprio nome de grupo. - Um SRE de
sre-teamque possa participar da validação usando seu próprio login, separado do administrador que faz as alterações de configuração. - Um leitor de auditoria com acesso a
system.access.audit. Se o workspace de teste não estiver habilitado para Unity Catalog, use um workspace habilitado para Unity Catalog na mesma account e região de cloud para fazer query de eventos de auditoria. Consulte Verificar atribuição de auditoria.
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-workspace-admin. Não adicione membros. - Clique em Confirmar .
- Atribua o grupo diretamente ao workspace usando Acesso ao workspace . Consulte Atribuir um grupo a um workspace.
- Como administrador do Workspace, log in no Workspace de teste.
- 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-workspace-admine selecione Acesso ao workspace . - Clique em Adicionar . Não adicione membros.
Isso também atribui o grupo diretamente ao workspace e concede a você a permissão Gerenciar nele.
Mantenha esta função vazia. Depois de adicionar a função a admins, um membro da função herda as permissões de administrador do workspace como sua identidade de usuário.
A permissão Gerenciar permite alterações na associação da função e concessões da permissão Assumir. Revise a tab Permissões da função e limite Gerenciar aos administradores responsáveis por controlar o acesso a ela. Se os administradores da account devem controlar essa função, crie-a no console da account para evitar conceder Gerenciar automaticamente a um administrador do workspace. Consulte Quem pode gerenciar grupos?.
Crie uma função de administrador separada para cada Workspace para que a permissão de assumir uma função não conceda administração em vários Workspace.
o passo 2: Conceder aos SREs a permissão para assumir a função
Conceda permissão de Assumir para sre-team usando um dos métodos:
- Account console
- Workspace admin settings
- Como administrador account, abra o console account e clique em Gerenciamento de usuário .
- Na tab Grupos , clique em
role-workspace-admin. - Clique na tab Permissões e clique em Conceder acesso .
- Pesquise e selecione
sre-team, selecione Assumir e clique em Salvar .
- Como administrador de workspace com permissão de Gerenciar na função, abra Configurações > Identidade e acesso no workspace de teste.
- Ao lado de Grupos , clique em Gerenciar e selecione
role-workspace-admin. - Clique em Permissões e, em seguida, em Conceder acesso .
- Pesquise e selecione
sre-team, selecione Assumir e clique em Salvar .
Os membros de sre-team agora podem assumir a função. Para alterar quem pode assumi-la, gerencie a associação desse grupo ou sua concessão da permissão Assumir. Ao retirar o acesso, verifique outras concessões ou associações que também permitam ao usuário assumir a função.
O passo 3: Adicionar a função ao grupo de administradores do workspace
Como administrador do workspace, adicione a função ao admins:
- No workspace, clique no seu nome de usuário na barra superior e selecione Settings .
- Clique em Identidade e acesso .
- Ao lado de Grupos , clique em Gerenciar .
- Selecione
admins. - Na tab Membros , clique em Adicionar membros .
- Selecione
role-workspace-admine clique em Confirmar .
A função herda permissões de administrador de workspace de admins. Os SREs têm permissão para assumir esta função sem ser membros dela.
O passo 4: Verifique o acesso à função e o acesso diário
Antes de alterar o acesso de administrador permanente, um de seus SREs entra no workspace com sua própria account e conclui estas verificações:
- Clique no nome do workspace na barra superior e passe o mouse sobre o workspace atual.
- Selecione
role-workspace-adminno seletor de funções. - Verifique se o workspace é recarregado com o nome da função sob o nome do workspace.
- Abra Configurações > Identidade e acesso e clique em Gerenciar ao lado de Grupos . Verifique se você pode abrir a tab Membros do grupo
admins. Essa verificação não requer alteração de nenhuma associação. - Volte para o seletor de função e selecione seu nome de usuário.
Como administrador do workspace, verifique também se sre-team foi atribuído ao workspace com os direitos de acesso de que seus membros precisam para o trabalho diário:
- Acesso ao workspace : Concede acesso aos recursos principais do workspace, como notebooks, jobs, modelos e pipelines.
- Acesso ao Databricks SQL : concede acesso aos recursos do Databricks SQL, incluindo painéis, queries e SQL Warehouse.
Se os SREs recebem esses direitos apenas através de admins, conceda-os a sre-team explicitamente. Isso preserva o acesso diário deles depois que você remove a membership de admin permanente. Consulte Direitos de acesso.
O passo 5: Remover o acesso de administrador permanente dos SREs selecionados
Como administrador do workspace, revise a associação direta e herdada dos SREs selecionados em admins:
- Abra Configurações > Identidade e acesso > Grupos > Gerenciar .
- Abra
adminse, em seguida, sua tab Membros . - Remova as associações diretas dos SREs selecionados e remova
sre-teamse for um membro direto. Mantenharole-workspace-admine administradores não relacionados. - Verifique se há outros grupos aos quais os SREs selecionados pertencem, incluindo os grupos pai desses grupos, que ainda lhes dão acesso de administrador. Se um grupo compartilhado também contiver pessoas que devem manter o acesso de administrador, dê a essas pessoas acesso de administrador de outra maneira antes de remover o grupo compartilhado de
admins. Alterar a associação de grupo account também pode afetar o acesso fora deste workspace.
Mantenha as atribuições diárias de workspace dos SREs e a concessão da permissão Assume da Etapa 2. Remover o acesso de administrador permanente requer o tratamento de cada caminho para admins, não apenas uma única associação direta.
O passo 6: Verificar elevação e retorno
Depois de remover o acesso de administrador permanente, o mesmo SRE verifica esses resultados na sessão do navegador deles:
- Ao agir como sua identidade de usuário, refresh o workspace e verifique se as configurações de administrador do workspace verificadas no o passo 4 não estão disponíveis.
- Use o alternador de função para assumir
role-workspace-admin. - Verifique se você pode abrir as configurações de administração e view os membros do grupo
admins. - Depois de terminar a tarefa administrativa, use o seletor de perfil para selecionar seu nome de usuário.
- Verifique se essas configurações de administrador estão indisponíveis novamente. O acesso ao seu workspace diário permanece disponível.
Mudar de volta altera a identidade usada por essa sessão do navegador. Isso não altera um perfil da CLI do Databricks autenticado separadamente nem revoga seus tokens. A função de administrador possui todos os ativos que você cria enquanto atua como a função.
O passo 7: Verificar atribuição de auditoria
Para inspecionar a atividade sob a função de administrador, execução esta query como leitor de auditoria. Substitua <workspace-id> pelo ID do workspace de teste:
SELECT event_time, service_name, action_name,
identity_metadata.run_by, identity_metadata.run_by_display_name,
identity_metadata.run_as, identity_metadata.run_as_display_name
FROM system.access.audit
WHERE workspace_id = '<workspace-id>'
AND identity_metadata.run_as_display_name = 'role-workspace-admin'
AND event_date >= current_date() - INTERVAL 1 DAY
ORDER BY event_time DESC;
Verifique os eventos da sessão de teste do SRE. identity_metadata.run_by identifica o SRE que iniciou cada solicitação, e run_as identifica a role de admin usada para autorização. A query filtra em run_as_display_name, o nome legível por humanos da role. Os dados de auditoria são atualizados ao longo do dia, portanto, um evento recente pode não aparecer imediatamente. Consulte Referência de metadados de identidade.
Opcional: usar perfis separados da CLI do Databricks
Para executar tarefas administrativas com a CLI do Databricks, autentique-se separadamente para tarefas diárias e administrativas. A verificação de gerenciamento de tokens nesta seção requer que os access tokens pessoais estejam habilitados e que o gerenciamento de tokens esteja disponível no workspace. Consulte Monitorar e revogar access token pessoal.
O SRE participante instala a CLI do Databricks conforme descrito em Instalar ou atualizar a CLI do Databricks. Eles fazem log in usando seu próprio login, com um perfil nomeado para o trabalho diário e outro para a função de admin:
databricks auth login --host <workspace-url> --profile everyday
databricks auth login --host <workspace-url> --profile ws-admin
Para everyday, o SRE seleciona a própria identidade de usuário em Autorizar como.. no navegador. Para ws-admin, eles selecionam role-workspace-admin.
O SRE compara este comando de administrador somente leitura usando cada perfil:
databricks token-management list --profile everyday
databricks token-management list --profile ws-admin
O perfil everyday recebe um erro de permissão. O perfil admin pode listar os metadados do token. O SRE usa --profile everyday para comandos everyday subsequentes. Selecionar esse perfil não invalida o perfil admin. Consulte a CLI do Databricks.
Limpar
Mantenha a configuração se for o modelo de acesso que pretende usar. Para um teste temporário, restaure as associações de administrador originais dos SREs antes de remover a função de admins ou retirar a permissão Assume. Revise todos os ativos pertencentes à função antes de excluí-la.
Os passos seguintes
-
- Alternar funções RBAC
- Use outros métodos compatíveis para assumir uma função.
-
- Limitações do role-based access control (RBAC)
- Verifique quais recursos não têm suporte ou se comportam de maneira diferente ao agir como uma função.
-
- Gerenciar grupos do Databricks
- Gerenciar membros de grupo, atribuições de workspace e a permissão Assume.