Visão geral do controle de acesso baseado em papéis (RBAC)

Esta página descreve a autorização detalhada com o controle de acesso baseado em papéis (RBAC) no Cloud Data Fusion.

A ativação do RBAC nas instâncias do Cloud Data Fusion permite controlar o acesso a instâncias e namespaces, como quem pode acessar os recursos do Cloud Data Fusion e o que eles podem fazer com eles.

Casos de uso do RBAC

O RBAC oferece isolamento no nível do namespace em uma única instância do Cloud Data Fusion. Ela é recomendada para os seguintes casos de uso:

  • ajudar a minimizar o número de instâncias usadas pela organização;
  • Ter vários desenvolvedores, equipes ou unidades de negócios usa uma única instância do Cloud Data Fusion.

Com o RBAC do Cloud Data Fusion, as organizações podem:

  • Permitir que um usuário execute apenas um pipeline em um namespace, mas não modifique artefatos ou perfis de computação de tempo de execução.
  • Permitir que um usuário visualize apenas o pipeline, mas não modifique ou execute um pipeline.
  • Permite que um usuário crie, implante e execute um pipeline.

Recomendado:mesmo quando você usa o RBAC, para manter o isolamento, a segurança e a estabilidade do desempenho, use projetos e instâncias separados para ambientes de desenvolvimento e produção.

Limitações

  • Um usuário pode receber um ou vários papéis no nível da instância ou do namespace.
  • O RBAC está disponível apenas na edição Enterprise do Cloud Data Fusion.
  • Número de namespaces: sem limite absoluto no número de namespaces por instância.
  • Para saber o número máximo de usuários simultâneos em uma instância com RBAC ativada, consulte Preços.
  • Papéis personalizados: não é possível criar papéis personalizados de RBAC.
  • O Cloud Data Fusion RBAC não é compatível com a autorização no Gerenciamento de conexões.
  • Ao usar tokens de acesso OAuth da conta de serviço para acessar instâncias ativadas para a versão RBAC 6.5, os seguintes escopos precisam ser especificados, especialmente o escopo userinfo.email. Sem eles, você vai encontrar erros de permissão negada.
    • https://www.googleapis.com/auth/userinfo.email
    • https://www.googleapis.com/auth/cloud-platform ou https://www.googleapis.com/auth/servicecontrol

Atribuições de funções

Uma atribuição de papel consiste em três elementos: principal, definição de papel e escopo.

Principal

Você concede papéis a principais para mudar o acesso deles aos recursos do Cloud Data Fusion.

Definição do papel

Um papel contém um conjunto de permissões que permite realizar ações específicas nos recursosGoogle Cloud .

O Cloud Data Fusion oferece vários papéis predefinidos que podem ser usados.

Exemplos:

  • O papel de administrador de instância (datafusion.admin) permite que os principais criem e excluam namespaces e concedam permissões.
  • O papel de Desenvolvedor (datafusion.developer) permite que os principais criem e excluam pipelines, implantem pipelines e executem visualizações.

Escopo

O escopo é o conjunto de recursos a que o acesso se aplica. Ao fazer isso, você pode limitar ainda mais as ações permitidas pela definição de um escopo, como uma instância ou um namespace. Isso é útil quando você quer atribuir o papel de desenvolvedor a alguém, mas somente para um namespace.

Recomendações de segurança

A adoção de um modelo de segurança e atendê-lo às necessidades e requisitos da sua organização pode ser um desafio. As recomendações a seguir têm como objetivo ajudar você a simplificar a jornada para adotar o modelo do RBAC do Cloud Data Fusion:

  • O papel de administrador da instância precisa ser concedido com cuidado. Esse papel permite acesso total a uma instância e a todos os recursos subjacentes do Cloud Data Fusion. Um principal com esse papel pode conceder permissões a outras pessoas usando a API REST.
  • O papel de administrador da instância não deve ser concedido quando as principais precisam ter acesso a namespaces individuais em uma instância do Cloud Data Fusion. Em vez disso, conceda o papel de acessador de instâncias com um dos papéis de visualizador/desenvolvedor/operador/editor concedidos em um subconjunto dos namespaces.
  • O papel Acessador da instância é seguro para atribuir primeiro, porque permite o acesso dos principais à instância, mas não concede acesso a nenhum recurso na instância. Esse papel normalmente é usado com um visualizador/desenvolvedor/operador/editor para dar acesso a um ou um subconjunto de namespaces em uma instância.
  • É recomendado que o papel de leitor seja atribuído a usuários ou grupos do Google que se quiserem disponibilizar autoatendimento para entender o status de jobs em execução ou visualizar pipelines ou registros com instâncias do Cloud Data Fusion. de dados. Por exemplo, consumidores de relatórios diários que querem saber se o processamento foi concluído.
  • O papel de desenvolvedor é recomendado para desenvolvedores de ETL responsáveis por criar, testar e gerenciar pipelines.
  • O papel de operador para um namespace é recomendado para usuários que fornecem serviços de administrador de operações ou DevOps. Eles podem executar todas as ações que os desenvolvedores podem executar (exceto visualizar pipelines) e também implantar artefatos e gerenciar perfis de computação.
  • O papel de editor de um namespace é um papel privilegiado que concede ao usuário ou ao grupo do Google acesso total a todos os recursos no namespace. O Editor pode ser considerado a união dos papéis de desenvolvedor e operador.
  • Operadores e Administradores precisam ter cuidado para instalar plug-ins ou artefatos não confiáveis, porque isso pode gerar um risco de segurança.

Solução de problemas

Esta seção da página mostra como resolver problemas relacionados ao RBAC no Cloud Data Fusion.

Um principal que tem a função de leitor do Cloud Data Fusion para um namespace no RBAC pode editar pipelines

O acesso é baseado em uma combinação de papéis do IAM e do RBAC. Os papéis do IAM têm precedência sobre os papéis RBAC. Verifique se o principal tem os papéis de IAM Editor do projeto ou Administrador do Cloud Data Fusion.

Um principal com a função de administrador de instância no RBAC não consegue acessar instâncias do Cloud Data Fusion no console do Google Cloud.

Há um problema conhecido no Cloud Data Fusion em que os principais usuários com a função de administrador de instância não conseguem visualizar instâncias no console do Google Cloud. Para corrigir o problema, conceda o papel de visualizador de projeto ou um dos papéis do IAM do Cloud Data Fusion ao principal, além de torná-lo administrador de uma instância. Isso concede acesso de leitor ao principal para todas as instâncias no projeto.

Impedir que um participante principal acesse namespaces em que não tem função

Para impedir que um principal visualize namespaces em que não tem função, ele não pode ter o papel de Visualizador de projeto ou qualquer um dos papéis do IAM do Cloud Data Fusion. Em vez disso, conceda apenas papéis do RBAC ao principal no namespace em que ele precisa operar.

O administrador com esse tipo de acesso não vai ver a lista de instâncias do Cloud Data Fusion no console do Google Cloud. Em vez disso, forneça um link direto para a instância, semelhante ao seguinte: https://INSTANCE_NAME-PROJECT_ID.REGION_NAME.datafusion.googleusercontent.com/

Quando o principal abre a instância, o Cloud Data Fusion mostra uma lista de namespaces em que o principal recebe a função RBAC.

Conceder o papel de acessador do Cloud Data Fusion a um principal

O papel de acessador é atribuído implicitamente a um principal quando qualquer outro papel do RBAC é atribuído a ele para qualquer instância do Cloud Data Fusion. Para verificar se um principal tem essa função em uma instância específica, consulte o Analisador de políticas do IAM.

A seguir