En este documento, se describen los roles de Identity and Access Management (IAM) que te permiten usar Data Catalog para buscar y etiquetar recursos de Google Cloud.
Para obtener una descripción detallada de IAM y sus características, consulta la documentación de IAM.
Terminología de IAM
- Permisos
- Se marcan en el entorno de ejecución para permitirte realizar una operación o acceder a un recurso de Google Cloud. No se te otorgan permisos directamente, sino que se te otorgan funciones que contienen permisos.
- Funciones
- Una función es una colección predefinida de permisos. También se pueden permitir roles personalizados que consisten en una colección personalizada de permisos.
Cómo ver los roles de Data Catalog
En la consola de Google Cloud, ve a la página IAM y administración > Roles.
En el campo Filtrar, selecciona Se usa en, escribe
Data Catalog
oData Lineage
y haz clic en Intro.Haz clic en un rol para ver sus permisos en el panel derecho.
Por ejemplo, el rol de administrador de Data Catalog tiene acceso completo a todos los recursos de Data Catalog.
Roles predefinidos de Data Catalog
Algunos roles predefinidos de Data Catalog incluyen el administrador de Data Catalog, el visualizador de Data Catalog y el creador de TagTemplate de Data Catalog. Algunos de estos roles se describen en las secciones posteriores.
Para obtener una lista y una descripción de las funciones predefinidas de Data Catalog y los permisos asociados con cada función, consulta Funciones de Data Catalog.
Rol de administrador de Data Catalog
El rol roles/datacatalog.admin
tiene acceso a todos los recursos de Data Catalog. Un administrador de Data Catalog puede agregar diferentes tipos de usuarios a un proyecto de Data Catalog.
Rol de administrador de datos de Data Catalog
El rol de roles/datacatalog.dataSteward
te permite agregar, editar o borrar a los administradores de datos y la descripción general de texto enriquecido de una entrada de datos, como una tabla de BigQuery.
Función de visualizador de Data Catalog
Para simplificar el acceso a los recursos de Google Cloud, Data Catalog proporciona al rol roles/datacatalog.viewer
permiso de lectura de metadatos para todos los recursos de Google Cloud catalogados.
Este rol también otorga los permisos para ver las plantillas y etiquetas de etiquetas de Data Catalog.
Otorga el rol de visualizador de Data Catalog en tu proyecto para ver los recursos de Google Cloud en Data Catalog.
Función de creador de TagTemplate de Data Catalog.
El rol roles/datacatalog.tagTemplateCreator
te permite crear plantillas de etiquetas.
Rol de administrador de búsqueda de Data Catalog
El rol de roles/datacatalog.searchAdmin
te permite recuperar, a través de la búsqueda,
todos los recursos de Google Cloud catalogados dentro de un proyecto o una organización.
Rol de administrador de la configuración de migración de Data Catalog
El rol roles/datacatalog.migrationConfigAdmin
te permite establecer y recuperar la configuración relacionada con la migración de recursos de Data Catalog a Dataplex Catalog.
Roles predefinidos de linaje de datos
Para acceder al linaje de cualquier entrada de Data Catalog, debes tener acceso a la entrada en Data Catalog. Para acceder a la entrada de Data Catalog, necesitas un rol de visualización en el recurso del sistema correspondiente o el rol de visualizador de Data Catalog (roles/datacatalog.viewer
) en el proyecto que almacena la entrada de Data Catalog. En esta sección, se describen los roles necesarios para ver el linaje.
Rol de visualizador de linaje
El rol de Visualizador de linaje de datos (roles/datalineage.viewer
) te permite ver el linaje de Dataplex en la consola de Google Cloud y leer la información del linaje con la API de Data Lineage. Las ejecuciones y los eventos de un proceso determinado se almacenan en el mismo proyecto que el proceso. En el caso del linaje automatizado, el proceso, las ejecuciones y los eventos se almacenan en el proyecto en el que se ejecutaba la tarea que generó el linaje. Por ejemplo, podría ser el proyecto en el que se ejecutaba un trabajo de BigQuery.
Necesitas diferentes roles para ver el linaje entre los activos y ver los metadatos de los activos. Para lo primero, necesitas el rol de Visualizador de linaje de datos (roles/datalineage.viewer
). Para lo segundo, necesitas los mismos roles que se usan para acceder a las entradas de metadatos en Data Catalog.
Roles para ver el linaje entre dos activos
Para ver el linaje entre los activos, necesitas el rol de Visualizador de linaje de datos (roles/datalineage.viewer
) en los siguientes proyectos:
- El proyecto en el que estás viendo el linaje (conocido como proyecto activo), es decir, el proyecto en el menú desplegable en la parte superior de la consola de Google Cloud o el proyecto desde el que se realizan las llamadas a la API. Por lo general, este sería el proyecto de recursos de Data Catalog.
- Los proyectos en los que se registra el linaje (conocidos como proyecto de procesamiento). El linaje se almacena en el proyecto en el que se ejecutó el proceso correspondiente, como se describió anteriormente. Este proyecto puede ser diferente del proyecto que almacena el activo para el que estás viendo el linaje.
Si quieres obtener más información para otorgar roles, consulta Administra el acceso. También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Según el caso de uso, otorga el rol de Visualizador de linaje de datos (roles/datalineage.viewer
) a nivel de la carpeta o la organización para garantizar el acceso al linaje (consulta Otorga o revoca un solo rol).
Los roles necesarios para el linaje de datos solo se pueden otorgar a través de Google Cloud CLI.
Roles para ver los metadatos de los activos cuando se visualiza el linaje
Cuando los metadatos sobre un activo se almacenan en Data Catalog, solo puedes ver esos metadatos si tienes el rol de visualizador en el recurso del sistema correspondiente o el rol de visualizador de Data Catalog (roles/datacatalog.viewer
) en el proyecto en el que se almacena la entrada de Data Catalog. Es posible que tengas acceso a los activos en el gráfico o la lista de linaje a través de los roles de usuario adecuados, pero no al linaje entre ellos. Este es el caso cuando no tienes el rol de Visualizador de linaje de datos (roles/datalineage.viewer
) en el proyecto en el que se registró el linaje. En este caso, la API de Data Lineage y la consola de Google Cloud no muestran el linaje ni muestran un error para evitar que se filtre información sobre la existencia del linaje. Por lo tanto, la ausencia de linaje para un activo no significa que no haya linaje para ese activo, sino que es posible que no tengas acceso a ese linaje.
Rol de productor de eventos de linaje de datos
El rol roles/datalineage.producer
permite a los usuarios registrar manualmente la información del linaje con la API de Data Lineage.
Rol de editor de linaje de datos
El rol roles/datalineage.editor
permite a los usuarios modificar manualmente la información del linaje con la API de linaje de datos.
Rol de administrador de linaje de datos
El rol roles/datalineage.admin
permite a los usuarios realizar todas las operaciones de linaje que se enumeran en esta sección.
Roles para ver etiquetas públicas y privadas
Puedes buscar etiquetas públicas con la búsqueda simple. Puedes ver una entrada de datos, incluidas sus etiquetas públicas, siempre que tengas los permisos necesarios para verla. No se requieren permisos adicionales en la plantilla de etiqueta. Para ver los permisos necesarios para ver la entrada de datos, consulta la tabla de esta sección.
Sin embargo, te recomendamos que también otorgues el permiso datacatalog.tagTemplates.get
a los usuarios que se espera que busquen estas etiquetas públicas. Este permiso permite a los usuarios usar el predicado de búsqueda tag: o la faceta de búsqueda de plantillas de etiquetas en la página de búsqueda de Data Catalog.
En el caso de las etiquetas privadas, necesitas permisos de lectura en la plantilla de etiquetas y en la entrada de datos para buscar la etiqueta y verla en la página de detalles de la entrada. Los usuarios deben usar el predicado de búsqueda tag: o la faceta de búsqueda de plantillas de etiquetas para encontrar las etiquetas. No se admite la búsqueda simple de etiquetas privadas.
Ten en cuenta lo siguiente:
El permiso de vista necesario en la plantilla de etiquetas privadas es
datacatalog.tagTemplates.getTag
.En la siguiente tabla, se incluyen los permisos de lectura en la entrada de datos de las etiquetas públicas y privadas.
Recurso | Permiso | Función |
---|---|---|
Conjuntos de datos, tablas, modelos, rutinas y conexiones de 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 |
Temas de Pub/Sub | pubsub.topics.get |
roles/datacatalog.tagTemplateViewer roles/pubsub.viewer |
Instancias, bases de datos, tablas y vistas de Spanner | Instance: spanner.instances.get Database:spanner.databases.get Table: spanner.databases.get Views: spanner.databases.get datacatalog.tagTemplates.getTag |
No hay roles predefinidos disponibles. |
Tablas e instancias de Bigtable | bigtable.instances.get bigtable.tables.get datacatalog.tagTemplates.getTag |
roles/datacatalog.tagTemplateViewer roles/bigtable.viewer |
Servicios, base de datos y tablas de Dataproc Metastore | metastore.tables.get metastore.databases.get metastore.services.get |
roles/datacatalog.tagTemplateViewer roles/metastore.metadataViewer |
Entradas personalizadas | datacatalog.entries.get |
No hay roles predefinidos disponibles. |
Roles para buscar recursos de Google Cloud
Antes de buscar, descubrir o mostrar recursos de Google Cloud, Data Catalog comprueba que se te haya otorgado un rol de IAM con los permisos de lectura de metadatos requeridos por BigQuery, Pub/Sub, Dataproc Metastore o algún otro sistema de origen para acceder al recurso.
Ejemplo: Data Catalog verifica que se te haya otorgado un rol con bigquery.tables.get permission
antes de mostrar los metadatos de la tabla de BigQuery.
En la siguiente tabla, se enumeran los permisos y los roles asociados necesarios para usar Data Catalog y buscar en los recursos de Google Cloud enumerados.
Recurso | Permiso | Función |
---|---|---|
Conjuntos de datos, tablas, modelos, rutinas y conexiones de BigQuery | bigquery.datasets.get bigquery.tables.get bigquery.models.getMetadata bigquery.routines.get bigquery.connections.get |
roles/bigquery.metadataViewer roles/bigquery.connectionUser Consulta también el rol de visualizador de Data Catalog. |
Temas de Pub/Sub | pubsub.topics.get |
roles/pubsub.viewer Consulta también el rol de visualizador de Data Catalog. |
Bases de datos y tablas de Spanner | Instancia: spanner.instances.get Base de datos: spanner.databases.get Vistas: spanner.databases.get |
No hay roles predefinidos disponibles. |
Tablas e instancias de Bigtable | bigtable.instances.get bigtable.tables.get |
roles/bigtable.viewer Consulta también el rol de visualizador de Data Catalog. |
Lakes, zonas, tablas y conjuntos de archivos de Dataplex | dataplex.lakes.get dataplex.zones.get dataplex.entities.get dataplex.entities.get |
No hay roles predefinidos disponibles. |
Servicios, base de datos y tablas de Dataproc Metastore | metastore.tables.get metastore.databases.get metastore.services.get |
roles/metastore.metadataViewer |
Roles para adjuntar etiquetas a recursos de Google Cloud
Para adjuntar etiquetas públicas y privadas a los recursos de Google Cloud, se requieren los mismos permisos.
Data Catalog permite a los usuarios ampliar los metadatos en los recursos de Google Cloud mediante etiquetas adjuntas. Una o más etiquetas que se pueden adjuntar a un recurso se definen en una plantilla de etiqueta.
Cuando un usuario intenta usar la plantilla de etiqueta para adjuntar una etiqueta a un recurso de Google Cloud, Data Catalog verifica que tengas los permisos necesarios para usar la plantilla de etiqueta y actualizar los metadatos del recurso. Los permisos se otorgan a través de roles de IAM, como se muestra en la siguiente tabla.
En la siguiente tabla, se enumeran los permisos y los roles asociados necesarios para que un usuario use Data Catalog para adjuntar etiquetas públicas y privadas a los recursos de Google Cloud enumerados.
En cada fila de la siguiente tabla, se indican los permisos necesarios para etiquetar recursos. Las funciones correspondientes pueden otorgar permisos adicionales. Haga clic en cada función para ver todos los permisos asociados.
Ten en cuenta lo siguiente:
El propietario de una entrada de datos tiene el permiso
datacatalog.entries.updateTag
de forma predeterminada. Todos los demás usuarios deben tener el rol datacatalog.tagEditor.El permiso
datacatalog.tagTemplates.use
también es necesario para todos los recursos que se enumeran en la tabla.
Recurso | Permisos | Rol |
---|---|---|
Conjuntos de datos, tablas, modelos, rutinas y conexiones de 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 |
Temas de Pub/Sub | pubsub.topics.updateTag |
roles/datacatalog.tagTemplateUser roles/datacatalog.tagEditor roles/pubsub.editor |
Bases de datos y tablas de Spanner | Instancia: spanner.instances.UpdateTag Base de datos: spanner.databases.UpdateTag Tabla: spanner.databases.UpdateTag Vistas: spanner.databases.UpdateTag |
No hay roles predefinidos disponibles. |
Tablas e instancias de Bigtable | bigtable.instances.update bigtable.tables.update |
roles/datacatalog.tagTemplateUser roles/datacatalog.tagEditor roles/bigtable.admin |
Lakes, zonas, tablas y conjuntos de archivos de Dataplex | dataplex.lakes.update dataplex.zones.update dataplex.entities.update dataplex.entities.update |
No hay roles predefinidos disponibles. |
Servicios, base de datos y tablas de Dataproc Metastore | metastore.tables.update metastore.databases.update metastore.services.update |
roles/datacatalog.tagTemplateUser roles/datacatalog.tagEditor roles/metastore.editor roles/metastore.metadataEditor |
Roles personalizados para recursos de Google Cloud
Los roles de editor predefinidos para las entradas de datos de otros sistemas de Google Cloud pueden proporcionar un acceso de escritura más amplio que el requerido. Usa roles personalizados para especificar permisos *.updateTag
solo en un recurso de Google Cloud.
Roles para modificar la descripción general del texto enriquecido y los custodios de datos en Data Catalog
Los usuarios necesitan los siguientes roles para adjuntar una descripción general de texto enriquecido y asignar custodios de datos a las entradas de Data Catalog:
Recurso | Permisos | Rol |
---|---|---|
Proyectos de Google Cloud | datacatalog.entries.updateOverview datacatalog.entries.updateContacts |
roles/datacatalog.dataSteward |
Roles para modificar la configuración de migración en Data Catalog
Los usuarios necesitan los siguientes roles para establecer y recuperar la configuración relacionada con la migración de Data Catalog a Dataplex:
Recurso | Permisos | Rol |
---|---|---|
Proyectos y organizaciones de Google Cloud | datacatalog.migrationConfig.set datacatalog.migrationConfig.get |
roles/datacatalog.migrationConfigAdmin |
Federación de identidades en Data Catalog
La federación de identidades te permite usar un proveedor de identidad externo (IdP) para autenticar y autorizar a los usuarios a los servicios de Google Cloud con IAM.
Data Catalog admite la federación de identidades con las siguientes limitaciones:
- Los métodos SearchCatalog y StarEntry de la API de Data Catalog solo admiten la federación de identidades de personal y no están disponibles para la federación de identidades de carga de trabajo.
- Dataplex no es compatible con la consola de Google Cloud para los usuarios de la federación de identidades.
¿Qué sigue?
- Aprende cómo crear funciones personalizadas de IAM.
- Aprende a otorgar y administrar funciones.
- Obtén más información sobre los roles de IAM de Dataplex.
- Obtén más información sobre el control de acceso de BigQuery.
- Obtén más información sobre el control de acceso de Pub/Sub.
- Obtén más información sobre el control de acceso de Dataproc Metastore.