Nesta página, descrevemos a autorização detalhada com o controle de acesso baseado em papéis (RBAC, na sigla em inglês), disponível nas versões 6.5 e posteriores do Cloud Data Fusion.
O RBAC restringe o acesso aos ambientes em que você desenvolve pipelines no Cloud Data Fusion. O RBAC ajuda a gerenciar quem tem acesso aos recursos do Cloud Data Fusion, o que eles podem fazer com esses recursos e quais áreas (como instâncias ou namespaces) eles podem acessar. O RBAC do Cloud Data Fusion é um sistema de autorização que fornece gerenciamento de acesso refinado com tecnologia do Identity and Access Management (IAM).
Quando usar o RBAC
O controle de acesso baseado em papel oferece isolamento no nível do namespace em uma única instância do Cloud Data Fusion. É recomendado 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 dentro de um namespace, mas não modifique artefatos ou perfis de computação de ambiente de execução.
- Permitir que um usuário apenas visualize o pipeline, mas não o modifique ou execute.
- Permitir que um usuário crie, implante e execute um pipeline.
Recomendado: mesmo quando usar 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 rígido do número de namespaces por instância.
- Não é possível excluir namespaces.
- Usuários: são permitidos no máximo 50 usuários por instância.
- Papéis personalizados: no momento, não é possível criar papéis personalizados do RBAC.
- O RBAC do Cloud Data Fusion não é compatível com a autorização no Gerenciamento de conexão.
- Ao usar tokens de acesso OAuth da conta de serviço para acessar instâncias ativadas para RBAC da versão 6.5, os seguintes escopos precisam ser especificados, especialmente o escopo
userinfo.email
. Sem eles, você encontrará erros de permissão negada.https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/cloud-platform
ouhttps://www.googleapis.com/auth/servicecontrol
Role assignments (Atribuições da função)
Uma atribuição de papel consiste em três elementos: principal, definição de papel e escopo.
Participante
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 está 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 participantes criem e excluam pipelines, implantem pipelines e executem visualizações.
Scope
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 namespace). Isso é útil quando você quer atribuir a alguém o papel de desenvolvedor, 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 de acesso à instância (
datafusion.accessor
) - Concede ao principal acesso a uma instância do Cloud Data Fusion, mas não a recursos na instância. Use esse papel em combinação com outros papéis específicos de namespace para fornecer acesso minucioso ao namespace.
- Papel de Leitor (
datafusion.viewer
) - Concede acesso ao principal em um namespace para visualizar pipelines, mas não para criar ou executar pipelines.
- Papel de operador (
datafusion.operator
) - Concede acesso a um principal em um namespace para acessar e executar pipelines, mudar o perfil de computação, criar perfis de computação ou fazer upload de artefatos. Pode realizar as mesmas ações que um desenvolvedor, com exceção dos pipelines de visualização.
- Função de desenvolvedor (
datafusion.developer
) - Concede acesso ao principal em um namespace para criar e modificar recursos limitados, como pipelines, no namespace.
- Papel de editor (
datafusion.editor
) - Concede ao principal acesso total 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âncias para o principal. Com esse papel, o principal pode criar, excluir e modificar recursos no namespace.
- Papel de administrador de instâncias (
datafusion.admin
) - Concede acesso a todos os recursos em uma instância do Cloud Data Fusion. Atribuído pelo IAM. Não atribuído no nível do namespace pelo RBAC.
Operação | datafusion.accessor | datafusion.viewer | datafusion.operador | datafusion.developer | editor | datafusion.admin |
---|---|---|---|---|---|---|
Instâncias | ||||||
Acessar instância | ||||||
Namespaces | ||||||
Criar namespace | * | |||||
Namespace de acesso com acesso explícito concedido | ||||||
Namespace de acesso sem acesso explícito concedido | * | |||||
Editar namespace | ||||||
Excluir namespace | ||||||
RBAC | ||||||
Conceder ou revogar permissões para outros principais no namespace | * | |||||
Programações | ||||||
Criar programação | ||||||
Ver programação | ||||||
Alterar programação | ||||||
Perfis do Compute | ||||||
Criar um perfil de computação | ||||||
Ver perfil do Compute | ||||||
Editar perfil de computação | ||||||
Excluir perfil de computação | ||||||
Conexões | ||||||
Criar conexão | ||||||
Ver conexão | ||||||
Editar conexão | ||||||
Excluir conexão | ||||||
Usar conexão | ||||||
Pipelines | ||||||
Criar pipeline | ||||||
Ver pipeline | ||||||
Editar pipeline | ||||||
Excluir pipeline | ||||||
Visualizar pipeline | ||||||
Implantar pipeline | ||||||
Executar pipeline | ||||||
Chaves seguras | ||||||
Criar chaves seguras | ||||||
Ver chaves seguras | ||||||
Excluir chaves seguras | ||||||
Tags | ||||||
Criar tags | ||||||
Ver tags | ||||||
Excluir tags | ||||||
Hub do Cloud Data Fusion | ||||||
Implantar plug-ins | ||||||
Linhagem | ||||||
Ver linhagem | ||||||
Registros | ||||||
Ver registros |
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.
- Não é possível conceder um papel de administrador da instância quando os principais tiverem que 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 de acesso à instância pode ser atribuído primeiro, porque permite o acesso dos principais à instância, mas não concede acesso a recursos nela. 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 administração de operações ou DevOps. Eles podem executar todas as ações que os desenvolvedores podem realizar (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
Um principal que tenha o papel de Leitor do Cloud Data Fusion para um namespace no RBAC pode editar os pipelines
O acesso é baseado em uma combinação de papéis do IAM e RBAC. Os papéis do IAM têm precedência em relação aos papéis do RBAC. Verifique se o principal tem papéis do IAM de Editor de projetos ou Administrador do Cloud Data Fusion.
Um principal que tem o papel de administrador de instância no RBAC não pode ver instâncias do Cloud Data Fusion no Console do Google Cloud
Há um problema conhecido no Cloud Data Fusion em que os principais com o papel de administrador de instância não podem ver instâncias no console do Google Cloud. Para corrigir o problema, conceda o Leitor do projeto ou um dos papéis do IAM do Cloud Data Fusion ao principal, além de torná-los administradores em uma instância. Isso concede ao leitor acesso ao principal a todas as instâncias do projeto.
Impedir que um principal visualize namespaces quando ele não tiver um papel
Para impedir que um principal visualize namespaces em que ele não tenha um papel, ele não pode ter o Leitor do projeto ou qualquer um dos papéis do IAM do Cloud Data Fusion. Em vez disso, conceda papéis RBAC apenas ao principal no namespace em que eles precisam operar.
O principal com esse tipo de acesso não 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 exibe uma lista de namespaces em que o principal recebe o papel do RBAC.
Conceder o papel de acessador do Cloud Data Fusion a um principal
O papel de acesso é 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 esse papel em uma instância específica, consulte o analisador de políticas do IAM.
A seguir
- Saiba como usar o RBAC no Cloud Data Fusion.