Gerenciar o acesso com o IAM

Neste documento, explicamos como usar o Identity and Access Management (IAM) para gerenciar o controle de acesso aos recursos do Knowledge Catalog (antigo Dataplex Universal Catalog). O IAM controla o acesso aos recursos do Knowledge Catalog no nível do recurso Google Cloud . Ele permite controlar quais principais podem gerenciar recursos específicos, como grupos de entradas e entradas, usando o console do Google Cloud , a Google Cloud CLI, as bibliotecas de cliente ou as APIs.

Para mais informações sobre o IAM, consulte a documentação do IAM.

Visão geral do IAM

Quando você cria um projeto do Google Cloud , o criador original recebe o papel de Proprietário (roles/owner). Outras contas de serviço gerenciado pelo Google podem existir ou ser criadas quando você ativa uma API para realizar tarefas específicas. No entanto, nenhum outro usuário individual tem acesso ao projeto e aos recursos dele, incluindo os recursos do Knowledge Catalog. Você concede esse acesso somente quando adiciona explicitamente usuários como membros do projeto ou concede a eles papéis em recursos específicos.

Com o IAM, você concede acesso granular a recursos específicos do Google Cloud e impede o acesso indesejado a outros recursos. O IAM permite que você adote o princípio de privilégio mínimo de segurança concedendo apenas o acesso necessário aos recursos.

O IAM permite controlar quem (principais) tem qual acesso (papéis) a quais recursos.

Principal

Um principal pode ser uma Conta do Google (para usuários finais), uma conta de serviço (para apps e máquinas virtuais), um Grupo do Google ou um domínio do Google Workspace ou do Cloud Identity. Esses principais podem acessar um recurso. Ao conceder papéis, você identifica o principal usando um identificador, conforme descrito em Referência de vinculação de política.

Para mais informações, consulte Visão geral do IAM: principais.

O agente de serviço

O Knowledge Catalog usa uma conta de serviço gerenciada pelo Google Cloud , um agente de serviço, para acessar seus recursos. Os agentes de serviço são contas de serviço gerenciadas pelo Google que permitem que os serviços do Google Cloud acessem recursos no seu projeto. Isso é diferente das contas de serviço gerenciado pelo usuário, que você cria e usa para representar seus aplicativos ou cargas de trabalho.

O agente de serviço é criado quando você ativa a API Dataplex. É possível identificar o agente de serviço pelo ID de e-mail:

service-CUSTOMER_PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com

Aqui, CUSTOMER_PROJECT_NUMBER é o número do projeto em que você ativou a API Dataplex.

O agente de serviço requer o papel Agente de serviço do Dataplex (roles/dataplex.serviceAgent) no projeto para gerenciar os recursos do Knowledge Catalog. Quando você ativa a API, o sistema concede esse papel automaticamente. Se você revogar esse papel, o Knowledge Catalog pode não funcionar corretamente.

Se o Knowledge Catalog precisar acessar recursos em outros projetos (por exemplo, buckets do Cloud Storage ou conjuntos de dados do BigQuery que você quer anexar como recursos ou verificar perfis de dados), conceda a esse agente de serviço as permissões necessárias nos projetos que contêm esses recursos.

Para mais informações sobre como conceder permissões ao agente de serviço para anexar recursos, consulte Gerenciar recursos de dados.

Para mais informações sobre como conceder permissões ao agente de serviço para geração de perfis de dados, consulte Criar e usar verificações do perfil de dados.

Identidade de execução para verificações de dados

Por padrão, o Knowledge Catalog usa o agente de serviço para executar as verificações de qualidade e perfil de dados. No entanto, é possível modificar esse comportamento e executar verificações usando uma conta de serviço personalizada ou suas próprias credenciais de usuário final (EUC, na sigla em inglês).

Se você especificar uma conta de serviço personalizada para a identidade de execução da verificação, o agente de serviço vai precisar do papel de Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator) (ou da permissão iam.serviceAccounts.getAccessToken) na conta de serviço de destino para personificá-la e executar o job. Para mais detalhes, consulte a documentação de identidade de execução para qualidade de dados e criação de perfil de dados.

Recurso

Os recursos que podem receber acesso no Knowledge Catalog incluem projetos, grupos de entradas, entradas, links de entradas, tipos de aspectos, tipos de entradas e tipos de links de entradas.

Alguns métodos de API exigem permissões para vários recursos. Por exemplo, anexar um aspecto a uma entrada requer permissões na entrada e no tipo de aspecto.

Papel

Um papel é um conjunto de permissões que determinam quais operações um principal pode realizar em um recurso. Ao conceder um papel a um principal, você concede todas as permissões contidas nele.

É possível conceder um ou mais papéis a um principal.

Assim como outros produtos do Google Cloud , o Knowledge Catalog aceita três tipos de papéis:

  • Papéis básicos:papéis altamente permissivos (proprietário, editor, leitor) que existiam antes da introdução do IAM. Para mais informações sobre papéis básicos, consulte Papéis básicos.

  • Papéis predefinidos:fornecem acesso granular a recursos específicos do Google Cloud. Para mais informações sobre papéis predefinidos, consulte Papéis predefinidos. A documentação de papéis do IAM do Knowledge Catalog detalha os papéis predefinidos do Knowledge Catalog.

  • Papéis personalizados:ajudam a aplicar o princípio de privilégio mínimo ao conceder apenas as permissões específicas necessárias. Para mais informações sobre papéis personalizados, consulte Papéis personalizados.

Por exemplo, o papel predefinido Leitor do Dataplex (roles/dataplex.viewer) fornece acesso somente leitura aos recursos do Knowledge Catalog. Um principal com esse papel pode visualizar grupos de entrada, entradas, links de entrada, tipos de aspecto, tipos de entrada e tipos de link de entrada, mas não pode criá-los, atualizá-los ou excluí-los. Por outro lado, o Administrador do Dataplex (roles/dataplex.admin) concede acesso amplo para gerenciar recursos do Knowledge Catalog.

Para mais informações sobre como atribuir papéis, consulte Como conceder, alterar e revogar acesso.

Para determinar quais permissões são necessárias para uma tarefa específica, consulte as páginas de referência de papéis do Knowledge Catalog e permissões do Knowledge Catalog.

Por exemplo, para um recurso de projeto, é possível atribuir o papel de Administrador do Dataplex (roles/dataplex.admin) a uma Conta do Google. Essa conta pode gerenciar recursos do Knowledge Catalog no projeto, mas não pode gerenciar outros recursos. Também é possível usar o IAM para gerenciar os papéis básicos concedidos aos membros da equipe do projeto.

Políticas de IAM para recursos

Uma política do IAM permite gerenciar papéis do IAM em recursos em vez de, ou além de, gerenciar papéis no nível do projeto. Isso oferece flexibilidade para aplicar o princípio de privilégio mínimo, concedendo acesso apenas aos recursos específicos que os colaboradores precisam para o trabalho.

Os recursos herdam as políticas dos recursos pai. Se você definir uma política no nível do projeto, todos os recursos filhos vão herdá-la. A política efetiva de um recurso é a união da política definida nele com a política herdada de níveis superiores na hierarquia. Para mais informações, consulte a hierarquia de políticas do IAM.

É possível receber e definir políticas do IAM usando o console do Google Cloud , a API Identity and Access Management ou a CLI gcloud.

A seguir