Los Controles del servicio de VPC son una función que te permite configurar un perímetro para protegerte contra el robo de datos. En esta guía, se muestra cómo usar los Controles del servicio de VPC con Dataform para ayudar a que tus servicios sean más seguros.
Los Controles del servicio de VPC proporcionan una capa adicional de defensa para servicios de Google Cloud que son independientes de la protección que proporciona Identity and Access Management (IAM).
Consulta Descripción general de los Controles del servicio de VPC para obtener más información sobre estos.
Limitaciones
Dataform admite los Controles del servicio de VPC con lo siguiente: limitaciones:
Debes establecer Política de la organización de
dataform.restrictGitRemotes
.Dataform y BigQuery deben estar restringidos por el mismo en el perímetro de servicio de los Controles del servicio de VPC.
Consideraciones de seguridad
Cuando configuras un perímetro de Controles del servicio de VPC para Dataform, debes revisar los permisos otorgados a tu servicio de Dataform y garantizar que coincidan con tu arquitectura de seguridad.
Según los permisos que otorgues a una cuenta de servicio de Dataform, haz lo siguiente: esa cuenta de servicio podría tener acceso a BigQuery Datos de Secret Manager en el proyecto al que pertenece la cuenta de servicio sin importar los Controles del servicio de VPC. En ese caso, restringe Dataform con un perímetro de Controles del servicio de VPC no bloquea la comunicación con BigQuery o Secret Manager.
Debes bloquear la comunicación con BigQuery si no necesitas hacerlo ejecutar cualquier invocación de flujo de trabajo que se origine en tus repositorios de Dataform. Para obtener más información sobre cómo bloquear la comunicación con BigQuery, consulta Bloquea la comunicación con BigQuery.
Debes bloquear la comunicación con Secret Manager si ninguno de tus Los repositorios de Dataform se conectan a un repositorio de Git de terceros. Para obtener más información sobre cómo bloquear la comunicación con Secret Manager, consulta Bloquea la comunicación con Secret Manager.
Antes de comenzar
Antes de configurar un perímetro de servicio de Controles del servicio de VPC para
Dataform, sigue la
Guía Restringe repositorios remotos
para establecer la política de la organización dataform.restrictGitRemotes
.
Se requiere la política de la organización dataform.restrictGitRemotes
para garantizar
que se apliquen las verificaciones de los Controles del servicio de VPC
Dataform y el acceso de terceros a Gitform
repositorios están restringidos.
Roles obligatorios
Si deseas obtener los permisos que necesitas para configurar un perímetro de servicio de Controles del servicio de VPC,
solicita a tu administrador que te otorgue el
Rol de IAM de Editor de Access Context Manager (roles/accesscontextmanager.policyEditor
) en el proyecto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Para obtener más información sobre los permisos de los Controles del servicio de VPC, consulta Control de acceso con la IAM.
Configurar los Controles del servicio de VPC
Puedes restringir Dataform con un perímetro de servicio de Controles del servicio de VPC de las siguientes maneras:
- Agrega Dataform a un perímetro de servicio existente que restrinja en BigQuery.
- Crea un perímetro de servicio que restrinja Dataform y BigQuery.
Para agregar Dataform a un perímetro de servicio que restrinja BigQuery, sigue la Actualiza un perímetro de servicio en la documentación de los Controles del servicio de VPC.
Para crear un nuevo perímetro de servicio que restrinja Dataform y BigQuery, sigue el Crea un perímetro de servicio en la documentación de los Controles del servicio de VPC.
Bloquea la comunicación con BigQuery (opcional)
La forma en que Dataform se comunica con BigQuery depende de El tipo de cuenta de servicio que se usa en Dataform.
La cuenta de servicio predeterminada de Dataform usa bigquery.jobs.create
.
permiso para comunicarse con BigQuery. Le otorgas el acceso
Roles de la cuenta de servicio de Dataform que contienen
este permiso cuando otorgues los roles necesarios para
Dataform para ejecutar flujos de trabajo de SQL en BigQuery.
Para bloquear la comunicación entre la cuenta de servicio predeterminada de Dataform
y BigQuery, debes revocar todos los roles predefinidos y personalizados
que contienen el permiso bigquery.jobs.create
, que se otorgaron a
la cuenta de servicio predeterminada de Dataform. Para revocar roles, sigue las
Administra el acceso a proyectos, carpetas y organizaciones
.
las cuentas de servicio personalizadas de Dataform usan las siguientes opciones: y roles para comunicarse con BigQuery:
- El permiso
bigquery.jobs.create
, que se otorga a la cuenta de servicio personalizada. - El rol Creador de tokens de cuenta de servicio (
roles/iam.serviceAccountTokenCreator
) a la cuenta de servicio predeterminada de Dataform en la cuenta de servicio personalizada.
Puedes bloquear la comunicación entre un servicio personalizado de Dataform. y BigQuery de las siguientes maneras:
Revocar el creador de tokens de la cuenta de servicio (
roles/iam.serviceAccountTokenCreator
) otorgada a la cuenta de servicio predeterminada en la cuenta de servicio personalizada de Dataform seleccionada. Para revocar el Creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator
) profesional, sigue la Administra el acceso a las cuentas de servicio .Revocar todos los roles predefinidos y personalizados otorgados en el nivel de proyecto al cuenta de servicio personalizada que contiene el
bigquery.jobs.create
permiso. Para revocar roles, sigue las Administra el acceso a proyectos, carpetas y organizaciones .
El permiso bigquery.jobs.create
se incluye en lo siguiente
roles de IAM de BigQuery predefinidos
que deben revocarse:
- Administrador de BigQuery (
roles/bigquery.admin
) - Usuario de trabajo de BigQuery (
roles/bigquery.jobUser
) - Usuario de BigQuery (
roles/bigquery.user
) - Administrador de BigQuery Studio (
roles/bigquery.studioAdmin
) - Usuario de BigQuery Studio (
roles/bigquery.studioUser
)
Bloquea la comunicación con Secret Manager (opcional)
Dataform usa el permiso secretmanager.versions.access
para
acceder a los Secrets individuales de Secret Manager. Otorgas este permiso
a la cuenta de servicio predeterminada de Dataform
Secret Manager cuando
Conecta un repositorio de Dataform a un repositorio de terceros.
Para bloquear la comunicación entre Dataform y Secret Manager, Debes revocar el acceso a todos los Secrets del Dataform predeterminado cuenta de servicio.
Para revocar el acceso a un Secret de Secret Manager desde la configuración predeterminada
Cuenta de servicio de Dataform,
consulta Administra el acceso a los secretos
en la documentación de Secret Manager. Debes revocar todo
los roles predefinidos y personalizados que contienen
secretmanager.versions.access
, otorgado al valor predeterminado
Cuenta de servicio de Dataform en el Secret seleccionado.
El permiso secretmanager.versions.access
se incluye en lo siguiente
Roles predefinidos de IAM de Secret Manager:
- Administrador de Secret Manager (
roles/secretmanager.admin
) - Administrador de accesos a secretos de Secret Manager (
roles/secretmanager.secretAccessor
) - Administrador de versiones de secretos de Secret Manager (
roles/secretmanager.secretVersionManager
)
¿Qué sigue?
- Consulta Descripción general de los Controles del servicio de VPC para obtener más información sobre estos.
- Para obtener más información sobre la política de la organización, consulta Introducción al Servicio de políticas de la organización.
- Para obtener más información sobre las cuentas de servicio en Dataform, consulta Acerca de las cuentas de servicio en Dataform.