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

Este documento descreve o novo recurso de autorização detalhada, disponível na versão 6.5 e posterior do Cloud Data Fusion.

É possível usar o controle de acesso baseado em papéis (RBAC, na sigla em inglês) para restringir o acesso nos ambientes em que você desenvolve os pipelines no Cloud Data Fusion. O RBAC ajuda a gerenciar quem tem acesso a quais recursos do Cloud Data Fusion, o que eles podem fazer com esses recursos e a quais áreas (por exemplo, instâncias ou namespaces) eles podem acessar. O Cloud Data Fusion RBAC é um sistema de autorização que fornece um gerenciamento de acesso refinado com a tecnologia do Identity and Access Management (IAM).

Quando usar o RBAC

O controle de acesso baseado em papéis fornece isolamento no nível do namespace em uma única instância do Cloud Data Fusion. Ela é recomendada nos 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 ambiente de execução.
  • Permitir que um usuário visualize apenas o pipeline, mas não modifique nem 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, é recomendável ter projetos e instâncias separados para ambientes de desenvolvimento e produção.

Limitações

  • Um papel do IAM do Cloud Data Fusion contém várias permissõ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.
  • No momento, não é possível excluir namespaces.
  • Usuários: no máximo 50 usuários por instância.
  • Papéis personalizados: não é recomendado criar papéis personalizados. As versões futuras podem ser incompatíveis com papéis personalizados criados na versão atual.
  • No momento, o RBAC do Cloud Data Fusion não é compatível com a autorização no gerenciamento de conexões.

Atribuições de funções

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

Principal

Um principal (anteriormente conhecido como membro) pode ser uma Conta do Google (para usuários finais), uma conta de serviço (para apps e máquinas virtuais) ou um Grupo do Google que seja. solicitando acesso aos recursos do Cloud Data Fusion. É possível atribuir um papel a qualquer um desses principais.

Definição do papel

Um papel contém um conjunto de permissões que permitem realizar ações específicas nos recursos do Google Cloud.

O Cloud Data Fusion fornece 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 (por exemplo, uma instância ou um namespace). Isso é útil quando você quer atribuir um papel de desenvolvedor a alguém, mas somente para um namespace.

Papéis predefinidos do Cloud Data Fusion

O RBAC do Cloud Data Fusion inclui vários papéis predefinidos que podem ser usados:

Papel predefinido Descrição Operações que um principal pode realizar quando esse papel é atribuído a elas em um namespace
Papel Administrador de instâncias (datafusion.admin) Concede acesso a todos os recursos em uma instância do Cloud Data Fusion. Não aplicável Não atribuído no nível do namespace.
Papel de acesso à instância (datafusion.accessor) Concede acesso principal a uma instância do Cloud Data Fusion, mas não a nenhum recurso dela. Use esse papel em combinação com outros papéis específicos de namespace para fornecer acesso refinado ao namespace.
  • Pode acessar a instância
  • Não é possível acessar o namespace
  • Não é possível criar o namespace
  • Não é possível excluir o namespace
  • Não é possível criar o pipeline
  • Não é possível implantar o pipeline
  • Não é possível implantar o plug-in do Hub
  • Não é possível criar uma programação
  • Não é possível alterar a programação
  • Não é possível executar o pipeline
  • Não é possível visualizar o pipeline
  • Não é possível excluir o pipeline
  • Não é possível visualizar a tag
  • Não é possível excluir a tag
  • Não é possível ver registros
  • Não é possível ver o perfil de computação
  • Não é possível modificar o perfil de computação
  • Não é possível excluir o perfil de computação
Papel de editor (datafusion.editor) Concede acesso principal principal a todos os recursos do Cloud Data Fusion em um namespace em uma instância do Cloud Data Fusion. Esse papel precisa ser concedido além do papel de acessador de instância para o principal. Com esse papel, o principal pode criar, excluir e modificar recursos no namespace.
  • Pode ver o pipeline
  • É possível criar um pipeline
  • Pode implantar o pipeline
  • Pode excluir o pipeline
  • Pode implantar o plug-in do Hub
  • Pode executar pipeline
  • Criar programação
  • Pode alterar a programação
  • Pode ver registros
  • Pode ver a linhagem
  • É possível criar uma tag
  • Pode excluir tag
  • Pode visualizar o pipeline
  • Criar perfil de computação
  • Pode modificar o perfil de computação
  • Pode excluir o perfil de computação
  • Não é possível conceder ou revogar permissões para outros principais para este namespace
  • Não é possível criar o namespace
  • Não é possível modificar o namespace
  • Não é possível excluir o namespace
  • Não é possível acessar o namespace ao qual ele não tem acesso
