适用于Zeit上部署的Next.js应用程序的AWS credentails的正确存储位置

时间:2019-01-08 19:26:11

标签: amazon-web-services next.js zeit-now

我有一个部署到Zeit的Next.js应用程序。 我想访问一些AWS服务:SNS发送文本消息,DynamoDB存储一些数据。

aws-sdk可用于JavaScript,因此可以很容易地利用AWS的任何服务

发送短信的示例功能

import SNS from 'aws-sdk/clients/sns';

export function sendTextMessage(message, phone) {
  return new Promise((resolve, reject) => {
    const snsParams = {
      Message: message,
      PhoneNumber: phone
    };

    const snsClient = new SNS({ region: 'us-east-1' });

    snsClient.publish(snsParams, (error, data) => {
      if (error) {
        reject(error);
      } else {
        resolve(data);
      }
    });
  });
}

问题是,在哪里/如何在Zeit托管上安全地存储AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY?因此它不会暴露给最终用户。

感谢您的帮助! 谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用AWS Secrets Manager安全地存储和检索AWS密钥。

https://aws.amazon.com/secrets-manager/