Caso de uso: Control de acceso con cuentas de servicio de espacio de nombres
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se describe el caso de uso en el que controlas el acceso a los recursos de Google Clouda nivel del espacio de nombres cuando migras datos de Cloud Storage a BigQuery.
Para mejorar el aislamiento de los datos, puedes asociar una cuenta de servicio de IAM personalizada (conocida como cuenta de servicio por espacio de nombres) con cada espacio de nombres. La cuenta de servicio de IAM personalizada, que puede ser diferente para distintos espacios de nombres, te permite controlar el acceso a los recursos deGoogle Cloud entre espacios de nombres para las operaciones de tiempo de diseño de la canalización en Cloud Data Fusion, como la vista previa de la canalización, Wrangler y la validación de la canalización.
En este caso de uso, tu departamento de marketing migra datos de Cloud Storage a BigQuery con Cloud Data Fusion.
El departamento de marketing tiene tres equipos: A, B y C.
Tu objetivo es establecer un enfoque estructurado para controlar el acceso a los datos en Cloud Storage a través de los espacios de nombres de Cloud Data Fusion que corresponden a cada equipo: A, B y C, respectivamente.
Solución
En los siguientes pasos, se muestra cómo controlar el acceso a los recursos de Google Cloud con cuentas de servicio de espacio de nombres, lo que evita el acceso no autorizado entre los almacenes de datos de diferentes equipos.
Asocia una cuenta de servicio de Identity and Access Management a cada espacio de nombres
Configura el control de acceso agregando una cuenta de servicio personalizada para el equipo A, por ejemplo, team-a@pipeline-design-time-project.iam.gserviceaccount.com.
Figura 1: Agrega una cuenta de servicio personalizada para el equipo A.
Repite los pasos de configuración para los equipos B y C para configurar el control de acceso con cuentas de servicio personalizadas similares.
Limita el acceso a los buckets de Cloud Storage
Limita el acceso a los buckets de Cloud Storage otorgando los permisos adecuados:
Otorga a la cuenta de servicio de IAM el permiso storage.buckets.list, que se requiere para enumerar los buckets de Cloud Storage en el proyecto.
Para obtener más información, consulta Cómo enumerar buckets.
Otorga permiso a la cuenta de servicio de IAM para acceder a los objetos de buckets específicos.
Por ejemplo, otorga el rol de Visualizador de objetos de Storage a la cuenta de servicio de IAM asociada con el espacio de nombres team_A en el bucket team_a1. Este permiso permite que el equipo A vea y enumere objetos y carpetas administradas, junto con sus metadatos, en ese bucket en un entorno de tiempo de diseño aislado.
Figura 2: En la página Buckets de Cloud Storage, agrega el equipo como principal y asígnale el rol de usuario de objeto de Storage.
Crea la conexión de Cloud Storage en los espacios de nombres respectivos
Crea una conexión de Cloud Storage en el espacio de nombres de cada equipo:
En la consola de Google Cloud , ve a la página Instances de Cloud Data Fusion y abre una instancia en la interfaz web de Cloud Data Fusion.
Haz clic en Administrador del sistema > Configuración > Espacios de nombres.
Haz clic en el espacio de nombres que quieras usar, por ejemplo, el espacio de nombres del equipo A.
Haz clic en la pestaña Conexiones y, luego, en Agregar conexión.
Selecciona GCS y configura la conexión.
Figura 3: Configura la conexión de Cloud Storage para el espacio de nombres.
Repite los pasos anteriores para crear una conexión de Cloud Storage para cada espacio de nombres. Luego, cada equipo puede interactuar con una copia aislada de ese recurso para sus operaciones de tiempo de diseño.
Valida el aislamiento en tiempo de diseño para cada espacio de nombres
El equipo A puede validar el aislamiento en el diseño accediendo a los buckets de Cloud Storage en sus respectivos espacios de nombres:
En la consola de Google Cloud , ve a la página Instances de Cloud Data Fusion y abre una instancia en la interfaz web de Cloud Data Fusion.
Haz clic en Administrador del sistema > Configuración > Espacios de nombres.
Selecciona un espacio de nombres, por ejemplo, el espacio de nombres del equipo A, team_A.
Haz clic en menuMenú > Wrangler.
Haz clic en GCS.
En la lista de buckets, haz clic en el bucket team_a1.
Puedes ver la lista de buckets porque el espacio de nombres del equipo A tiene permiso de storage.buckets.list.
Cuando haces clic en el bucket, puedes ver su contenido porque el espacio de nombres del equipo A tiene el rol de visualizador de objetos de Storage.
Figuras 4 y 5: Verifica que el equipo A pueda acceder al bucket de almacenamiento adecuado.
Regresa a la lista de buckets y haz clic en el bucket team_b1 o team_c1.
El acceso está restringido, ya que aislaste este recurso de tiempo de diseño para el equipo A con su cuenta de servicio de espacio de nombres.
Figura 6: Comprueba que el equipo A no pueda acceder a los buckets de almacenamiento de los equipos B y C.
¿Qué sigue?
Obtén más información sobre las funciones de seguridad en Cloud Data Fusion.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eThis content details how to control access to Google Cloud resources at the namespace level in Cloud Data Fusion, using a customized IAM service account for each namespace to enhance data isolation.\u003c/p\u003e\n"],["\u003cp\u003eA practical scenario is presented where the marketing department, divided into three teams (A, B, and C), utilizes Cloud Data Fusion to migrate data from Cloud Storage to BigQuery, with each team operating within its own isolated namespace.\u003c/p\u003e\n"],["\u003cp\u003eAccess to Cloud Storage buckets is limited by granting the IAM service account \u003ccode\u003estorage.buckets.list\u003c/code\u003e permission and specific bucket access permissions like the Storage Object Viewer role.\u003c/p\u003e\n"],["\u003cp\u003eEach team creates a Cloud Storage connection within its respective namespace, allowing them to interact with an isolated copy of the resource during design-time operations, preventing unauthorized access between teams.\u003c/p\u003e\n"],["\u003cp\u003eThe isolation is validated by demonstrating that Team A can access its designated bucket (\u003ccode\u003eteam_a1\u003c/code\u003e) but is restricted from accessing buckets belonging to other teams (\u003ccode\u003eteam_b1\u003c/code\u003e or \u003ccode\u003eteam_c1\u003c/code\u003e).\u003c/p\u003e\n"]]],[],null,["# Use case: Access control with namespace service accounts\n\n| **Preview**\n|\n|\n| This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nThis page describes the use case where you control access to Google Cloud\nresources at the namespace level when you migrate data from Cloud Storage to\nBigQuery.\n\nTo control access to Google Cloud resources, namespaces in\nCloud Data Fusion use the [Cloud Data Fusion API Service Agent](/iam/docs/understanding-roles#datafusion.serviceAgent)\nby default.\n\nFor better data isolation, you can associate a customized IAM\nservice account (known as a *Per Namespace Service Account*) with each\nnamespace. The customized IAM service account, which can be\ndifferent for different namespaces, lets you control access to\nGoogle Cloud resources between namespaces for pipeline design-time\noperations in Cloud Data Fusion, such as pipeline preview, Wrangler, and\npipeline validation.\n\nFor more information, see [Access control with namespace service accounts](/data-fusion/docs/how-to/control-access-in-namespace).\n\nScenario\n--------\n\nIn this use case, your marketing department migrates data from\nCloud Storage to BigQuery using Cloud Data Fusion.\n\nThe marketing department has three teams: A, B, and C.\nYour objective is to establish a structured approach to control data access in\nCloud Storage through Cloud Data Fusion namespaces corresponding\nto each team---A, B, and C, respectively.\n\nSolution\n--------\n\nThe following steps show how you control access to Google Cloud resources\nwith namespace service accounts, preventing unauthorized access between the\ndatastores of different teams.\n\n### Associate an Identity and Access Management service account to each namespace\n\nConfigure an IAM service account in the namespace for each team\n(see\n[Configure a namespace service account](/data-fusion/docs/how-to/control-access-in-namespace#configure)):\n\n1. Set up the access control by adding a customized service account for\n Team A---for example,\n `team-a@pipeline-design-time-project.iam.gserviceaccount.com`.\n\n **Figure 1**: Add a customized service account for Team A.\n2. Repeat the configuration steps for Teams B and C to set up access\n control with similar customized service accounts.\n\n### Limit access to the Cloud Storage buckets\n\nLimit the access to Cloud Storage buckets by giving appropriate\npermissions:\n\n1. Give the IAM service account the `storage.buckets.list` permission, required to list Cloud Storage buckets in the project. For more information, see [Listing buckets](/storage/docs/listing-buckets#console-list-buckets).\n2. Give the IAM service account permission to access the\n objects in particular buckets.\n\n For example, grant the\n [Storage Object Viewer](/storage/docs/access-control/iam-roles#standard-roles)\n role to the IAM service account associated with the\n namespace `team_A` on the bucket `team_a1`. This permission lets Team A view\n and list objects and managed folders, along with their metadata, in that\n bucket in an isolated design time environment.\n **Figure 2** : On the Cloud Storage **Buckets** page, add the team as a principal and assign the Storage Object User role.\n\n### Create the Cloud Storage connection in the respective namespaces\n\nCreate Cloud Storage connection in each team's namespace:\n\n1. In the Google Cloud console, go to the Cloud Data Fusion\n **Instances** page and open an instance in the Cloud Data Fusion web\n interface.\n\n [Go to Instances](https://console.cloud.google.com/data-fusion/locations/-/instances)\n2. Click **System admin \\\u003e Configuration \\\u003e Namespaces**.\n\n3. Click the namespace you want to use---for example, the namespace for Team A.\n\n4. Click the **Connections** tab, and then click **Add connection**.\n\n5. Select **GCS** and configure the connection.\n\n **Figure 3**: Configure the Cloud Storage connection for the namespace.\n6. Create a Cloud Storage connection for every namespace by\n repeating the preceding steps. Each team can then interact with an isolated\n copy of that resource for their design time operations.\n\n### Validate design time isolation for each namespace\n\nTeam A can validate the isolation at design by accessing Cloud Storage\nbuckets in their respective namespaces:\n\n1. In the Google Cloud console, go to the Cloud Data Fusion\n **Instances** page and open an instance in the Cloud Data Fusion web\n interface.\n\n [Go to Instances](https://console.cloud.google.com/data-fusion/locations/-/instances)\n2. Click **System admin \\\u003e Configuration \\\u003e Namespaces**.\n\n3. Select a namespace---for example the Team A namespace, `team_A`.\n\n4. Click menu\n **Menu \\\u003e Wrangler**.\n\n5. Click **GCS**.\n\n6. In the bucket list, click the `team_a1` bucket.\n\n - You can view the list of buckets because the Team A namespace has\n `storage.buckets.list` permission.\n\n - When you click the bucket, you can view its contents because the Team A\n namespace has the Storage Object Viewer role.\n\n **Figures 4 and 5**: Check that Team A can access the appropriate storage bucket.\n7. Go back to the bucket list and click the `team_b1` or `team_c1` bucket.\n The access is restricted, as you isolated this design time resource for\n Team A using its namespace service account.\n\n **Figure 6**: Check that Team A cannot access Team B and C storage buckets.\n\nWhat's next\n-----------\n\n- Learn more about [security](/data-fusion/docs/concepts/security) features in Cloud Data Fusion."]]