Controles de Servicio de VPC

Controles de Servicio de VPC permite a las organizaciones definir un perímetro alrededor de los recursos deGoogle Cloud para mitigar el riesgo de filtración externa de datos. Con Controles de Servicio de VPC, puede crear perímetros que protejan los recursos y los datos de los servicios que especifique.

Servicios de Firestore agrupados

Las siguientes APIs se agrupan en Controles de Servicio de VPC:

  • firestore.googleapis.com
  • datastore.googleapis.com
  • firestorekeyvisualizer.googleapis.com

Cuando restringe el servicio firestore.googleapis.com en un perímetro, el perímetro también restringe los servicios datastore.googleapis.com y firestorekeyvisualizer.googleapis.com.

Restringir el servicio datastore.googleapis.com

El servicio datastore.googleapis.com se incluye en el servicio firestore.googleapis.com. Para restringir el servicio datastore.googleapis.com, debes restringir el servicio firestore.googleapis.com de la siguiente manera:

  • Cuando crees un perímetro de servicio con la Google Cloud consola, añade Firestore como servicio restringido.
  • Cuando crees un perímetro de servicio con Google Cloud CLI, usa firestore.googleapis.com en lugar de datastore.googleapis.com.

    --perimeter-restricted-services=firestore.googleapis.com
    

Servicios agrupados antiguos de App Engine para Datastore

Los servicios agrupados antiguos de App Engine para Datastore no admiten perímetros de servicio. Proteger el servicio Datastore con un perímetro de servicio bloquea el tráfico de los servicios agrupados antiguos de App Engine. Los servicios antiguos incluidos son los siguientes:

Protección de salida en operaciones de importación y exportación

Firestore en modo Datastore admite Controles de Servicio de VPC, pero requiere una configuración adicional para obtener una protección de salida completa en las operaciones de importación y exportación. Debes usar el agente de servicio de Firestore para autorizar las operaciones de importación y exportación en lugar de la cuenta de servicio predeterminada de App Engine. Sigue estas instrucciones para ver y configurar la cuenta de autorización de las operaciones de importación y exportación.

Agente de servicio de Firestore

Firestore usa un agente de servicio de Firestore para autorizar las operaciones de importación y exportación en lugar de usar la cuenta de servicio de App Engine. El agente de servicio y la cuenta de servicio usan las siguientes convenciones de nomenclatura:

Agente de servicio de Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Anteriormente, Firestore usaba la cuenta de servicio predeterminada de App Engine en lugar del agente de servicio de Firestore. Si tu base de datos sigue usando la cuenta de servicio de App Engine para importar o exportar datos, te recomendamos que sigas las instrucciones de esta sección para migrar al agente de servicio de Firestore.

Cuenta de servicio de App Engine
PROJECT_ID@appspot.gserviceaccount.com

Es preferible usar el agente de servicio de Firestore porque es específico de Firestore. La cuenta de servicio de App Engine se comparte entre varios servicios.

Ver cuenta de autorización

Puede ver qué cuenta usan sus operaciones de importación y exportación para autorizar solicitudes en la página Importar/Exportar de la consola de Google Cloud . También puedes ver si tu base de datos ya usa el agente de servicio de Firestore.

  1. En la Google Cloud consola, ve a la página Bases de datos.

    Ir a Bases de datos

  2. Seleccione la base de datos que necesite de la lista de bases de datos.
  3. En el menú de navegación, haga clic en Importar/Exportar.

  4. Consulta la cuenta de autorización junto a la etiqueta Las tareas de importación o exportación se ejecutan como.

Si tu proyecto no usa el agente de servicio de Firestore, puedes migrar a él con cualquiera de estas técnicas:

Es preferible usar la primera técnica porque localiza el ámbito del efecto en un solo proyecto en modo Datastore. No se recomienda usar la segunda técnica porque no migra los permisos de los segmentos de Cloud Storage. Sin embargo, sí ofrece cumplimiento de seguridad a nivel de organización.

Migrar comprobando y actualizando los permisos de los segmentos de Cloud Storage

El proceso de migración consta de dos pasos:

  1. Actualiza los permisos de los segmentos de Cloud Storage. En la siguiente sección encontrarás más información al respecto.
  2. Confirma la migración al agente de servicio de Firestore.

Permisos de segmento del agente de servicio

En las operaciones de importación o exportación que usen un segmento de Cloud Storage de otro proyecto, debes conceder permisos al agente de servicio de Firestore para ese segmento. Por ejemplo, las operaciones que mueven datos a otro proyecto necesitan acceder a un segmento de ese otro proyecto. De lo contrario, estas operaciones fallarán después de migrar al agente de servicio de Firestore.

