私はHerokuとAWS EC2にアプリをデプロイしました。また、画像と動画をアップロードするためのストレージ用のAWS S3も作成しました。突然Herokuが私のアプリケーションに最近の脆弱性の影響を受けたと電子メールで通知しました。AWS S3のアクセスキーが盗まれました(おそらくアクセスキーを鉱山しているボットや私のリポジトリは私的ではないので、私は早くそれを見てうれしく、キーを削除して新しいものを生成することができました。基本的に画像をアップロードするための私のコードはこれです。herokuまたはAWS EC2のENV変数からS3資格情報にアクセス
コード内の.jsonファイルからのアクセスキー。
{
"accessKeyId": "xxxxxxxxxxxxx",
"secretAccessKey": "xxxxxxxxxxxxxxxxxxxx",
"region": "us-east-2"
}
マイミドルウェア
const multer = require('multer');
const AWS = require('aws-sdk');
const multerS3 = require('multer-s3');
AWS.config.loadFromPath('./resources/AwsS3Key.json');
var s3 = new AWS.S3();
const s3Storage = multerS3({
s3 : s3,
bucket : 'entrenami-app-bucket',
acl : 'public-read',
key : function (req, file, callback) {
callback(null, file.originalname);
}
});
module.exports.s3Upload = multer({ storage: s3Storage });
私は、画像やビデオをアップロードするための私の急行ルータに私のミドルウェアを取り付けました。
AWSの文書では、ソースコードにアクセスキーを入れてはいけないと書かれています。だから私はgitignoreに追加しました。 AWS EC2またはHerokuでアプリをデプロイしたときにアクセスキーにアクセスするにはどうすればよいですか?私はENV変数を使用して私のキーにアクセスする方法はありません。私はドキュメントを読んできましたが、私はそれを念頭に置くことはできません。前もって感謝します。
ご連絡ありがとうございます。私は早く頭の中でそれを包むことができない。そこで、私はステップを1つずつ順番に実行し、ノードアプリケーションがAWS S3キーにアクセスするためのEC2の環境変数を設定しました。明日はヒロクを試してみるよ。 と私のソースコードでキーを入れて私の馬鹿だったねえ私はそれが英雄の中で盗まれることがわかっていない、とにかく再びありがとう。 –