以前、自らAccessTokenをGitHubに公開してしまった。対策を考えたが、今回はとりあえず簡単な対処だけした。
入手先
前回まで
GitHubへのアップロード作業が面倒なのでバッチで自動化した。しかし、あろうことか自らAccessTokenをGitHubに公開してしまうという大失態を犯す。GitHubが自動でそのAccessTokenを削除してくれたことで事なきを得たが、危険である。AccessTokenの再作成も面倒である。そこで、自爆を防ぐべく、バッチを改善することにした。
改善点
- ユーザ名、リポジトリ名、説明、Homepage、対象ファイル一式を表示した
- 実行確認の入力を必須とした
- プロジェクト内に含めるバッチにAccessTokenなどの認証情報を入れないようにした
認証データをプロジェクトごとに保存しなくなったため、漏洩リスクが減った。 認証データのパスを指定してアップしないかぎり、自爆することはない。 認証データの一元管理により、新旧データが入り乱れて混乱することも避けられる。
アップする内容の確認もできてミスも減る。 リポジトリの作成/削除を短時間で何度もくりかえしてGitHubから500エラーを食らうことも避けられる。
使い方
MyProject
ディレクトリ配下のバッチを設定/実行する。
ファイル | 使用場面 |
---|---|
up.bat | リポジトリを新規生成する |
del.bat | リポジトリを削除する |
edit.bat | リモートリポジトリの説明文とHomepageを変更する |
上記バッチは、以下の項目だけをテキスト編集すればいい。
流用データ
他、以下の項目は以下のように設定される。一度コードやファイルを設定しておけば、他のプロジェクトに流用できる。詳しくはAutomation配下のコードやAccount配下のTSVファイルを参照。
項目 | 内容 |
---|---|
リポジトリ名 | プロジェクトディレクトリ名を使う。 |
AccessToken | プロジェクトディレクトリ(リポジトリ)外のパスにTSVファイルで保存しておく。ユーザ名をキーにして取得する。 |
任意に変更するデータ
パス
ディレクトリ | 内容 |
---|---|
Account | 認証データを保存する |
Automation | 自動化バッチを保存する |
MyProject | git/github用リポジトリ(ディレクトリ) |
上記のようなディレクトリ構成になっている。べつにこだわる必要はない。変えたいときはバッチファイルのパスも変更して使うこと。
TSVファイル
TSVファイルの名前やカラム名も任意に変更可能。そのときはバッチファイルの内容も変更すること。
問題点
自爆問題に関しては改善できた。欲を言えば、さらなる問題がある。
- 認証データが平文で保存されている
- 暗号化して保存しないとgrepでイチコロ
- ReadMe.mdの表示確認ができない
今すぐ簡単にはできそうにない。
所感
これで自爆は防げるはず。次はAccessTokenの自動作成について考えたい。