Administración del acceso con la IAM

En este documento, se explica cómo usar Identity and Access Management (IAM) para administrar el control de acceso a los recursos de Knowledge Catalog (anteriormente, Dataplex Universal Catalog). IAM controla el acceso a tus recursos de Knowledge Catalog a nivel del recurso Google Cloud . Te permite controlar qué principales pueden administrar recursos específicos, como grupos de entradas y entradas, con la consola de Google Cloud , Google Cloud CLI, las bibliotecas cliente o las APIs.

Para obtener más información sobre IAM, consulta la documentación de IAM.

Descripción general de IAM

Cuando creas un proyecto Google Cloud nuevo, se le otorga el rol de propietario al creador original del proyecto. Es posible que existan o se creen otras cuentas de servicio administradas por Google cuando habilites una API para realizar tareas específicas. Sin embargo, ningún otro usuario individual tiene acceso al proyecto ni a sus recursos, incluidos los recursos de Knowledge Catalog. Solo otorgas este acceso cuando agregas explícitamente a los usuarios como miembros del proyecto o les otorgas roles en recursos específicos.

IAM te permite otorgar acceso detallado a recursos específicos de Google Cloud y evita el acceso no deseado a otros recursos. IAM te permite adoptar el principio de seguridad de privilegio mínimo, ya que solo otorga el acceso necesario a tus recursos.

IAM te permite controlar quién (principales) tiene qué acceso (roles) a qué recursos.

Principal

Una principal puede ser una Cuenta de Google (para usuarios finales), una cuenta de servicio (para apps y máquinas virtuales), un Grupo de Google o un dominio de Google Workspace o Cloud Identity. Estas principales pueden acceder a un recurso. Cuando otorgas roles, identificas al principal con un identificador, como se describe en la Referencia de vinculación de políticas.

Para obtener más información, consulta Descripción general de IAM: principales.

El agente de servicio

Knowledge Catalog usa una Google Cloud cuenta de servicio administrada, un agente de servicio, para acceder a tus recursos. Los agentes de servicio son cuentas de servicio administradas por Google que permiten que los servicios accedan a los recursos de tu proyecto. Google Cloud Esto es diferente de las cuentas de servicio administradas por el usuario, que creas y usas para representar tus aplicaciones o cargas de trabajo.

El agente de servicio se crea cuando habilitas la API de Dataplex. Puedes identificar al agente de servicio por su ID de correo electrónico:

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

Aquí, CUSTOMER_PROJECT_NUMBER es el número del proyecto en el que habilitaste la API de Dataplex.

El agente de servicio requiere el rol de Agente de servicio de Dataplex (roles/dataplex.serviceAgent) en el proyecto para administrar los recursos de Knowledge Catalog. Cuando habilitas la API, el sistema otorga este rol automáticamente. Si revocas este rol, es posible que Knowledge Catalog no funcione correctamente.

Si Knowledge Catalog necesita acceder a recursos en otros proyectos (por ejemplo, buckets de Cloud Storage o conjuntos de datos de BigQuery que deseas adjuntar como recursos o analizar para obtener perfiles de datos), debes otorgar a este agente de servicio los permisos necesarios en los proyectos que contienen esos recursos.

Para obtener más información sobre cómo otorgar permisos al agente de servicio para adjuntar recursos, consulta Administra recursos de datos.

Para obtener más información sobre cómo otorgar permisos al agente de servicio para la generación de perfiles de datos, consulta Crea y usa análisis del perfil de datos.

Identidad de ejecución para los análisis de datos

De forma predeterminada, Knowledge Catalog usa el agente de servicio para ejecutar los análisis de calidad y perfil de los datos. Sin embargo, puedes anular este comportamiento y ejecutar análisis con una cuenta de servicio personalizada o tus propias credenciales de usuario final (EUC).

Si especificas una cuenta de servicio personalizada para la identidad de ejecución de tu análisis, el agente de servicio requiere el rol de creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator) (o el permiso iam.serviceAccounts.getAccessToken) en la cuenta de servicio de destino para suplantar su identidad y ejecutar el trabajo. Para obtener más detalles, consulta la documentación sobre la identidad de ejecución para la calidad de los datos y la generación de perfiles de datos.

Recurso

Entre los recursos a los que puedes otorgar acceso en Knowledge Catalog, se incluyen proyectos, grupos de entradas, entradas, vínculos de entrada, tipos de aspecto, tipos de entrada y tipos de vínculo de entrada.

Algunos métodos de API requieren permisos para varios recursos. Por ejemplo, adjuntar un aspecto a una entrada requiere permisos tanto en la entrada como en el tipo de aspecto.

Rol

Un rol es una colección de permisos que determinan qué operaciones puede realizar una principal en un recurso. Cuando otorgas un rol a un principal, le otorgas todos los permisos que el rol contiene.

Puedes otorgar uno o más roles a una principal.

Al igual que otros productos de Google Cloud , Knowledge Catalog admite tres tipos de roles:

  • Roles básicos: Roles muy permisivos (propietario, editor y visualizador) que existían antes de la introducción de IAM. Para obtener más información sobre los roles básicos, consulta Roles básicos.

  • Roles predefinidos: Proporcionan acceso detallado a recursos Google Cloudespecíficos. Para obtener más información sobre los roles predefinidos, consulta Roles predefinidos. En la documentación sobre los roles de IAM de Knowledge Catalog, se detallan los roles predefinidos de Knowledge Catalog.

  • Roles personalizados: Te ayudan a aplicar el principio de privilegio mínimo, ya que otorgan solo los permisos específicos necesarios. Para obtener más información sobre los roles personalizados, consulta Roles personalizados.

Por ejemplo, el rol predefinido Visualizador de Dataplex (roles/dataplex.viewer) proporciona acceso de solo lectura a los recursos de Knowledge Catalog. Una principal con este rol puede ver grupos de entrada, entradas, vínculos de entrada, tipos de aspecto, tipos de entrada y tipos de vínculo de entrada, pero no puede crearlos, actualizarlos ni borrarlos. Por el contrario, el rol de Administrador de Dataplex (roles/dataplex.admin) otorga acceso amplio para administrar los recursos de Knowledge Catalog.

Para obtener más información sobre cómo asignar roles, consulta Cómo otorgar, cambiar y revocar el acceso a los recursos.

Para determinar qué permisos necesitas para una tarea específica, consulta las páginas de referencia de los roles de Knowledge Catalog y los permisos de Knowledge Catalog.

Por ejemplo, para un recurso de proyecto, puedes asignar el rol roles/dataplex.admin a una Cuenta de Google. Luego, esa cuenta puede administrar los recursos de Knowledge Catalog en el proyecto, pero no puede administrar otros recursos. También puedes usar IAM para administrar los roles básicos otorgados a los miembros del equipo del proyecto.

Políticas de IAM para los recursos

Una política de IAM te permite administrar roles de IAM en recursos en lugar de administrar roles a nivel de proyecto, o además de hacerlo. Esto proporciona flexibilidad para aplicar el principio de privilegio mínimo, ya que otorga acceso solo a los recursos específicos que los colaboradores necesitan para su trabajo.

Los recursos heredan las políticas de sus recursos superiores. Si estableces una política a nivel de proyecto, todos sus recursos secundarios la heredan. La política vigente para un recurso es la unión de la política establecida en ese recurso y la política heredada de una jerarquía superior. Para obtener más información, consulta la jerarquía de políticas de IAM.

Puedes obtener y configurar políticas de IAM con la consola de Google Cloud , la API de Identity and Access Management o gcloud CLI.

¿Qué sigue?