Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

181
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!