Papel de Desenvolvedor (datafusion.developer) Concede acesso a um principal em um namespace para criar e modificar recursos limitados no namespace (por exemplo, pipelines).
  • Pode ver o pipeline
  • É possível criar um pipeline
  • Pode implantar o pipeline
  • Pode modificar o pipeline
  • Pode excluir o pipeline
  • Pode executar pipeline
  • Pode ver registros
  • Pode ver a linhagem
  • É possível criar uma tag
  • Pode excluir tag
  • Pode visualizar o pipeline
  • Criar programação
  • Pode alterar a programação
  • Pode ver chaves seguras
  • Pode criar chaves seguras
  • Pode excluir chaves seguras
  • Não é possível implantar o plug-in do Hub
  • Não é possível criar o perfil de computação
  • Não é possível modificar o perfil de computação
  • Não é possível excluir o perfil de computação
  • Não é possível conceder ou revogar permissões para outros principais para o namespace
  • Não é possível criar o namespace
  • Não é possível excluir o namespace
  • Não é possível acessar os namespaces aos quais eles não têm acesso
Papel de operador (datafusion.operator) Concede acesso a um principal em um namespace para acessar e executar pipelines, alterar o perfil de computação, criar perfis de computação ou fazer upload de artefatos. Pode executar as mesmas ações que um desenvolvedor, com exceção da visualização de pipelines.
  • Pode executar o pipeline
  • Pode implantar o pipeline
  • Pode implantar o plug-in do Hub
  • Criar programação
  • Pode alterar a programação
  • Pode ver o pipeline
  • Pode executar pipeline
  • Pode ver registros
  • Pode ver tags
  • Pode excluir tags
  • Pode criar tags
  • Pode ver a linhagem
  • Pode ver chaves seguras
  • Pode criar chaves seguras
  • Pode excluir chaves seguras
  • Criar perfil de computação
  • Pode modificar o perfil de computação
  • Pode excluir o perfil de computação
  • Não é possível criar o pipeline
  • Não é possível modificar o pipeline
  • Não é possível visualizar o pipeline
  • Não é possível criar o namespace
  • Não é possível excluir o namespace
Papel de Leitor (datafusion.viewer) Concede acesso a um principal em um namespace para visualizar pipelines, mas não para criar ou executar pipelines.
  • Pode ver um pipeline
  • Pode ver registros
  • Pode ver a linhagem
  • Pode ver tags
  • Não é possível ver chaves seguras
  • Não é possível criar chaves seguras
  • Não é possível excluir chaves seguras
  • Não é possível implantar o pipeline
  • Não é possível implantar o plug-in do Hub
  • Não é possível excluir o pipeline
  • Não é possível executar o pipeline
  • Não é possível criar o namespace
  • Não é possível modificar o namespace
  • Não é possível excluir o namespace
  • Não é possível criar o perfil de computação
  • Não é possível modificar o perfil de computação
  • Não é possível excluir o perfil de computação

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 de RBAC do Cloud Data Fusion:

  • O papel de administrador da instância precisa ser concedido com cuidado. Com esse papel, você tem 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 Leitor/Desenvolvedor/Operador/Editor concedidos em um subconjunto dos namespaces.
  • O papel Accessor 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, os 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 realizam (exceto a visualização de pipelines), além de implantar artefatos e gerenciar perfis de computação.
  • O papel de Editor de um namespace é um papel privilegiado que concede acesso total ou a todos os recursos do namespace ao usuário ou ao Grupo do Google. O Editor pode ser considerado a união dos papéis de desenvolvedor e operador.
  • Operadores e administradores devem ter cuidado para instalar plug-ins ou artefatos não confiáveis, porque isso pode gerar um risco de segurança.

A seguir