Vista geral do controlo de acesso baseado em funções (CABF)

Esta página descreve a autorização detalhada com o controlo de acesso baseado em funções (CABF) no Cloud Data Fusion.

A ativação do RBAC nas suas instâncias do Cloud Data Fusion permite-lhe controlar o acesso nas instâncias e nos espaços de nomes, como quem pode aceder aos recursos do Cloud Data Fusion e o que pode fazer com eles.

Exemplos de utilização da RBAC

O RBAC oferece isolamento ao nível do espaço de nomes numa única instância do Cloud Data Fusion. É recomendado para os seguintes exemplos de utilização:

  • Ajudar a minimizar o número de instâncias usadas pela sua organização.
  • Ter vários programadores, equipas ou unidades de negócio a usar uma única instância do Cloud Data Fusion.

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

  • Permitir que um utilizador execute apenas um pipeline num espaço de nomes, mas não modifique artefactos nem perfis de computação de tempo de execução.
  • Permitir que um utilizador apenas veja o pipeline, mas não o modifique nem o execute.
  • Permitir que um utilizador crie, implemente e execute um pipeline.

Recomendado: mesmo quando 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

  • Pode conceder uma ou várias funções a um utilizador ao nível da instância ou do espaço de nomes.
  • O RBAC só está disponível na edição Enterprise do Cloud Data Fusion.
  • Número de espaços de nomes: não existe um limite máximo para o número de espaços de nomes por instância.
  • Para o número máximo de utilizadores simultâneos numa instância com RBAC, consulte os Preços.
  • Quando usar tokens de acesso OAuth de contas de serviço para aceder a instâncias com RBAC ativado da versão 6.5, tem de especificar os seguintes âmbitos, especialmente o âmbito userinfo.email. Sem estes, vai deparar-se com 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 função consiste em três elementos: principal, definição de função e âmbito.

Principal

Atribui funções a diretores para alterar o respetivo acesso aos recursos do Cloud Data Fusion.

Definição de função

Uma função contém um conjunto de autorizações que lhe permite realizar ações específicas em Google Cloud recursos.

O Cloud Data Fusion oferece várias funções predefinidas que pode usar.

Exemplos:

  • A função de administrador da instância (datafusion.admin) permite que os responsáveis criem e eliminem espaços de nomes, bem como concedam autorizações.
  • A função de programador (datafusion.developer) permite que os diretores criem e eliminem pipelines, implementem pipelines e executem pré-visualizações.

Âmbito

O âmbito é o conjunto de recursos aos quais o acesso se aplica. Quando atribui uma função, pode limitar ainda mais as ações permitidas definindo um âmbito, como uma instância ou um espaço de nomes. Isto é útil se quiser atribuir a função de programador a alguém, mas apenas para um espaço de nomes.

Recomendações de segurança

A adoção de um modelo de segurança e a sua adaptação às necessidades e aos requisitos da sua organização podem ser desafiantes. As seguintes recomendações destinam-se a ajudar a simplificar o seu percurso de adoção do modelo RBAC do Cloud Data Fusion:

  • A função de administrador da instância deve ser concedida com cautela. Esta função permite o acesso total a uma instância e a todos os respetivos recursos subjacentes do Cloud Data Fusion. Um principal com esta função pode conceder autorizações a outros através da API REST.
  • A função de administrador da instância não deve ser concedida quando os diretores precisam de ter acesso a espaços de nomes individuais numa instância do Cloud Data Fusion. Em alternativa, atribua a função Instance Accessor com uma das funções de leitor/programador/operador/editor atribuídas a um subconjunto dos espaços de nomes.
  • É seguro atribuir primeiro a função Instance Accessor, uma vez que permite o acesso dos principais à instância, mas não concede acesso a quaisquer recursos na instância. Normalmente, esta função é usada juntamente com uma das funções Visualizador/Programador/Operador/Editor para conceder acesso a um ou a um subconjunto dos espaços de nomes numa instância.
  • Recomendamos que a função de leitor seja atribuída a utilizadores ou grupos Google que queiram usar o autosserviço para compreender o estado das tarefas em execução ou ver pipelines ou registos com instâncias do Cloud Data Fusion. Por exemplo, os consumidores de relatórios diários que gostariam de saber se o processamento foi concluído.
  • A função de programador é recomendada para programadores de ETL responsáveis por criar, testar e gerir pipelines.
  • A função de operador para um espaço de nomes é recomendada para utilizadores que fornecem serviços de administrador de operações ou DevOps. Podem realizar todas as ações que os programadores podem realizar (exceto pré-visualizar pipelines) e também implementar artefactos e gerir perfis de computação.
  • A função de editor para um espaço de nomes é uma função privilegiada que concede ao utilizador ou ao grupo Google acesso total a todos os recursos no espaço de nomes. O editor pode ser considerado a união das funções de programador e operador.
  • Os operadores e os administradores devem ter cuidado ao instalar plug-ins ou artefactos não fidedignos, uma vez que tal pode apresentar um risco de segurança.

Resolução de problemas

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

Um principal com a função de leitor do Cloud Data Fusion para um espaço de nomes no RBAC pode editar pipelines

O acesso baseia-se numa combinação de funções do IAM e do CABF. As funções IAM têm precedência sobre as funções CABF. Verifique se o principal tem as funções do IAM de Editor do projeto ou Administrador do Cloud Data Fusion.

Um principal que tenha a função de administrador da instância no RBAC não pode ver instâncias do Cloud Data Fusion na Google Cloud consola

Existe um problema conhecido no Cloud Data Fusion em que os responsáveis com a função de administrador da instância não conseguem ver instâncias na Google Cloud consola. Para corrigir o problema, conceda ao principal a função de Visualizador de projetos ou uma das funções do IAM do Cloud Data Fusion, além de o tornar administrador de uma instância. Isto concede acesso de leitor ao principal para todas as instâncias no projeto.

Impedir que um principal veja espaços de nomes nos quais não tem uma função

Para impedir que um principal veja espaços de nomes nos quais não tem uma função, este não pode ter a função de Visualizador de projetos nem nenhuma das funções de IAM do Cloud Data Fusion. Em alternativa, conceda apenas funções de RBAC ao principal no espaço de nomes onde precisa de operar.

O principal com este tipo de acesso não vê a lista de instâncias do Cloud Data Fusion na Google Cloud consola. Em alternativa, envie-lhes 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 apresenta uma lista de namespaces onde o principal tem uma função RBAC concedida.

Conceda a função de acessor do Cloud Data Fusion a um principal

A função de Accessor é atribuída implicitamente a um principal quando lhe é atribuída qualquer outra função de RBAC para qualquer instância do Cloud Data Fusion. Para verificar se um principal tem essa função numa instância específica, consulte o analisador de políticas de IAM.

O que se segue?