En esta página se describe cómo gestionar el control de acceso al implementar y ejecutar una canalización que usa clústeres de Dataproc en otro proyecto. Google Cloud
Situación
De forma predeterminada, cuando se inicia una instancia de Cloud Data Fusion en unGoogle Cloud proyecto, se implementan y ejecutan flujos de trabajo mediante clústeres de Dataproc en el mismo proyecto. Sin embargo, es posible que tu organización te exija que uses clústeres en otro proyecto. En este caso práctico, debes gestionar el acceso entre los proyectos. En la página siguiente se describe cómo puedes cambiar las configuraciones de referencia (predeterminadas) y aplicar los controles de acceso adecuados.
Antes de empezar
Para entender las soluciones de este caso práctico, debes tener en cuenta lo siguiente:
- Familiaridad con los conceptos básicos de Cloud Data Fusion
- Familiaridad con la gestión de identidades y accesos (IAM) de Cloud Data Fusion
- Familiaridad con las redes de Cloud Data Fusion
Supuestos y alcance
Este caso práctico tiene los siguientes requisitos:
- Una instancia privada de Cloud Data Fusion. Por motivos de seguridad, una organización puede requerir que uses este tipo de instancia.
- Un origen y un receptor de BigQuery.
- Control de acceso con IAM, no con control de acceso basado en roles (RBAC).
Solución
Esta solución compara la arquitectura y la configuración de la línea de base con las de un caso práctico específico.
Arquitectura
En los siguientes diagramas se compara la arquitectura de proyectos para crear una instancia de Cloud Data Fusion y ejecutar flujos de procesamiento cuando se usan clústeres en el mismo proyecto (configuración de referencia) y en un proyecto diferente a través de la VPC del proyecto de inquilino.
Arquitectura de referencia
En este diagrama se muestra la arquitectura de referencia de los proyectos:
Para la configuración de referencia, crea una instancia privada de Cloud Data Fusion y ejecuta un flujo de procesamiento sin ninguna personalización adicional:
- Usas uno de los perfiles de cálculo integrados
- El origen y el receptor están en el mismo proyecto que la instancia
- No se ha concedido ningún rol adicional a ninguna de las cuentas de servicio
Para obtener más información sobre los proyectos de propietario y de cliente, consulta Redes.
Arquitectura de caso práctico
En este diagrama se muestra la arquitectura del proyecto cuando se usan clústeres en otro proyecto:
Configuraciones
En las siguientes secciones se comparan las configuraciones de referencia con las configuraciones específicas de los casos prácticos para usar clústeres de Dataproc en otro proyecto a través de la VPC del proyecto de inquilino predeterminado.
En las siguientes descripciones de casos prácticos, el proyecto del 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.
VPC e instancia del proyecto de inquilino
Valor de referencia | Caso práctico |
---|---|
En el diagrama de arquitectura de referencia anterior, el proyecto de inquilino contiene los siguientes componentes:
|
No es necesario configurar nada más para este caso práctico. |
Proyecto de cliente
Valor de referencia | Caso práctico |
---|---|
Tu Google Cloud proyecto es donde implementas y ejecutas las canalizaciones. De forma predeterminada, los clústeres de Dataproc se inician en este proyecto cuando ejecutas tus flujos de procesamiento. | En este caso práctico, gestionas dos proyectos. En esta página, el proyecto del cliente hace referencia a la ubicación en la que se ejecuta la instancia de Cloud Data Fusion. El proyecto de Dataproc hace referencia a donde se inician los clústeres de Dataproc. |
VPC del cliente
Valor de referencia | Caso práctico |
---|---|
Desde tu perspectiva (la del cliente), la VPC del cliente es donde se encuentra Cloud Data Fusion de forma lógica. Información clave: Puedes consultar los detalles de la VPC del cliente en la página de redes de VPC de tu proyecto. |
No es necesario configurar nada más para este caso práctico. |
Subred de Cloud Data Fusion
Valor de referencia | Caso práctico |
---|---|
Desde tu perspectiva (la del cliente), esta subred es donde se encuentra Cloud Data Fusion de forma lógica. Informació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 inquilino. |
No es necesario configurar nada más para este caso práctico. |
Subred de Dataproc
Valor de referencia | Caso práctico |
---|---|
La subred en la que se inician los clústeres de Dataproc cuando ejecutas un flujo de procesamiento. Conclusiones principales:
|
Se trata de una nueva subred en la que se inician los clústeres de Dataproc cuando ejecutas un flujo de procesamiento. Conclusiones principales:
|
Fuentes y sumideros
Valor de referencia | Caso práctico |
---|---|
Las fuentes de las que se extraen los datos y los receptores en los que se cargan, como las fuentes y los receptores de BigQuery. Conclusión principal:
|
Las configuraciones de control de acceso específicas de los casos prácticos de esta página son para fuentes y receptores de BigQuery. |
Cloud Storage
Valor de referencia | Caso práctico |
---|---|
El segmento de almacenamiento del proyecto del cliente que ayuda a transferir archivos entre Cloud Data Fusion y Dataproc. Conclusiones principales:
|
No es necesario configurar nada más para este caso práctico. |
Contenedores temporales usados por la fuente y el receptor
Valor de referencia | Caso práctico |
---|---|
Los contenedores temporales creados por los complementos de tus fuentes y receptores, como las tareas de carga iniciadas por el complemento BigQuery Sink. Conclusiones principales:
|
En este caso, el contenedor se puede crear en cualquier proyecto. |
Contenedores que son fuentes o receptores de datos para complementos
Valor de referencia | Caso práctico |
---|---|
Los segmentos de cliente, que se especifican en las configuraciones de los complementos, como el complemento Cloud Storage y el complemento FTP a Cloud Storage. | No es necesario configurar nada más para este caso práctico. |
IAM: agente de servicio de la API de Cloud Data Fusion
Valor de referencia | Caso práctico |
---|---|
Cuando se habilita la API de Cloud Data Fusion, el rol Agente de servicio de la API de Cloud Data Fusion ( Conclusiones principales:
|
En este caso, asigna el rol Agente de servicio de la API Cloud Data Fusion a la cuenta de servicio del proyecto de Dataproc. A continuación, concede los siguientes roles en ese proyecto:
|
Gestión de identidades y accesos: cuenta de servicio de Dataproc
Valor de referencia | Caso práctico |
---|---|
La cuenta de servicio que se usa para ejecutar el flujo de procesamiento como una tarea en el clúster de Dataproc. De forma predeterminada, es la cuenta de servicio de Compute Engine. Opcional: En la configuración de referencia, puedes cambiar la cuenta de servicio predeterminada por otra cuenta de servicio del mismo proyecto. Asigna los siguientes roles de gestión de identidades y accesos a la nueva cuenta de servicio:
|
En este ejemplo de caso práctico, se presupone que usas la cuenta de servicio predeterminada de Compute Engine ( Concede los siguientes roles a la cuenta de servicio predeterminada de Compute Engine en el proyecto de Dataproc.
Asigna 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. Añada la cuenta de servicio predeterminada de Compute Engine del proyecto de Dataproc al proyecto de Cloud Data Fusion. También debe conceder los siguientes roles:
|
APIs
Valor de referencia | Caso práctico |
---|---|
Cuando habilitas la API Cloud Data Fusion, también se habilitan las siguientes APIs. Para obtener más información sobre estas APIs, vaya a la página APIs y servicios de su proyecto.
Cuando habilitas la API de Cloud Data Fusion, las siguientes cuentas de servicio se añaden automáticamente a tu proyecto:
|
En este caso práctico, habilita las siguientes APIs en el proyecto que
contiene el proyecto de Dataproc:
|
Claves de encriptado
Valor de referencia | Caso práctico |
---|---|
En la configuración de referencia, las claves de cifrado pueden ser gestionadas por Google o CMEK Conclusiones principales: Si utilizas CMEK, tu configuración de referencia debe cumplir los siguientes requisitos:
En función de los servicios que se utilicen en tu canalización, como BigQuery o Cloud Storage, también se debe conceder a las cuentas de servicio el rol Encargado del encriptado y desencriptado de la clave criptográfica Cloud KMS:
|
Si no usas CMEK, no tienes que hacer ningún cambio adicional para este caso práctico. Si usas CMEK, debes asignar el rol Encargado del encriptado y desencriptado de la clave criptográfica Cloud KMS a la siguiente cuenta de servicio a nivel de clave en el proyecto en el que se cree:
En función de los servicios que se utilicen en tu canalización, como BigQuery o Cloud Storage, también se debe asignar el rol de encargado de cifrar o descifrar claves de CryptoKey de Cloud KMS a otras cuentas de servicio a nivel de clave. Por ejemplo:
|
Una vez que hayas realizado estas configuraciones específicas para tu caso práctico, tu flujo de datos podrá empezar a ejecutarse en clústeres de otro proyecto.
Siguientes pasos
- Consulta más información sobre las redes en Cloud Data Fusion.
- Consulta la referencia de roles básicos y predefinidos de gestión de identidades y accesos.