「WebAPIにアクセスするためのパスワード」は、一般的にどのような形でどこに保存すべきですか?
環境
- Python 3.6
- requestsモジュール
現状
自分のローカルマシンからWebAPI Xにアクセスして、情報を取得したいです。
WebAPI Xには仕様は以下の通りです。
- 認証が必要。
- 認証するには、Login用のAPIを実行する。
- Login用APIには、LoginIDとPasswordを渡す。
WebApiへのアクセスには、Pythonのrequestsモジュールを使っています。
WebAPIにアクセスするツール(Pythonスクリプト)は、今のところ自分しか使っていませんが、いずれは他の社員にも使ってもらえるようにしたいです。
問題だと感じていること
パスワードは、以下のような設定ファイルconfig.ini
に記述しています。
[login]
id=xxx
password=yyy
config.ini
は、Gitリポジトリにコミットしないようにしています(.gitignore
に記述)。
以下の点が、私は問題に感じています。
- 設定ファイルにはパスワード以外の情報も記載していて、頻繁にエディタで開いている。
- パスワードを見られる可能性が高い
.gitignore
に書いてあるとはいえ、間違ってコミットしてしまうリスクがある
質問
一般的に「WebApiにアクセスするためのパスワード」は、どのような形で、どこに保存すべきでしょうか?
- 環境変数
- 別の鍵で、パスワードを暗号/復号できるようにする
自分が問題だと思っていることの解決方法はいろいろあると思いますが、より一般的で簡単な方法を採用したいです。