En esta página, se describe cómo administrar el control de acceso cuando implementas y ejecutas una canalización que usa clústeres de Dataproc en otro proyecto de Google Cloud.
Situación
De forma predeterminada, cuando se inicia una instancia de Cloud Data Fusion en un proyecto de Google Cloud, implementa y ejecuta canalizaciones con clústeres de Dataproc dentro del mismo proyecto. Sin embargo, es posible que tu organización requiera que uses clústeres en otro proyecto. Para este caso de uso, debes administrar el acceso entre los proyectos. En la siguiente página, se describe cómo puedes cambiar la configuración del modelo de referencia (predeterminado) y aplicar los controles de acceso adecuados.
Antes de comenzar
Para comprender las soluciones de este caso de uso, necesitas el siguiente contexto:
- Estar familiarizado con los conceptos básicos de Cloud Data Fusion
- Estar familiarizado con Identity and Access Management (IAM) para Cloud Data Fusion
- Estar familiarizado con las herramientas de redes de Cloud Data Fusion
Suposiciones y alcance
Este caso de uso tiene los siguientes requisitos:
- Una instancia privada de Cloud Data Fusion. Por motivos de seguridad, es posible que una organización requiera que uses este tipo de instancias.
- Una fuente y un receptor de BigQuery
- Control de acceso con IAM, no con control de acceso basado en funciones (RBAC).
Solución
En esta solución, se compara la arquitectura y la configuración específicas del modelo de referencia y del caso de uso.
Arquitectura
En los siguientes diagramas, se compara la arquitectura del proyecto para crear una instancia de Cloud Data Fusion y ejecutar canalizaciones cuando usas clústeres en el mismo proyecto (modelo de referencia) y en un proyecto diferente a través de la VPC del proyecto de usuario.
Arquitectura de referencia
En este diagrama, se muestra la arquitectura de referencia de los proyectos:
Para la configuración del modelo de referencia, debes crear una instancia privada de Cloud Data Fusion y ejecutar una canalización sin personalización adicional:
- Se usa uno de los perfiles de procesamiento integrados
- La fuente y el receptor están en el mismo proyecto que la instancia
- No se otorgaron roles adicionales a ninguna de las cuentas de servicio
Para obtener más información sobre los proyectos de usuario y cliente, consulta Herramientas de redes.
Arquitectura de casos de uso
En este diagrama, se muestra la arquitectura del proyecto cuando usas clústeres en otro proyecto:
Parámetros de configuración
En las siguientes secciones, se compara la configuración del modelo de referencia con la configuración específica de los casos de uso para usar clústeres de Dataproc en un proyecto diferente mediante la VPC predeterminada del proyecto de usuario.
En las siguientes descripciones de casos de uso, el proyecto de cliente es donde se ejecuta la instancia de Cloud Data Fusion y el proyecto de Dataproc es donde se inicia el clúster de Dataproc.
Instancia y VPC del proyecto de usuario
Modelo de referencia | Caso de uso |
---|---|
En el diagrama de arquitectura de referencia anterior, el proyecto de usuario contiene los siguientes componentes:
|
No se necesita configuración adicional para este caso de uso. |
Proyecto del cliente
Modelo de referencia | Caso de uso |
---|---|
Tu proyecto de Google Cloud es donde implementas y ejecutas canalizaciones. De forma predeterminada, los clústeres de Dataproc se inician en este proyecto cuando ejecutas tus canalizaciones. | En este caso de uso, administras dos proyectos. En esta página, el
proyecto de cliente hace referencia a dónde se ejecuta la instancia de
Cloud Data Fusion. El proyecto de Dataproc hace referencia a la ubicación en la que se inician los clústeres de Dataproc. |
VPC del cliente
Modelo de referencia | Caso de uso |
---|---|
Desde tu perspectiva (del cliente), la VPC del cliente es donde Cloud Data Fusion se ubica de forma lógica. Conclusión clave: Puedes encontrar los detalles de VPC del cliente en la página Redes de VPC de tu proyecto. |
No se necesita configuración adicional para este caso de uso. |
Subred de Cloud Data Fusion
Modelo de referencia | Caso de uso |
---|---|
Desde tu perspectiva (del cliente), esta subred es donde Cloud Data Fusion se ubica de forma lógica. Conclusión clave: La región de esta subred es la misma que la ubicación de la instancia de Cloud Data Fusion en el proyecto de usuario. |
No se necesita configuración adicional para este caso de uso. |
Subred de Dataproc
Modelo de referencia | Caso de uso |
---|---|
La subred en la que se inician los clústeres de Dataproc cuando ejecutas una canalización. Conclusiones clave:
|
Esta es una subred nueva en la que los clústeres de Dataproc se inician cuando ejecutas una canalización. Conclusiones clave:
|
Fuentes y receptores
Modelo de referencia | Caso de uso |
---|---|
Las fuentes de las que se extraen los datos y los receptores donde se cargan, como las fuentes y los receptores de BigQuery. Conclusión clave:
|
La configuración de control de acceso específica de los casos de uso en esta página es para fuentes y receptores de BigQuery. |
Cloud Storage
Modelo de referencia | Caso de uso |
---|---|
El bucket de almacenamiento en el proyecto del cliente que ayuda a transferir archivos entre Cloud Data Fusion y Dataproc. Conclusiones clave:
|
No se necesita configuración adicional para este caso de uso. |
Buckets temporales que usan la fuente y el receptor
Modelo de referencia | Caso de uso |
---|---|
Los buckets temporales que crean los complementos para tus fuentes y receptores, como los trabajos de carga que inicia el complemento de receptor de BigQuery. Conclusiones clave:
|
Para este caso de uso, el bucket se puede crear en cualquier proyecto. |
Buckets que son fuentes o receptores de datos para complementos
Modelo de referencia | Caso de uso |
---|---|
Buckets de clientes, que especificas en la configuración de los complementos, como el complemento de Cloud Storage y el complemento de FTP a Cloud Storage. | No se necesita configuración adicional para este caso de uso. |
IAM: Agente de servicio de la API de Cloud Data Fusion
Modelo de referencia | Caso de uso |
---|---|
Cuando se habilita la API de Cloud Data Fusion, el rol de agente de servicio de la API de Cloud Data Fusion ( Conclusiones clave:
|
Para este caso de uso, otorga el rol de Agente de servicio de la API de Cloud Data Fusion a la cuenta de servicio en el proyecto de Dataproc. Luego, otorga los siguientes roles en ese proyecto:
|
IAM: Cuenta de servicio de Dataproc
Modelo de referencia | Caso de uso |
---|---|
La cuenta de servicio que se usa para ejecutar la canalización como un trabajo dentro del clúster de Dataproc. De forma predeterminada, es la cuenta de servicio de Compute Engine. Opcional: En la configuración del modelo de referencia, puedes cambiar la cuenta de servicio predeterminada por otra cuenta de servicio del mismo proyecto. Otorga los siguientes roles de IAM a la cuenta de servicio nueva:
|
En este ejemplo de caso práctico, se supone que usas la cuenta de servicio predeterminada de Compute Engine ( Otorga los siguientes roles a la cuenta de servicio predeterminada de Compute Engine en el proyecto de Dataproc.
Otorga el rol Usuario de cuenta de servicio a la cuenta de servicio de Cloud Data Fusion en la cuenta de servicio predeterminada de Compute Engine del proyecto de Dataproc. Esta acción debe realizarse en el proyecto de Dataproc. Agrega la cuenta de servicio predeterminada de Compute Engine del proyecto de Dataproc al proyecto de Cloud Data Fusion. Otorga también los siguientes roles:
|
APIs
Modelo de referencia | Caso de uso |
---|---|
Cuando habilitas la API de Cloud Data Fusion, también se habilitan las siguientes APIs. Para obtener más información sobre estas APIs, ve a la
página APIs y servicios de tu proyecto.
Cuando habilitas la API de Cloud Data Fusion, las siguientes cuentas de servicio se agregan automáticamente a tu proyecto:
|
Para este caso práctico, habilita las siguientes API en el proyecto que contiene el proyecto de Dataproc:
|
Claves de encriptación
Modelo de referencia | Caso de uso |
---|---|
En la configuración del modelo de referencia, las claves de encriptación pueden ser administradas por Google o con CMEK Conclusiones clave: Si usas CMEK, la configuración del modelo de referencia requiere lo siguiente:
Según los servicios que se usen en tu canalización, como BigQuery o Cloud Storage, a las cuentas de servicio también se les debe otorgar la función de encriptador o desencriptador de CryptoKey de Cloud KMS:
|
Si no usas CMEK, no se necesitan cambios adicionales para este caso de uso. Si usas CMEK, se debe proporcionar el rol de encriptador o desencriptador de CryptoKey de Cloud KMS a la siguiente cuenta de servicio en el nivel de clave del proyecto en el que se crea:
Según los servicios que se usen en tu canalización, como BigQuery o Cloud Storage, a otras cuentas de servicio también se les debe otorgar la función de encriptador o desencriptador de CryptoKey de Cloud KMS a nivel de la clave. Por ejemplo:
|
Después de realizar estas configuraciones específicas para los casos de uso, tu canalización de datos puede comenzar a ejecutarse en clústeres de otro proyecto.
¿Qué sigue?
- Obtén más información sobre las herramientas de redes en Cloud Data Fusion.
- Consulta la referencia de roles básicos y predefinidos de IAM.