es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es posible que AWS CDK cree un secreto con un valor en blanco o marcador de posición?

Estoy conectando mi CodePipeline a Github, así que agregué estas líneas:

CodePipelineSource.gitHub("nombre_de_usuario/repo", "main", {
   authentication: cdk.SecretValue.secretsManager("token-de-github")
})

y cuando ejecuto cdk deploy, falla como se esperaba con el siguiente error:

Pipeline/Pipeline (Pipeline9850B417) Secrets Manager no puede encontrar el secreto especificado. (Servicio: AWSSecretsManager; Código de estado: 400; Código de error: ResourceNotFoundException; ID de solicitud: eaa59d67-bb64-472c-abc4-9d4896c09d7e; Proxy: nulo)

¿Es posible que CDK cree el secreto con un valor en blanco o marcador de posición, de modo que aún falle con un tipo de acceso denegado, pero luego pueda ir a la consola de AWS y simplemente ingresar el valor?

Aclaración: No espero que CDK cree un token de OAuth. Lo que quería lograr es ejecutar cdk deploy, que falle, ir a Secrets Manager y encontrar el secreto con un valor de marcador de posición, ingresar el valor, ejecutar cdk deploy nuevamente y tener éxito en ese momento.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, es posible que CDK cree el secreto con un valor en blanco o marcador de posición para que puedas ir a la consola de AWS y completar el valor más tarde. Para lograr esto, puedes modificar el método secretsManager para incluir una opción generateSecretString con una secretStringTemplate que contenga el valor de marcador de posición. Aquí tienes un ejemplo:

    CodePipelineSource.gitHub("username/repo", "main", {
       authentication: cdk.SecretValue.secretsManager("github-token", {
         generateSecretString: {
           secretStringTemplate: '{"username": "", "password": ""}',
           generateStringKey: 'password'
         }
       })
    })
    

    Esto creará un nuevo secreto con los campos username y password y un valor en blanco para la contraseña. Cuando ejecutes cdk deploy, fallará con un error de acceso denegado, pero podrás ir a la consola de Secrets Manager, editar el secreto e ingresar el valor real de la contraseña. Luego podrás ejecutar cdk deploy nuevamente y debería tener éxito.

Comments are closed.