Funções IAM do Dataplex Universal Catalog

A gestão de identidade e de acesso (IAM) permite-lhe controlar quem pode fazer o quê no Dataplex Universal Catalog. Pode adotar o princípio de segurança do menor privilégio para proteger dados privados, evitar o acesso não autorizado, reduzir a superfície de ataque ou cumprir a conformidade regulamentar.

O catálogo universal do Dataplex oferece várias funções da IAM predefinidas, cada uma com um conjunto específico de autorizações que permite aos utilizadores realizar ações. Pode conceder estas funções através de uma política de IAM.

Para um controlo mais detalhado, pode criar uma função de IAM personalizada escolhendo autorizações específicas e atribuindo essa nova função aos utilizadores. As funções personalizadas permitem-lhe criar um modelo de acesso que corresponda às necessidades da sua organização.

Este documento descreve as funções de IAM predefinidas e personalizadas relevantes para o Dataplex Universal Catalog.

Para uma descrição detalhada do IAM e das respetivas funcionalidades, consulte a documentação do IAM.

Acerca das funções do Dataplex Universal Catalog

As funções de IAM do Dataplex Universal Catalog são um conjunto de uma ou mais autorizações. Concede funções a responsáveis para lhes permitir realizar ações nos recursos do Dataplex Universal Catalog no seu projeto. Por exemplo, a função Dataplex Viewer contém as autorizações dataplex.*.get e dataplex.*.list, que permitem aos utilizadores obter e listar recursos do Dataplex Universal Catalog num projeto. Para mais informações, consulte o artigo Autorizações do Dataplex Universal Catalog.

Pode aplicar funções do Dataplex Universal Catalog a quaisquer recursos na hierarquia do serviço, incluindo projetos, lagos e zonas de dados.

Funções básicas

Pode atribuir funções básicas ao nível do projeto através das funções de projeto do IAM. Segue-se a lista de autorizações associadas às funções do projeto do IAM:

Função do projeto Autorizações
Proprietário do projeto Todas as autorizações de editor do projeto, além das autorizações para gerir o controlo de acesso do projeto (get/set IamPolicy) e configurar a faturação do projeto
Editor de projeto Todas as autorizações de visualizador de projetos, além de todas as autorizações de projetos para ações que modificam o estado (criar, eliminar, atualizar, usar)
Visualizador de projetos Todas as autorizações do projeto para ações só de leitura que preservam o estado (get e list)

Funções predefinidas para o Dataplex Universal Catalog

As funções predefinidas contêm as autorizações necessárias para realizar uma tarefa ou um grupo de tarefas relacionadas.

Tenha em conta o seguinte:

  • Se estiver a usar o Data Catalog, as concessões de acesso às entradas do Data Catalog não são transferidas automaticamente para as entradas do Dataplex Universal Catalog. Tem de conceder explicitamente acesso às entradas do catálogo universal do Dataplex antes de as usar.
  • As funções de administrador, editor e leitor do Dataplex não dão acesso a recursos de metadados, como grupos de entradas, tipos de entradas, tipos de aspetos e entradas.
  • Nenhuma função concede autorizações para adicionar ou eliminar entradas do catálogo universal do Dataplex de grupos de entradas definidos pelo sistema, como @bigquery e @dataplex.
  • A função de proprietário da entrada e do EntryLink do Dataplex inclui o seguinte:
    • Concede acesso total a operações relacionadas com entradas.
    • Concede autorizações para adicionar aspetos de alguns dos tipos de aspetos do sistema, como Schema, Generic, Overview e Contacts.
    • Concede autorizações para criar entradas do tipo GenericEntry.
    • Esta função permite-lhe criar uma entrada com um tipo de entrada e um tipo de aspeto, em que o tipo de entrada e o tipo de aspeto são definidos no mesmo projeto que a entrada. Caso contrário, têm de ser concedidas funções adicionais de utilizador do tipo de entrada do Dataplex e utilizador do tipo de aspeto do Dataplex nos projetos onde o tipo de entrada e o tipo de aspeto estão definidos.
    • Quando usa o método LookupEntry ou o método SearchEntries, esta função não concede autorizações para ler entradas criadas a partir de recursosGoogle Cloud fora do catálogo universal do Dataplex, como entradas do BigQuery. Para ler estas entradas, tem de ter autorizações concedidas nos recursos do sistema de origem. Em alternativa, pode ler as entradas com apenas a função de proprietário da entrada e do EntryLink do Dataplex através do método GetEntry.
  • Para ver os aspetos dos dados anexados a uma entrada, precisa de autorizações para ler dados do recurso de origem que a entrada representa, além de autorizações para ver a entrada. Se tiver autorização para ver uma entrada, mas não tiver autorizações de leitura de dados para o recurso de origem, pode continuar a ver todos os outros metadados na entrada, mas o catálogo universal do Dataplex oculta o conteúdo de todos os aspetos de dados anexados.

