API キーとトークンを再生成する
API キーが漏洩したと思われる場合は、以下の手順で API キーを再生成してください:- Developer Console の「Apps」ページ に移動します。
- 該当するアプリの横にある「Keys and tokens」アイコン (🗝) をクリックします。
- 再生成したいキーとトークンのセットの横にある「Regenerate」ボタンをクリックします。
- Access Token を再生成したい場合は、POST oauth/invalidate_token エンドポイントでトークンを無効化してから、3-legged OAuth フロー でトークンを再生成する必要があります。
- Bearer Token を再生成したい場合は、POST oauth2/invalidate_token エンドポイントでトークンを無効化してから、POST oauth2/token エンドポイントでトークンを再生成する必要があります。
シークレット用の集中ファイルを持つ
.ENV ファイルやその他の .yaml ファイルなど、シークレットを格納するファイルを利用することは有効な選択肢の 1 つですが、誤って git リポジトリにコミットしないよう、しっかりとした .gitignore ファイルを用意してください。環境変数
環境変数を利用するコードを書くことも役立ちます。 以下は Python で書かれた例です:ソースコードとバージョン管理
デベロッパーが犯す最も一般的なセキュリティミスは、GitHub や BitBucket などのアクセス可能なバージョン管理システムに API キーとトークンをコミットしてしまうことです。これらのコードリポジトリの多くは公開されています。この間違いは公開コードリポジトリで頻繁に発生しており、API キーをスクレイピングする収益性の高いボットが存在するほどです。- サーバーの環境変数を使用してください。API キーを環境変数に格納することで、コードやバージョン管理から切り離せます。これによって環境ごとに異なるキーを簡単に使用することも可能になります。
- ソース管理から除外した設定ファイルを使用してください。ファイル名を .gitignore ファイルに追加して、そのファイルがバージョン管理で追跡されないようにします。
- バージョン管理を使用した後にコードから API キーを削除しても、以前のコードベースにアクセスすれば依然として API キーにアクセスできる可能性があります。次のセクションで説明するとおり、API キーを再生成してください。
データベース
access token をデータベースに保存する必要がある場合は、以下の点に留意してください:- データベースへのアクセスを制限し、access token がそのトークンの所有者のみに読み取り可能となるようにします。
- access token を格納するデータベーステーブルへの編集/書き込み権限を制限してください — これはキー管理システムで自動化する必要があります。
- データストアに保存する前に access token を暗号化してください。