>プログラミングAWSアクセスキーが漏洩して破産しかけた話2019年9月24日こんにちは、Nanayakuです。自分は、AWSアクセスキーをGitHubに公開してしまい、破産しかけたました。その経緯と予防・対策について説明します。画像投稿機能のアプリをデプロイし、S3に画像を保存しようとしている初学者に見て欲しいです。まとめなぜ漏洩したのか?自分は、転職用のポートフォリオでTwitterのクローンアプリを作成し、herokuにデプロイしました。herokuには、投稿された画像を保存しておく事が出来ません。保存できない理由は、こちらを参照ください。そこで、自分はAWSのS3に画像を保存することにしました。S3は、AWS以外のサーバでもデータを保存することが出来るので、herokuで画像を保存する場合S3がよく用いられます。S3にアクセするには、アクセスキーとシークレットキーが必要になります。自分は、AWSアクセスキーが重要なものだと考えていなかったため、アクセスキーをGitHubにそのまま公開してしまいました。その日のうちのAWSからメールが何件かきて、AWSのアラートを確認すると「このアクセスキーのユーザーを削除しろ」と警告が来ていました。そのユーザーを削除し、何が起きたのかと調べた時、AWSアクセスキーを公開してはいけないと初めて認識しました。AWSの運営の対応と運が良く自分は損害は出ませんでしたが、ユーザーを作成して6時間も経たず、このようなことが起き非常に恐ろしかったです。環境変数に代入Gemの「dotenv-rails」は環境変数を管理することが出来るGemです。「.env」の中で、AWSアクセスキーを環境変数に代入することで、オープンソースに表示されるのを防ぐことができます。「.gitignore」に.envを追記しないといけません。'dotenv-rails'」を追記し、「.env」ディレクトリを作成して環境変数を設定します。'GitHubで表示しないために、「.gitignore」に.envを追記します。.gitignoreviエディタの使い方を参考にしてみて下さい。'carrierwave'」でS3に画像を保存する場合、環境変数は以下のように使用します。vdeep」を参考にしてみて下さい。「git-secrets」をインストーする「git-secrets」は、AWSアクセスキーをGitHubにpushした時に、知らせてくれるAWS公式のツールです。DevelopersIO」で分かりやすく解説してあるので、こちらを参照して下さい。漏洩した時の対策AWSから警告があった場合、そのアクセスキーを持つユーザーを直ちに削除して下さい。自分は、気付くのが早かったおかげで、被害はありませんでした。上海エンジニアブログ初心者がAWSでミスって不正利用されて$6,000請求、泣きそうになったお話。vdeepまとめAWSアクセスキーの漏洩は、非常に危険です。S3を利用するためにAWSアクセスキーが必要な場合は、「dotenv-rails」を使い環境変数に代入し、必ずAWSアクセスキーが公開されないようにしましよう。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。spec]form_withに変更した時のエラーの対処法こんにちは、Nanayakuです。spec(fill_in)でエラーが起きたので、その対処法を紹介します。こんにちは、Nanayakuです。今回は、Linuxコマンドについて解説していきます。TermでHerokuにアップするためにrails+postgresqlの環境構築こんにちは、Nanayakuです。TermでHerokuにアップするためにrails+postgresqlの環境構築を行ったので、その手順について解説します。...ログインフォームをform_withに変更こんにちは、Nanayakuです。...[Rails]Bootstrap入れたら書けよ「viewport」こんにちは、Nanayakuです。今回は、Bootstrapで各デバイスのサイズにレスポンシブを合わせるため必要な「viewport」について解説します。boostを受講し、プログラマーへ転職しました。2020年2月からSES企業に入社。boostやプログラミングなど興味があることを発信していきます。AFFINGER5.。