Pular para o conteúdo principal

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 admins e 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-team que 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.

  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-workspace-admin. Não adicione membros.
  5. Clique em Confirmar .
  6. Atribua o grupo diretamente ao workspace usando Acesso ao workspace . Consulte Atribuir um grupo a um workspace.
importante

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:

  1. Como administrador account, abra o console account e clique em Gerenciamento de usuário .
  2. Na tab Grupos , clique em role-workspace-admin.
  3. Clique na tab Permissões e clique em Conceder acesso .
  4. 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:

  1. No workspace, clique no seu nome de usuário na barra superior e selecione Settings .
  2. Clique em Identidade e acesso .
  3. Ao lado de Grupos , clique em Gerenciar .
  4. Selecione admins.
  5. Na tab Membros , clique em Adicionar membros .
  6. Selecione role-workspace-admin e 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:

  1. Clique no nome do workspace na barra superior e passe o mouse sobre o workspace atual.
  2. Selecione role-workspace-admin no seletor de funções.
  3. Verifique se o workspace é recarregado com o nome da função sob o nome do workspace.
  4. 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.
  5. 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:

  1. Abra Configurações > Identidade e acesso > Grupos > Gerenciar .
  2. Abra admins e, em seguida, sua tab Membros .
  3. Remova as associações diretas dos SREs selecionados e remova sre-team se for um membro direto. Mantenha role-workspace-admin e administradores não relacionados.
  4. 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:

  1. 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.
  2. Use o alternador de função para assumir role-workspace-admin.
  3. Verifique se você pode abrir as configurações de administração e view os membros do grupo admins.
  4. Depois de terminar a tarefa administrativa, use o seletor de perfil para selecionar seu nome de usuário.
  5. 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:

SQL
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:

Bash
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:

Bash
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​