As funções de administrador do catálogo do Dataplex e editor do catálogo do Dataplex concedem autorizações necessárias para visualização em entradas personalizadas.

  • Para pesquisar entradas através do método SearchEntries, tem de lhe ser concedido, pelo menos, um dos seguintes papéis do IAM no projeto que é usado no pedido da API: administrador do catálogo do Dataplex, editor do catálogo do Dataplex ou visualizador do catálogo do Dataplex. As autorizações nos resultados da pesquisa são verificadas independentemente do projeto selecionado.

A tabela seguinte lista as funções predefinidas do catálogo universal do Dataplex e as autorizações associadas a cada função.

Role Permissions

(roles/dataplex.admin)

Full access to Dataplex Universal Catalog resources, except for catalog resources like entries and entry groups.

cloudasset.assets.analyzeIamPolicy

cloudasset.assets.searchAllIamPolicies

cloudasset.assets.searchAllResources

dataplex.assetActions.list

dataplex.assets.create

dataplex.assets.delete

dataplex.assets.get

dataplex.assets.getIamPolicy

dataplex.assets.list

dataplex.assets.setIamPolicy

dataplex.assets.update

dataplex.changeRequests.*

  • dataplex.changeRequests.adminDelete
  • dataplex.changeRequests.delete
  • dataplex.changeRequests.get
  • dataplex.changeRequests.getIamPolicy
  • dataplex.changeRequests.list
  • dataplex.changeRequests.setIamPolicy
  • dataplex.changeRequests.update
  • dataplex.changeRequests.use

dataplex.content.*

  • dataplex.content.create
  • dataplex.content.delete
  • dataplex.content.get
  • dataplex.content.getIamPolicy
  • dataplex.content.list
  • dataplex.content.setIamPolicy
  • dataplex.content.update

dataplex.dataAssets.*

  • dataplex.dataAssets.create
  • dataplex.dataAssets.delete
  • dataplex.dataAssets.get
  • dataplex.dataAssets.list
  • dataplex.dataAssets.update

dataplex.dataAttributeBindings.*

  • dataplex.dataAttributeBindings.create
  • dataplex.dataAttributeBindings.delete
  • dataplex.dataAttributeBindings.get
  • dataplex.dataAttributeBindings.getIamPolicy
  • dataplex.dataAttributeBindings.list
  • dataplex.dataAttributeBindings.setIamPolicy
  • dataplex.dataAttributeBindings.update

dataplex.dataAttributes.*

  • dataplex.dataAttributes.bind
  • dataplex.dataAttributes.create
  • dataplex.dataAttributes.delete
  • dataplex.dataAttributes.get
  • dataplex.dataAttributes.getIamPolicy
  • dataplex.dataAttributes.list
  • dataplex.dataAttributes.setIamPolicy
  • dataplex.dataAttributes.update

dataplex.dataDomainBindings.*

  • dataplex.dataDomainBindings.create
  • dataplex.dataDomainBindings.delete
  • dataplex.dataDomainBindings.get
  • dataplex.dataDomainBindings.list

dataplex.dataDomains.*

  • dataplex.dataDomains.create
  • dataplex.dataDomains.delete
  • dataplex.dataDomains.discover
  • dataplex.dataDomains.get
  • dataplex.dataDomains.getIamPolicy
  • dataplex.dataDomains.list
  • dataplex.dataDomains.lookupEntry
  • dataplex.dataDomains.modifyEntry
  • dataplex.dataDomains.setIamPolicy
  • dataplex.dataDomains.update

dataplex.dataProducts.*

  • dataplex.dataProducts.approve
  • dataplex.dataProducts.create
  • dataplex.dataProducts.delete
  • dataplex.dataProducts.get
  • dataplex.dataProducts.getIamPolicy
  • dataplex.dataProducts.list
  • dataplex.dataProducts.setIamPolicy
  • dataplex.dataProducts.update

dataplex.dataTaxonomies.*

  • dataplex.dataTaxonomies.configureDataAccess
  • dataplex.dataTaxonomies.configureResourceAccess
  • dataplex.dataTaxonomies.create
  • dataplex.dataTaxonomies.delete
  • dataplex.dataTaxonomies.get
  • dataplex.dataTaxonomies.getIamPolicy
  • dataplex.dataTaxonomies.list
  • dataplex.dataTaxonomies.setIamPolicy
  • dataplex.dataTaxonomies.update

dataplex.datascans.*

  • dataplex.datascans.cancel
  • dataplex.datascans.create
  • dataplex.datascans.delete
  • dataplex.datascans.get
  • dataplex.datascans.getData
  • dataplex.datascans.getIamPolicy
  • dataplex.datascans.list
  • dataplex.datascans.run
  • dataplex.datascans.setIamPolicy
  • dataplex.datascans.update

dataplex.entities.*

  • dataplex.entities.create
  • dataplex.entities.delete
  • dataplex.entities.get
  • dataplex.entities.list
  • dataplex.entities.update

dataplex.entries.link

dataplex.entryGroups.createTagBinding

dataplex.entryGroups.deleteTagBinding

dataplex.entryGroups.export

dataplex.entryGroups.import

dataplex.entryGroups.listEffectiveTags

dataplex.entryGroups.listTagBindings

dataplex.entryGroups.requestChanges

dataplex.entryGroups.useContextEntryLink

dataplex.entryGroups.useDefinitionEntryLink

dataplex.entryGroups.useRelatedEntryLink

dataplex.entryGroups.useSchemaJoinEntryLink

dataplex.entryGroups.useSynonymEntryLink

dataplex.entryLinks.*

  • dataplex.entryLinks.create
  • dataplex.entryLinks.delete
  • dataplex.entryLinks.get
  • dataplex.entryLinks.reference
  • dataplex.entryLinks.update

dataplex.entryTypes.createTagBinding

dataplex.entryTypes.deleteTagBinding

dataplex.entryTypes.listEffectiveTags

dataplex.entryTypes.listTagBindings

dataplex.environments.*

  • dataplex.environments.create
  • dataplex.environments.delete
  • dataplex.environments.execute
  • dataplex.environments.get
  • dataplex.environments.getIamPolicy
  • dataplex.environments.list
  • dataplex.environments.setIamPolicy
  • dataplex.environments.update

dataplex.glossaries.*

  • dataplex.glossaries.create
  • dataplex.glossaries.delete
  • dataplex.glossaries.get
  • dataplex.glossaries.getIamPolicy
  • dataplex.glossaries.import
  • dataplex.glossaries.list
  • dataplex.glossaries.requestChanges
  • dataplex.glossaries.setIamPolicy
  • dataplex.glossaries.update

dataplex.glossaryCategories.*

  • dataplex.glossaryCategories.create
  • dataplex.glossaryCategories.delete
  • dataplex.glossaryCategories.get
  • dataplex.glossaryCategories.list
  • dataplex.glossaryCategories.update

dataplex.glossaryTerms.*

  • dataplex.glossaryTerms.create
  • dataplex.glossaryTerms.delete
  • dataplex.glossaryTerms.get
  • dataplex.glossaryTerms.list
  • dataplex.glossaryTerms.update
  • dataplex.glossaryTerms.use

dataplex.governanceRules.*

  • dataplex.governanceRules.createTagBinding
  • dataplex.governanceRules.deleteTagBinding
  • dataplex.governanceRules.listEffectiveTags
  • dataplex.governanceRules.listTagBindings

dataplex.lakeActions.list

dataplex.lakes.*

  • dataplex.lakes.create
  • dataplex.lakes.delete
  • dataplex.lakes.get
  • dataplex.lakes.getIamPolicy
  • dataplex.lakes.list
  • dataplex.lakes.setIamPolicy
  • dataplex.lakes.update

dataplex.locations.*

  • dataplex.locations.get
  • dataplex.locations.list

dataplex.metadataFeeds.*

  • dataplex.metadataFeeds.create
  • dataplex.metadataFeeds.delete
  • dataplex.metadataFeeds.get
  • dataplex.metadataFeeds.list
  • dataplex.metadataFeeds.update

dataplex.metadataJobs.*

  • dataplex.metadataJobs.cancel
  • dataplex.metadataJobs.create
  • dataplex.metadataJobs.get
  • dataplex.metadataJobs.list

dataplex.operations.*

  • dataplex.operations.cancel
  • dataplex.operations.delete
  • dataplex.operations.get
  • dataplex.operations.list

