【发布时间】:2021-08-24 05:35:08
【问题描述】:
这可能是一个愚蠢的问题,但是以这种方式从我的 React 前端应用程序(托管在 AWS Amplify 上)访问 AWS 机密是否安全?
这些秘密显然不打算公开,所以我不想使用放大环境变量选项。
如果这不是将 API 机密和密钥加载到前端应用程序的适当方式,那么什么是?
var AWS = require('aws-sdk'),
region = "us-east-2",
secretName = "MNTSWP",
secret,
decodedBinarySecret;
// Create a Secrets Manager client
var client = new AWS.SecretsManager({
region: region
});
client.getSecretValue({SecretId: secretName}, function(err, data) {
if (err) {
if (err.code === 'DecryptionFailureException')
throw err;
else if (err.code === 'InternalServiceErrorException')
throw err;
else if (err.code === 'InvalidParameterException')
throw err;
else if (err.code === 'InvalidRequestException')
throw err;
else if (err.code === 'ResourceNotFoundException')
throw err;
}
else {
if ('SecretString' in data) {
secret = data.SecretString;
} else {
let buff = new Buffer(data.SecretBinary, 'base64');
decodedBinarySecret = buff.toString('ascii');
}
}
// Your code goes here.
});
【问题讨论】:
标签: reactjs amazon-web-services security aws-secrets-manager amplify