gitでレポジトリを公開していると、git commitするたびに情報が更新されていくと思いますが、その中にシークレットキー情報とかアクセスキー情報とか入っているものがあれば、まずくないですか?
(amazon s3のaccess_key_idやsecret_access_keyなど)
そのファイルだけアップしないようにすることとかできるのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
それはとてもまずいです。
アクセスキーを使って攻撃を受けるとAWSの費用がとんでもない金額になります。
そのファイルだけアップしないようにすることもできますが
そもそもそういったファイルはソース管理対象外にすべきかと思いますので
.gitignoreファイルを作って対象外のファイルを管理してはいかがでしょうか。
参考になりそうなページを貼っておきます。
https://qiita.com/inabe49/items/16ee3d9d1ce68daa9fff
投稿2017/10/23 04:59
編集2017/10/23 05:01総合スコア928
0
その中にシークレットキー情報とかアクセスキー情報とか入っているものがあれば、まずくないですか?
おっしゃる通り、まずいです。
ただし、GitHubのパブリックリポジトリだとアウトでしょうけど、お金払ってプライベートリポジトリにしたり、
少人数ならBitBucketで無料でプライベートリポジトリを借りる、
ローカルでGitLab等のGitリポジトリサーバを構築する等すれば貴重なパスワード等の情報は流出しないので問題ありません。
そのファイルだけアップしないようにすることとかできるのでしょうか?
.gitignore
を使いましょう。
このファイルがプロジェクトルートに設置されていると、Gitはそのファイルを世代管理対象から外すようになります。
git status
コマンドでも出てきませんし、git add .
等のコマンドでも自動的に追加されることがなくなります。
ただし、既にコミット済みのファイルを.gitignoreの対象として設定しても、
自動的に世代管理対象から外れるということはなく、公開され続けることに注意してだくさい。
他の方法としては、環境変数に突っ込むという手法もあります。
bash
1export FOO="BAR" 2export PORT="80" 3 4git clone https://github.com/foo/project /opt/project 5 6chmod +x /opt/project/bin/entrypoint.sh 7/opt/project/bin/entrypoint.sh
このような公開しない社内用スクリプトを作って、
サーバーを立ち上げたら実行するというフローを作るというやり方もあります。
お好みに合わせてどうぞ。
投稿2017/10/23 05:06
総合スコア21400
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/23 06:14
2017/10/23 06:31
2017/10/23 06:32