dataplex.partitions.*

  • dataplex.partitions.create
  • dataplex.partitions.delete
  • dataplex.partitions.get
  • dataplex.partitions.list
  • dataplex.partitions.update

dataplex.tasks.*

  • dataplex.tasks.cancel
  • dataplex.tasks.create
  • dataplex.tasks.delete
  • dataplex.tasks.get
  • dataplex.tasks.getIamPolicy
  • dataplex.tasks.list
  • dataplex.tasks.run
  • dataplex.tasks.setIamPolicy
  • dataplex.tasks.update

dataplex.zoneActions.list

dataplex.zones.*

  • dataplex.zones.create
  • dataplex.zones.delete
  • dataplex.zones.get
  • dataplex.zones.getIamPolicy
  • dataplex.zones.list
  • dataplex.zones.setIamPolicy
  • dataplex.zones.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/dataplex.dataScanAdmin)

Full access to DataScan resources.

dataplex.datascans.*

  • dataplex.datascans.cancel
  • dataplex.datascans.create
  • dataplex.datascans.delete
  • dataplex.datascans.get
  • dataplex.datascans.getData
  • dataplex.datascans.getIamPolicy
  • dataplex.datascans.list
  • dataplex.datascans.run
  • dataplex.datascans.setIamPolicy
  • dataplex.datascans.update

dataplex.operations.get

dataplex.operations.list

(roles/dataplex.editor)

Write access to Dataplex Universal Catalog resources, except for catalog resources like entries, entry groups, and glossaries.

cloudasset.assets.analyzeIamPolicy

dataplex.assetActions.list

dataplex.assets.create

dataplex.assets.delete

dataplex.assets.get

dataplex.assets.getIamPolicy

dataplex.assets.list

dataplex.assets.update

dataplex.content.delete

dataplex.content.get

dataplex.content.getIamPolicy

dataplex.content.list

dataplex.dataAssets.*

  • dataplex.dataAssets.create
  • dataplex.dataAssets.delete
  • dataplex.dataAssets.get
  • dataplex.dataAssets.list
  • dataplex.dataAssets.update

dataplex.dataAttributeBindings.create

dataplex.dataAttributeBindings.delete

dataplex.dataAttributeBindings.get

dataplex.dataAttributeBindings.getIamPolicy

dataplex.dataAttributeBindings.list

dataplex.dataAttributeBindings.update

dataplex.dataAttributes.bind

dataplex.dataAttributes.create

dataplex.dataAttributes.delete

dataplex.dataAttributes.get

dataplex.dataAttributes.getIamPolicy

dataplex.dataAttributes.list

dataplex.dataAttributes.update

dataplex.dataProducts.approve

dataplex.dataProducts.create

dataplex.dataProducts.delete

dataplex.dataProducts.get

dataplex.dataProducts.getIamPolicy

dataplex.dataProducts.list

dataplex.dataProducts.update

dataplex.dataTaxonomies.configureDataAccess

dataplex.dataTaxonomies.configureResourceAccess

dataplex.dataTaxonomies.create

dataplex.dataTaxonomies.delete

dataplex.dataTaxonomies.get

dataplex.dataTaxonomies.getIamPolicy

dataplex.dataTaxonomies.list

dataplex.dataTaxonomies.update

dataplex.datascans.cancel

dataplex.datascans.create

dataplex.datascans.delete

dataplex.datascans.get

dataplex.datascans.getIamPolicy

dataplex.datascans.list

dataplex.datascans.run

dataplex.datascans.update

dataplex.environments.create

dataplex.environments.delete

dataplex.environments.get

dataplex.environments.getIamPolicy

dataplex.environments.list

dataplex.environments.update

dataplex.lakeActions.list

dataplex.lakes.create

dataplex.lakes.delete

dataplex.lakes.get

dataplex.lakes.getIamPolicy

dataplex.lakes.list

dataplex.lakes.update

dataplex.operations.*

  • dataplex.operations.cancel
  • dataplex.operations.delete
  • dataplex.operations.get
  • dataplex.operations.list

dataplex.tasks.cancel

dataplex.tasks.create

dataplex.tasks.delete

dataplex.tasks.get

dataplex.tasks.getIamPolicy

dataplex.tasks.list

dataplex.tasks.run

dataplex.tasks.update

dataplex.zoneActions.list

dataplex.zones.create

dataplex.zones.delete

dataplex.zones.get

dataplex.zones.getIamPolicy

dataplex.zones.list

dataplex.zones.update