Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

646
Vistas
Cómo establecer variables de entorno/secretos de aplicaciones en Google App Engine

La pregunta es ¿cómo puedo configurar los secretos de la aplicación para que estén disponibles en application.yml ?

En heroku lo estaba haciendo simplemente, configurando la variable de entorno para dyno, y accediendo a ella como:

 server: port: ${PORT} security: user: password: ${USERPASSWORD} eureka: client: register-with-eureka: false fetch-registry: false instance: hostname: localhost securePortEnabled: true password: ${EUREKAPASSWORD}

¿Cómo lograr eso en Google App Engine? Estaba intentando con el almacén de datastore : ingrese la descripción de la imagen aquí

Desafortunadamente, no sé cómo inyectar esos valores en mi archivo * .yml.

EDITAR:

Una cosa más importante para agregar. Estoy usando el complemento maven appengine para implementar mi aplicación a través de la canalización de CI, por lo que no hay posibilidad de que envíe el archivo app.yaml a App Engine.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Si desea almacenar secretos que están disponibles para la aplicación en tiempo de ejecución, mantenerlos en el almacén de datos no es una mala idea. Conozco muchas aplicaciones que hacen eso.

Aquí hay una aplicación utilizada por Khan Academy que es un buen ejemplo de almacenamiento de credenciales secretas en el almacén de datos. Está en Python, pero puedes hacerte una idea general. Tenga en cuenta que en el primer inicio de sesión de administrador , solicita los secretos para almacenar.

over 4 years ago · Santiago Trujillo Denunciar

0

Google también tiene un tutorial sobre cómo almacenar secretos cifrados. https://cloud.google.com/kms/docs/store-secrets

TLDR: un cubo separado para almacenar los secretos cifrados, las instancias lo descargan cuando sea necesario, lo descifran con Google KMS ( https://cloud.google.com/kms/ ) y lo eliminan después.

over 4 years ago · Santiago Trujillo Denunciar

0

La forma mejor y más segura es utilizar GCP KMS o algún producto de administración de secretos de terceros como Vault .

KMS de GCP

  1. Necesitamos usar una cuenta de servicio con permiso (función) de cifrado y descifrado para cifrar el archivo de credenciales (secretos).
  2. Cargue el archivo de credenciales encriptado en GCS
  3. Obtenga la credencial cifrada de GCS y descifre y analícela (por ejemplo, analice el objeto java simple) en tiempo de ejecución en el código de su aplicación.

Almacén de datos

Sí. Podemos almacenar variables de entorno de credenciales/secretos en el almacén de datos y obtenerlas en tiempo de ejecución en el código de la aplicación.

Ventajas:

  1. Simple
  2. Se puede usar en casi todas partes, entorno estándar GAE, entorno flexible GAE, GCE, GCF, GKE, Cloud Run.

Contras:

  1. La seguridad no es tan buena como KMS.

metadatos de la GCE

Solía usar el servidor de metadatos GCE para almacenar mis variables de entorno secretas.

Ventajas:

  1. Es compatible con GAE, GCE, GKE.

  2. Muy simple. Solo necesitamos enviar solicitudes HTTP al http://metadata.google.internal/computeMetadata/v1/ endpoint para obtener nuestros metadatos personalizados (las variables de entorno secretas).

Contras:

  1. El año pasado, los metadatos de GCE no son compatibles con Cloud Function. (tiempo de ejecución: nodejs10). No puedo obtener mis variables de entorno de secretos personalizados de los metadatos de GCE dentro de la función de nube. Pero los metadatos incorporados se pueden recuperar, como projectId .

  2. la seguridad no es tan buena como KMS.

mapa de configuración y secretos (solo para GKE)

El cifrado base64 simple es posible. Dificultad media de uso. La seguridad no es tan buena como KMS.

Otra forma de hackear

También creo una publicación para esta pregunta aquí: ¿Cómo pasar variables de entorno del sistema a app.yaml?

Sí, la forma de script de Linux puede hacer todo. Pero no me gustan estos trucos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda