Neste documento, descrevemos os papéis do Identity and Access Management (IAM) que permitem aos usuários usar o Data Catalog para pesquisar e incluir tags em recursos do Google Cloud.
Terminologia do IAM
- Permissões
- Verificado no ambiente de execução para permitir que os usuários realizem uma operação ou acessem um recurso do Google Cloud. Os usuários não recebem permissões diretamente, mas recebem papeis que contêm permissões.
- Papel
- Uma função é um conjunto predefinido de permissões. Papéis personalizados que consistem em uma coleção personalizada de permissões também são permitidos.
Conferir funções do Data Catalog
No console do Google Cloud, siga estas etapas:
Acesse a página IAM e administrador > Papéis.
No campo Filtro, selecione Usado em, digite
Data Catalog
ouData Lineage
e clique em Enter.Clique em um papel para ver as permissões dele no painel à direita.
Por exemplo, o papel Administrador do Data Catalog tem acesso total a todos os recursos do Data Catalog.
Papéis predefinidos do Data Catalog
Alguns papéis predefinidos do Data Catalog incluem Administrador do Data Catalog, Visualizador do Data Catalog e Criador de TagTemplate do Data Catalog. Alguns desses papéis são descritos nas seções subsequentes.
Para ver uma lista e descrição dos papéis predefinidos do Data Catalog e as permissões associadas a cada um deles, consulte Papéis do Data Catalog.
Papel de administrador do Data Catalog
O papel roles/datacatalog.admin
tem acesso a todos os recursos do Data Catalog. Um administrador do Data Catalog pode adicionar diferentes tipos de usuários a um projeto do Data Catalog.
Papel Administrador de dados do DataCatalog
O papel roles/datacatalog.dataSteward
permite adicionar, editar ou excluir os administradores de dados e a visão geral de rich text de uma entrada de dados, como uma tabela do BigQuery.
Papel do Visualizador do Data Catalog
Para simplificar o acesso aos recursos do Google Cloud,
o Data Catalog fornece o papel roles/datacatalog.viewer
com
permissão de leitura de metadados para todos os recursos catalogados do Google Cloud.
Esse papel também concede permissões para visualizar modelos e tags de tag do Data Catalog.
Conceda o papel de Leitor do Data Catalog no seu projeto para permitir que os usuários visualizem os recursos do Google Cloud no Data Catalog.
Função criador de catálogo de dados do TagTemplate
O papel roles/datacatalog.tagTemplateCreator
permite que os usuários criem modelos de tag.
Papel de administrador de pesquisa do DataCatalog
O papel roles/datacatalog.searchAdmin
permite que os usuários recuperem, por meio de pesquisa,
todos os recursos catalogados do Google Cloud em um projeto ou uma organização.
Papéis de linhagem de dados predefinidos
Para acessar o gráfico de linhagem de qualquer entrada do Data Catalog, o usuário precisa ter acesso à entrada no Data Catalog. Para acessar a entrada do Data Catalog, o usuário precisa de um papel de leitor no recurso do sistema correspondente ou de visualizador do Data Catalog (roles/datacatalog.viewer
) no projeto que armazena a entrada do Data Catalog. Nesta seção, descrevemos os papéis necessários para visualizar e manipular o gráfico de linhagem.
Papel de leitor de linhagem
O papel Leitor da linhagem de dados (roles/datalineage.viewer
) permite que os usuários visualizem os gráficos de linhagem do Dataplex no console do Google Cloud e leiam informações de linhagem usando a API Data Lineage. As execuções e os eventos de um determinado processo são armazenados no mesmo projeto. No caso da linhagem automatizada, o processo, as execuções e os eventos são armazenados no projeto em que o job que gerou a linhagem estava sendo executado. Por exemplo, o projeto em que um job do BigQuery estava sendo executado.
Você precisa de papéis diferentes para visualizar a linhagem entre os recursos no gráfico e os metadados dos recursos. Para o primeiro, você precisa do Leitor da linhagem de dados (roles/datalineage.viewer
). Para o segundo, você precisa das mesmas funções usadas para acessar as entradas de metadados no Data Catalog. As duas subseções a seguir fornecem mais detalhes.
Papéis para conferir a linhagem entre dois recursos
Para conferir a linhagem entre recursos no gráfico de linhagem, o usuário precisa do Leitor de linhagem de dados (roles/datalineage.viewer
) nos seguintes projetos:
- O projeto de origem do usuário (conhecido como projeto ativo), que é o projeto no menu suspenso na parte de cima do console do Google Cloud ou em que as chamadas de API são feitas. Em geral, ele é o projeto de recursos do Data Catalog.
- Os projetos em que a linhagem é registrada (conhecidos como projeto de computação). A linhagem é armazenada no projeto em que o processo correspondente foi executado, conforme descrito acima. Esse projeto pode ser diferente daquele que armazena o recurso relacionado à linhagem que o usuário está visualizando.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso. Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Dependendo do caso de uso,é necessário conceder o papel Leitor de linhagem de dados (roles/datalineage.viewer
) no nível da pasta ou da organização para garantir que o usuário tenha acesso ao gráfico de linhagem completo. Consulte Conceder ou revogar um único papel. Os papéis necessários para a linhagem de dados só podem ser concedidos pela Google Cloud CLI.
Papéis para visualizar metadados de recursos no gráfico de linhagem
Quando os metadados sobre um recurso no gráfico são armazenados no Data Catalog, o usuário só consegue visualizá-los se tiver um papel de leitor no recurso do sistema correspondente ou no Leitor do Data Catalog (roles/datacatalog.viewer
) no projeto em que a entrada do Data Catalog está armazenada.
O acesso aos metadados dos recursos no gráfico é independente do acesso à linhagem. O usuário pode ter acesso aos recursos no gráfico por meio dos papéis apropriados de visualizador, mas não pode acessar a linhagem entre eles. Isso acontece quando o usuário não tem o recurso Leitor da linhagem de dados (roles/datalineage.viewer
) no projeto em que a linhagem foi registrada. Nesse caso, a UI e a API Data Lineage não vão mostrar a linhagem nem retornar erros para evitar o vazamento de informações sobre a existência dela. Portanto, a ausência de linhagem para um recurso não significa que não haja linhagem para esse recurso. O usuário pode não ter acesso a essa linhagem.
Papel de produtor de eventos de linhagem de dados
O papel roles/datalineage.producer
permite que os usuários registrem manualmente as informações de linhagem usando a API de linhagem de dados.
Papel Editor da linhagem de dados
O papel roles/datalineage.editor
permite que os usuários modifiquem manualmente as informações de linhagem
usando a API de linhagem de dados.
Papel de administrador da linhagem de dados
O papel roles/datalineage.admin
permite que os usuários executem todas as operações de linhagem listadas nesta seção.
Papéis para visualizar tags públicas e privadas
Você pode pesquisar tags públicas usando a pesquisa simples. É possível visualizar uma entrada de dados, incluindo as tags públicas dela, desde que você tenha as permissões necessárias para visualizar a entrada de dados. Nenhuma permissão adicional é necessária no modelo de tag. Confira na tabela nesta seção as permissões necessárias para visualizar a entrada de dados.
No entanto, recomendamos também conceder a permissão datacatalog.tagTemplates.get
aos usuários que devem pesquisar essas tags públicas. Essa permissão possibilita que os usuários também usem o predicado de pesquisa tag: ou o atributo de pesquisa do modelo de tag na página de pesquisa do Data Catalog.
No caso de tags particulares, você precisa ter permissões de visualização no modelo de tag e na entrada de dados para procurar a tag e vê-la na página de detalhes da entrada. Os usuários precisam usar o predicado de pesquisa tag: ou o atributo de pesquisa do modelo de tag para encontrar as tags. A pesquisa simples de tags particulares não é compatível.
Observações:
A permissão de visualização necessária no modelo de tag particular é
datacatalog.tagTemplates.getTag
.As permissões de visualização na entrada de dados para tags públicas e privadas estão incluídas na tabela a seguir.
Recurso | Permissão | Papel |
---|---|---|
Conjuntos de dados, tabelas, modelos, rotinas e conexões do BigQuery | bigquery.datasets.get bigquery.tables.get bigquery.models.getMetadata bigquery.routines.get bigquery.connections.get |
roles/datacatalog.tagTemplateViewer roles/bigquery.metadataViewer roles/bigquery.connectionUser |
Tópicos do Pub/Sub | pubsub.topics.get |
roles/datacatalog.tagTemplateViewer roles/pubsub.viewer |
Instâncias, bancos de dados, tabelas e visualizações do Spanner | Instance: spanner.instances.get Database:spanner.databases.get Table: spanner.databases.get Views: spanner.databases.get datacatalog.tagTemplates.getTag |
Não há papéis predefinidos disponíveis. |
Instâncias e tabelas do Bigtable | bigtable.instances.get bigtable.tables.get datacatalog.tagTemplates.getTag |
roles/datacatalog.tagTemplateViewer roles/bigtable.viewer |
Serviços, bancos de dados e tabelas do Dataproc Metastore | metastore.tables.get metastore.databases.get metastore.services.get |
roles/datacatalog.tagTemplateViewer roles/metastore.metadataViewer |
Entradas personalizadas | datacatalog.entries.get |
Não há papéis predefinidos disponíveis. |
Papéis para pesquisar recursos do Google Cloud
Antes de pesquisar, descobrir ou exibir recursos do Google Cloud, o Data Catalog verifica se o usuário recebeu uma função do IAM com as permissões de leitura de metadados exigidas pelo BigQuery, o Pub/Sub, o Dataproc Metastore ou outro sistema de origem para acessar o recurso.
Exemplo: o Data Catalog verifica se o usuário recebeu uma função com bigquery.tables.get permission
antes de exibir os metadados da tabela do BigQuery.
A tabela a seguir lista as permissões e os papéis associados necessários para que um usuário use o Data Catalog para pesquisar os recursos listados do Google Cloud.
Recurso | Permissão | Papel |
---|---|---|
Conjuntos de dados, tabelas, modelos, rotinas e conexões do BigQuery | bigquery.datasets.get bigquery.tables.get bigquery.models.getMetadata bigquery.routines.get bigquery.connections.get |
roles/bigquery.metadataViewer roles/bigquery.connectionUser Confira também Papel de leitor do Data Catalog |
Tópicos do Pub/Sub | pubsub.topics.get |
roles/pubsub.viewer Consulte também o papel de leitor do Data Catalog |
Bancos de dados e tabelas do Spanner | Instância: spanner.instances.get Banco de dados: spanner.databases.get Visualizações: spanner.databases.get |
Não há papéis predefinidos disponíveis. |
Instâncias e tabelas do Bigtable | bigtable.instances.get bigtable.tables.get |
roles/bigtable.viewer Consulte também o papel de leitor do Data Catalog |
Lakes, zonas, tabelas e conjuntos de arquivos do Dataplex | dataplex.lakes.get dataplex.zones.get dataplex.entities.get dataplex.entities.get |
Não há papéis predefinidos disponíveis. |
Serviços, bancos de dados e tabelas do Dataproc Metastore | metastore.tables.get metastore.databases.get metastore.services.get |
roles/metastore.metadataViewer |
Papéis para anexar tags aos recursos do Google Cloud
Para anexar tags públicas e privadas aos recursos do Google Cloud, é preciso ter as mesmas permissões.
O Data Catalog permite que os usuários estendam os metadados nos recursos do Google Cloud anexando tags. Uma ou mais tags que podem ser anexadas a um recurso são definidas em um modelo de tag.
Quando um usuário tenta usar o modelo de tag para anexar uma tag a um recurso do Google Cloud, o Data Catalog verifica se o usuário tem as permissões necessárias para usar o modelo de tag e atualizar os metadados do recurso. As permissões são concedidas por meio de papéis do IAM, conforme mostrado na tabela a seguir.
A tabela a seguir lista as permissões e os papéis associados necessários para que um usuário use o Data Catalog para anexar tags públicas e privadas aos recursos listados do Google Cloud.
Cada linha na tabela a seguir lista as permissões necessárias para marcar recursos. Os papéis correspondentes podem conceder permissões adicionais. Clique em cada papel para ver todas as permissões associadas a ele.
Observações:
O proprietário de uma entrada de dados tem a permissão
datacatalog.entries.updateTag
por padrão. Todos os outros usuários precisam receber o papel datacatalog.tagEditor.A permissão
datacatalog.tagTemplates.use
também é obrigatória para todos os recursos listados na tabela.
Recurso | Permissões | Papel |
---|---|---|
Conjuntos de dados, tabelas, modelos, rotinas e conexões do BigQuery |
bigquery.datasets.updateTag bigquery.tables.updateTag bigquery.models.updateTag bigquery.routines.updateTag bigquery.connections.updateTag |
roles/datacatalog.tagTemplateUser roles/datacatalog.tagEditor roles/bigquery.dataEditor |
Tópicos do Pub/Sub | pubsub.topics.updateTag |
roles/datacatalog.tagTemplateUser roles/datacatalog.tagEditor roles/pubsub.editor |
Bancos de dados e tabelas do Spanner. | Instância: spanner.instances.UpdateTag Banco de dados: spanner.databases.UpdateTag Tabela: spanner.databases.UpdateTag Visualizações: spanner.databases.UpdateTag |
Não há papéis predefinidos disponíveis. |
Instâncias e tabelas do Bigtable | bigtable.instances.update bigtable.tables.update |
roles/datacatalog.tagTemplateUser roles/datacatalog.tagEditor roles/bigtable.admin |
Lakes, zonas, tabelas e conjuntos de arquivos do Dataplex | dataplex.lakes.update dataplex.zones.update dataplex.entities.update dataplex.entities.update |
Não há papéis predefinidos disponíveis. |
Serviços, bancos de dados e tabelas do Dataproc Metastore | metastore.tables.update metastore.databases.update metastore.services.update |
roles/datacatalog.tagTemplateUser roles/datacatalog.tagEditor roles/metastore.editor roles/metastore.metadataEditor |
Papéis personalizados para recursos do Google Cloud
Os papéis predefinidos de editor para entradas de dados de outros sistemas do Google Cloud podem conceder acesso de gravação mais amplo do que o necessário. Use
papéis personalizados para especificar permissões *.updateTag
apenas em um recurso do Google Cloud.
Papéis para modificar a visão geral de rich text e administradores de dados no Data Catalog
Os usuários precisam dos papéis a seguir para anexar a visão geral de rich text e atribuir administradores de dados a entradas no Data Catalog:
Recurso | Permissões | Papel |
---|---|---|
Projetos do Google Cloud | datacatalog.entries.updateOverview datacatalog.entries.updateContacts |
roles/datacatalog.dataSteward |
Federação de identidade no Data Catalog
A federação de identidade permite usar um provedor de identidade externo (IdP) para autenticar e autorizar usuários a serviços do Google Cloud com o IAM.
O Data Catalog oferece suporte à federação de identidade com as seguintes limitações:
- Os métodos SearchCatalog e StarEntry da API Data Catalog oferecem suporte apenas à federação de identidade de colaboradores e não estão disponíveis para a federação de identidade da carga de trabalho
- O Dataplex não oferece suporte ao console do Google Cloud para usuários da federação de identidade
Para mais informações
- Papéis do Dataplex
- Papéis do Data Catalog
- Controle de acesso do BigQuery
- Controle de acesso do Pub/Sub
- Controle de acesso do metastore do Dataproc