Search code examples
javascripttypescriptamazon-s3nestjsaws-secrets-manager

How to Use ARN to get the secrets from Secrets Manager


So I have Vue-Nestjs project ,I am using aws-sdk from npm, I want to access my S3 bucket and All the credentials are stored in aws secret manager, when I list the credentials

const secretsmanager = new AWS.SecretsManager({region:'some region'})

    // console.log(secretsmanager);

    const params={}

    // for listing secrets

    secretsmanager.listSecrets(params,(err,data)=>{
      if(data){
        console.log('resp',data);
        return data
      }
      if(err){
        console.log('error',err);

      }

I get this kind of response

{
    ARN:'some string',                                                                                                                      
    Name: 'S3',
    Description: 'some desc',
    LastChangedDate: 'some',
    LastAccessedDate: 'somedate',
    Tags: [],
    SecretVersionsToStages: { 'somestring': [Array] },
    CreatedDate: 'somedate'
}

so how do we put/list objects in the s3 Bucket with these ARN keys


Solution

  • After getting the ARN from the response we can use it to get the actual secret by using ARN as SecretId in secretsmanager getSecretValue funtion params

    for eg:

    const secret ={
              "SecretId": s3Secret.ARN,
            }
    
    secretsmanager.getSecretValue(secret, (err,data)=>{
              if(data){
                console.log('s3 secret ===>>>>>',data);
                return data;
              }
              if(err){
                console.log(err);
              }
    
    })
            
    

    then using these secrets we can perform all the tasks