Los flujos de trabajo de importación y exportación que se mantienen en el mismo proyecto no requieren cambios en los permisos. El agente de servicio de Firestore puede acceder a los segmentos del mismo proyecto de forma predeterminada.

Actualiza los permisos de los segmentos de Cloud Storage de otros proyectos para dar acceso al service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com agente de servicio. Asigna el rol Firestore Service Agent al agente de servicio.

El rol Firestore Service Agent concede permisos de lectura y escritura para un segmento de Cloud Storage. Si solo necesitas conceder permisos de lectura o escritura, usa un rol personalizado.

El proceso de migración que se describe en la siguiente sección te ayuda a identificar los contenedores de Cloud Storage que pueden requerir actualizaciones de permisos.

Migrar un proyecto al agente de servicio de Firestore

Sigue estos pasos para migrar de la cuenta de servicio de App Engine al agente de servicio de Firestore. Una vez completada, la migración no se puede deshacer.

  1. En la Google Cloud consola, ve a la página Bases de datos.

    Ir a Bases de datos

  2. Seleccione la base de datos que necesite de la lista de bases de datos.
  3. En el menú de navegación, haga clic en Importar/Exportar.

  4. Si tu proyecto aún no se ha migrado al agente de servicio de Firestore, verás un banner que describe la migración y un botón Comprobar estado del segmento. En el siguiente paso, se explica cómo identificar y corregir posibles errores de permisos.

    Haz clic en Comprobar estado del segmento.

    Aparecerá un menú con la opción de completar la migración y una lista de segmentos de Cloud Storage. La lista puede tardar unos minutos en cargarse.

    Esta lista incluye los segmentos que se han usado recientemente en operaciones de importación y exportación, pero que no tienen permisos de lectura y escritura para el agente de servicio del modo Datastore.

  5. Anota el nombre de la entidad de seguridad del servicio del modo Datastore de tu proyecto. El nombre del agente de servicio aparece debajo de la etiqueta Agente de servicio al que se le debe dar acceso.
  6. En cada uno de los contenedores de la lista que vayas a usar en futuras operaciones de importación o exportación, sigue estos pasos:

    1. En la fila de la tabla de este segmento, haz clic en Corregir. Se abrirá la página de permisos de ese contenedor en una pestaña nueva.

    2. Haz clic en Añadir.
    3. En el campo New principals (Nuevos principales), introduce el nombre de tu agente de servicio de Firestore.
    4. En el campo Seleccionar un rol, selecciona Agentes de servicio > Agente de servicio de Firestore.
    5. Haz clic en Guardar.
    6. Vuelve a la pestaña con la página Importar/Exportar del modo Datastore.
    7. Repite estos pasos con el resto de los segmentos de la lista. Asegúrate de ver todas las páginas de la lista.
  7. Haz clic en Migrar al agente de servicio de Firestore. Si aún tienes contenedores con comprobaciones de permisos fallidas, debes confirmar la migración haciendo clic en Migrar.

    Recibirás una alerta cuando se complete la migración. La migración no se puede deshacer.

Ver el estado de la migración

Para verificar el estado de migración de tu proyecto, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Bases de datos.

    Ir a Bases de datos

  2. Seleccione la base de datos que necesite de la lista de bases de datos.
  3. En el menú de navegación, haga clic en Importar/Exportar.

  4. Busca la cuenta principal junto a la etiqueta Tareas de importación o exportación ejecutadas como.

    Si el principal es service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com, tu proyecto ya se ha migrado al agente de servicio de Firestore. La migración no se puede deshacer.

    Si el proyecto no se ha migrado, aparecerá un banner en la parte superior de la página con el botón Comprobar estado del contenedor. Consulta el artículo Migrar al agente de servicio de Firestore para completar la migración.

Añadir una restricción de política de toda la organización

  • Define la siguiente restricción en la política de tu organización:

    Requerir el agente de servicio de Firestore para importar o exportar (firestore.requireP4SAforImportExport).

    Esta restricción requiere que las operaciones de importación y exportación usen el agente de servicio de Firestore para autorizar las solicitudes. Para definir esta restricción, consulta el artículo Crear y gestionar políticas de la organización .

Al aplicar esta restricción de política de organización, no se conceden automáticamente los permisos adecuados del segmento de Cloud Storage al agente de servicio de Firestore.

Si la restricción genera errores de permisos en algún flujo de trabajo de importación o exportación, puedes inhabilitarla para volver a usar la cuenta de servicio predeterminada. Después de comprobar y actualizar los permisos del segmento de Cloud Storage, puedes volver a habilitar la restricción.