Pular para o conteúdo principal

Começar com RBAC

Configure o role-based access control (RBAC) no Databricks para que os usuários e os Service Principal do Databricks possam assumir funções com as permissões de que precisam para cada tarefa. Escolha um grupo para usar como uma função, conceda permissão para assumi-lo e configure o acesso dele. Para o modelo de permissão, consulte Role-based access control (RBAC).

Requisitos​

  • Um workspace habilitado para federação de identidades. Veja Federação de identidades.
  • RBAC habilitado nos níveis de account e Workspace. Um administrador account e um administrador workspace realizam os respectivos os passos de habilitação.
  • Permissões de administrador de account ou administrador de Workspace para criar grupos e atribuí-los a Workspace.
  • Gerencie a permissão no grupo da função para conceder ou revogar a permissão Assume. Os administradores de account têm Gerenciar em todos os grupos. Os administradores do workspace recebem Gerenciar nos grupos que criam. Consulte Quem pode gerenciar grupos?.
  • Permissões de administrador de workspace para gerenciar os direitos de workspace de um grupo existente.
  • Permissão para conceder acesso aos ativos de dados, compute e Workspace que a função precisa. As permissões necessárias dependem dos recursos escolhidos.

Diferentes administradores podem realizar essas tarefas. Os gerentes de grupo podem gerenciar permissões de grupo por meio da API. Veja Gerenciar permissões em um grupo.

Ativar RBAC​

RBAC já está habilitado para a maioria dos clientes. Se não tiver certeza se está habilitado para sua account e Workspace, verifique estas configurações:

  1. Como administrador da account, certifique-se de que a habilitação de role-based access control (RBAC) no nível da account esteja ativada na página Previews.
  2. Como um admin do workspace, certifique-se de que o Role-based access control (RBAC) esteja habilitado na página Previews do workspace.

A configuração account torna a configuração workspace disponível. Habilite o RBAC em cada workspace onde os usuários precisam assumir funções.

Escolha ou crie uma função​

No Databricks, uma função é implementada como um grupo de account. Você pode usar um grupo criado no Databricks ou um grupo externo do seu provedor de identidade. Grupos externos também são grupos de account. Para fontes de grupo e como os grupos de account diferem dos grupos locais do Workspace, consulte Fontes de grupo.

Decida se o grupo deve ter membros:

  • Os membros herdam as permissões do grupo, incluindo permissões de seus grupos pai, como parte de sua própria identidade. Os membros podem assumir o grupo como uma função para limitar uma sessão às permissões do grupo e colaborar em ativos pertencentes ao grupo.
  • Você pode conceder a permissão Assumir diretamente a não membros sem adicioná-los como membros, para que não herdem as permissões do grupo como sua própria identidade. Para um padrão que requer uma assunção deliberate de role para acessar uso de dados, use um grupo vazio e mantenha-o vazio. Consulte Tutorial: Acesso exclusivo a modelos com RBAC.

Para criar uma função local da account:

  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 um nome para a função e clique em Confirmar .
  5. Adicione membros apenas se eles também devem herdar as permissões do grupo como suas próprias identidades.

O Databricks recomenda o uso de um prefixo consistente, como role-, para distinguir grupos usados como funções. Por exemplo, use role-study-1 para uma função e trial-researchers para um grupo cujos membros podem assumi-la.

Para procedimentos de sincronização de grupo, consulte Gerenciar grupos do Databricks.

Opcional: Usar a API de grupos de account​

Você também pode criar e gerenciar grupos usando a API de grupos de account. Para Endpoint e exemplos, consulte Gerenciar grupos usando a API.

Gerenciar a permissão Assume​

Usuários e Service Principal do Databricks podem assumir uma função quando têm a permissão Assumir, seja diretamente ou por meio de associação de grupo. Conceda a permissão no grupo que implementa a função. Os membros do grupo têm a permissão Assumir automaticamente, portanto, você só precisa de concessões explícitas para não membros.

Para conceder a permissão Assume, use o console da account ou as configurações de administrador do workspace:

  1. Como um administrador account, abra User management > Groups e selecione o grupo da função.
  2. Clique em Permissões e depois em Conceder acesso .
  3. Selecione o usuário, o Service Principal do Databricks ou o grupo de account que deve ser capaz de assumir a função.
  4. Selecione Assumir e clique em Salvar .

Quando você concede a permissão Assume a um grupo, seus membros podem assumir a função. Eles não precisam ser membros da própria função. Você também pode conceder a permissão Assume diretamente a usuários individuais ou a Databricks Service Principal.

Para revogar a permissão Assume, remova a concessão aplicável. Verifique se o principal ainda pode assumir a função por meio da associação na função ou em outro grupo ao qual foi concedida a permissão Assume. Remover uma concessão direta não remove esses outros caminhos.

Limite o gerenciar na role aos administradores responsáveis pela associação e pelas permissões. Um principal com gerenciar pode conceder a permissão Assume a outros. Consulte Gerenciar permissões em um grupo para os procedimentos do console da account e do admin do workspace, ou Conceder ou revogar a permissão Assume em um grupo para a API de Controle de Acesso.

