如何使用 ARN 从 Secrets Manager 获取机密

How to Use ARN to get the secrets from Secrets Manager

所以我有 Vue-Nestjs 项目,我正在使用来自 npm 的 aws-sdk,我想访问我的 S3 存储桶,当我列出凭证时,所有凭证都存储在 aws secret manager 中

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);

      }

我得到了这样的回应

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

那么我们如何使用这些 ARN 键 ​​put/list s3 存储桶中的对象

从响应中获取 ARN 后,我们可以使用它来获取实际的秘密 通过在 secretsmanager getSecretValue 函数参数中使用 ARN 作为 SecretId

例如:

const secret ={
          "SecretId": s3Secret.ARN,
        }

secretsmanager.getSecretValue(secret, (err,data)=>{
          if(data){
            console.log('s3 secret ===>>>>>',data);
            return data;
          }
          if(err){
            console.log(err);
          }

})
        

然后使用这些秘密我们可以执行所有任务