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 en el Google Cloud nivel de recurso. Te permite controlar qué principales pueden administrar recursos específicos, como grupos de entrada y entradas, con la Google Cloud consola de Google Cloud CLI de gcloud, 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 nuevo Google Cloud proyecto, 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 habilitas 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. Otorgas este acceso solo cuando agregas usuarios de forma explícita como miembros del proyecto o les otorgas roles en recursos específicos.

IAM te permite otorgar acceso detallado a recursos específicos Google Cloud y evita el acceso no deseado a otros recursos. IAM te permite adoptar el principio de seguridad de menor privilegio, de manera que solo permites 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 la 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 Google Cloud servicios accedan a los recursos de tu proyecto. 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 el 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 servicios 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 activos o analizar en busca de 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 activos, consulta Administra activos de datos.

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

Identidad de ejecución para análisis de datos

De forma predeterminada, Knowledge Catalog usa el agente de servicio para ejecutar los análisis de calidad de datos y de perfiles de 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 suplantarla y ejecutar el trabajo. Para obtener más detalles, consulta la documentación de identidad de ejecución para la calidad de datos y la creación de perfiles de datos.

Recurso

Los recursos a los que puedes otorgar acceso en Knowledge Catalog incluyen proyectos, grupos de entrada, 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 en la entrada y 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 miembro, otorgas todos los permisos que el rol contiene.

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

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

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

  • Roles predefinidos: Proporcionan acceso detallado a recursos específicos. Google Cloud Para obtener más información sobre los roles predefinidos, consulta Predefined roles. En la documentación de 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 de 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 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. 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 Google Cloud consola de Google Cloud, la API de Identity and Access Management o gcloud CLI.

¿Qué sigue?