Configurar o acesso ao workspace​

Atribua a função a cada workspace onde ela deve estar disponível. Os administradores da account e os administradores do Workspace podem atribuir grupos aos Workspaces. Veja Atribuir um grupo a um workspace.

Cada direito de acesso concede acesso a um conjunto específico de recursos no workspace. Selecione os direitos de acesso de que a função necessita:

  • Acesso ao workspace : concede acesso aos principais recursos do workspace, como notebooks e jobs.
  • Acesso ao Databricks SQL : concede acesso aos recursos do Databricks SQL, incluindo painéis, queries e SQL Warehouse.

Veja Direitos de acesso para todos os direitos de acesso, incluindo acesso do consumidor e como gerenciá-los. Selecione explicitamente os direitos da função em vez de confiar nos direitos default do workspace. Veja Visão geral.

Decida se os usuários também devem ser atribuídos ao workspace como suas próprias identidades:

  • Usuários com uma atribuição de workspace direta ou herdada e um direito de acesso podem entrar como eles mesmos e alternar para uma função que eles tenham permissão para assumir.
  • Usuários sem uma atribuição de workspace direta ou herdada devem assumir uma função atribuída a esse workspace para entrar. Eles precisam da permissão Assume na função, e a função precisa de um direito de acesso. Consulte Tutorial: exigência de que os usuários assumam uma função para acessar o workspace.

A permissão Assumir controla quem pode usar a role. As atribuições de workspace controlam onde ele está disponível, e os direitos de acesso controlam quais recursos do workspace ele pode usar. Conceda privilégios de dados e permissões em objetos de compute e workspace separadamente.

Conceder acesso aos recursos​

Conceda à função as permissões necessárias para sua tarefa:

  • Dados : conceda privilégios do Unity Catalog usando SQL ou Catalog Explorer. A leitura de uma tabela requer USE CATALOG em seu catálogo, USE SCHEMA em seu esquema e SELECT na tabela. Privilégios como SELECT concedidos em um catálogo ou esquema também se aplicam aos seus objetos filhos atuais e futuros. Consulte Herança de privilégios e Gerenciar privilégios no Unity Catalog.
  • Compute : Conceda permissão para usar o recurso de compute escolhido. Para um SQL warehouse, conceda a permissão Can use para permitir que a função faça execução de queries. Consulte Gerenciar um SQL warehouse. Para compute dedicado atribuído a um grupo, consulte Acesso ao grupo de compute dedicado.
  • Objetos do workspace : Use listas de controle de acesso (ACLs) para conceder acesso a notebooks, jobs e outros objetos do workspace. Consulte Listas de controle de acesso.

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 concessões compartilhadas afeta outros usuários e funções que as herdam. Consulte Como as permissões de função são aplicadas.

Se os usuários que agem como a função não podem compartilhar ativos de workspace que a função possui, configure controles de compartilhamento de ativos de workspace.

Usar e verificar a função​

Um usuário ou service principal do Databricks com a permissão Assume autentica como a role usando um método em Alternar roles RBAC. Verifique se a role consegue acessar os recursos necessários e recebe erros de permissão para recursos fora do seu acesso pretendido. Compare esses resultados com a mesma identidade agindo sem a role.

Para dados regidos pelo controle de acesso baseado em atributos (ABAC), as políticas avaliam a função ativa. Consulte Usar RBAC com ABAC para obter o comportamento da função de identidade e os padrões de uso combinado.

Verificar atribuição de auditoria​

query system.access.audit de um workspace com Unity Catalog habilitado na mesma account e região de cloud que o workspace onde você testou a role. O leitor de auditoria precisa de USE CATALOG em system, USE SCHEMA em system.access, SELECT em system.access.audit e permissão para usar o compute de query. Veja Conceder acesso às tabelas do sistema.

Os campos de metadados de identidade distinguem as identidades envolvidas em um evento:

  • run_by: a identidade que iniciou o evento.
  • run_as: a identidade usada para autorização.
  • run_by_display_name e run_as_display_name: os nomes correspondentes legíveis por humanos.

Para solicitações interativas feitas ao assumir uma função, run_by identifica o usuário e run_as identifica a função. Para cargas de trabalho de jobs, run_by identifica o service principal do Databricks do aplicativo do serviço Jobs. Consulte Definir execução como para um grupo.

Filtre por workspace_id e event_date para localizar sua atividade de teste. Os dados da system table de auditoria são atualizados ao longo do dia e não oferecem suporte a monitoramento em tempo real. Se um evento recente estiver ausente, verifique novamente mais tarde. Consulte Referência da system table de logs de auditoria e Referência de system tables.

Recursos adicionais​

Escolha um tutorial para um procedimento completo de configuração e verificação:

Antes de aplicar uma role a outras cargas de trabalho, revise Limitações de role-based access control (RBAC).