Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

373
Visualizações
Google Cloud Secrets Manager niega el acceso a la aplicación App Engine pero funciona con Google Cloud Function

Estoy tratando de conectarme para obtener un secreto del administrador de secretos de Google y el mismo código funciona para Cloud Functions, pero no para App Engine.

const { SecretManagerServiceClient } = require('@google-cloud/secret-manager');

 const secretManagerServiceClient = new SecretManagerServiceClient(); const name = 'projects/000000000000/secrets/database/versions/latest'; exports.testSecretManager = async (req, res) => { const [version] = await secretManagerServiceClient.accessSecretVersion({ name }); const payload = version.payload.data.toString(); console.debug(`Payload: ${payload}`); res.sendStatus(200); };

El mismo código funciona bien cuando lo implemento como una función.

ingrese la descripción de la imagen aquí

Pero cuando ejecuto el mismo código como parte de la aplicación App Engine. Falla con este error:

 Error: 16 UNAUTHENTICATED: Failed to retrieve auth metadata with error: Could not refresh access token: Unsuccessful response status code. Request failed with status code 500 at Object.callErrorFromStatus (/workspace/node_modules/@grpc/grpc-js/build/src/call.js:31:26) at Object.onReceiveStatus (/workspace/node_modules/@grpc/grpc-js/build/src/client.js:180:52) at Object.onReceiveStatus (/workspace/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:365:141) at Object.onReceiveStatus (/workspace/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:328:181) at /workspace/node_modules/@grpc/grpc-js/build/src/call-stream.js:182:78 at processTicksAndRejections (node:internal/process/task_queues:78:11)

Creo que tanto Cloud Functions como App Engine están administrados por la misma cuenta de servicio "Cuenta de servicio predeterminada de App Engine". Y tiene derechos.

Parece que GOOGLE_APPLICATION_CREDENTIALS no se encuentra en el entorno.

console.log(process.env.GOOGLE_APPLICATION_CREDENTIALS); me da indefinido. ¿Puede ser esto una razón? Entonces, ¿cómo paso este entorno al motor de la aplicación?

¿Cómo puedo depurar esto más profundamente?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Asegúrese de que la función Secret Manager Secret Accessor se otorgue a la cuenta de servicio de IAM para App Engine. El rol exacto que necesitaría agregar es: roles/secretmanager.secretAccessor. Puede consultar aquí para obtener más detalles.

Además, eche un vistazo a este caso de Stackoverflow .

about 4 years ago · Juan Pablo Isaza Relatório

0

Encuentre aquí una respuesta bellamente escrita.

Y también la documentación oficial de Google que no incluye a GAE como un producto compatible directamente; sin embargo, GCE/GKE son compatibles de fábrica, si esa es una opción para usted.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda