Requisito de App Engine

Si tu base de datos de Firestore está vinculada a una aplicación de App Engine, entonces requiere una aplicación de App Engine activa en el mismo proyecto. Sin la app de App Engine activa, el acceso de lectura y escritura a la base de datos está inhabilitado.

Requisito de App Engine activo

Una aplicación de App Engine activa significa que una aplicación existe en el mismo proyecto y que no está inhabilitada. No requiere que la aplicación tenga uso. La app y la base de datos vinculadas deben existir en la misma región.

Si inhabilitas la app de App Engine, también inhabilitas el acceso a la base de datos de Firestore vinculada a esa app.

Actualización obligatoria

En una versión futura de Firestore, las bases de datos nuevas aprovisionarán la desvinculación de App Engine de forma predeterminada. Además, todas las bases de datos existentes y recién creadas tendrán los siguientes requisitos:

  • Para administrar tu base de datos desde Google Cloud Console y la CLI de gcloud, la API de Firestore debe estar habilitada en el proyecto. Esto es necesario para las bases de datos de Firestore en modo nativo y Firestore en modo Datastore.
  • Cuando se ejecute desde Google Cloud Console o la CLI de gcloud, las siguientes operaciones administrativas requerirán los siguientes permisos de IAM:

    • Crear base de datos: datastore.databases.create
    • Ver metadatos de la base de datos: datastore.databases.getMetadata
    • Editar metadatos de la base de datos: datastore.databases.update
Si tu base de datos se verá afectada por el cambio de requisitos, verás el siguiente aviso en las páginas de Firestore de Google Cloud Console:

Pronto se necesitará la API de Firestore para administrar su base de datos. Habilita la API y asegúrate de tener los permisos necesarios.

Verifica tus permisos de IAM para asegurarte de que tu acceso a la base de datos no se vea afectado. Si usas una función personalizada, es posible que carezca del permiso datastore.databases.getMetadata. datastore.databases.getMetadata admite funciones personalizadas.

Actualizar permisos de IAM

Verifica que las cuentas que acceden a la base de datos a través de Google Cloud Console tengan los permisos necesarios:

  • Crear base de datos: datastore.databases.create
  • Ver datos: datastore.databases.getMetadata
  • Editar datos: datastore.databases.update

Las funciones predefinidas, como Usuario de Datastore y Visualizador de Datastore, incluyen los permisos necesarios. Si creaste funciones personalizadas de IAM, es posible que debas actualizarlas para incluir los permisos anteriores.

Si usas una función personalizada para administrar el acceso a la consola, actualiza las funciones con datastore.databases.getMetadata o usa una función predefinida a fin de garantizar el acceso continuo.

Si inhabilitas una aplicación de App Engine vinculada, también inhabilitas el acceso de lectura y escritura a tu base de datos. Si esto sucede, la página Datos de Firestore en Google Cloud Console presenta la opción de desvincular tu base de datos de la aplicación de App Engine. Haz clic en Desvincular base de datos para comenzar el proceso.

Ir a datos de Firestore

También puedes desvincular tu base de datos a través de la API de REST.

curl -X PATCH
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-type: application/json" \
--data '{"app_engine_integration_mode": "DISABLED"}' \
"https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/(default)?updateMask=appEngineIntegrationMode"

Cuando desvinculas tu base de datos, puedes inhabilitar App Engine sin afectar el acceso a ella. La desvinculación es una operación permanente. La operación de desvinculación puede tardar hasta cinco minutos en aplicarse.

También puedes verificar el estado de desvinculación mediante la API de REST.

curl  --header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-type: application/json" \
"https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/(default)"