Twilioのシークレット管理について(Auth TokenやAPI Keyなど)
Account SID + Auth Token
Twilioにアクセスする際に、コンソール画面のにTwilioアカウントのシークレットが表示されています。
このシークレット(Account SID + Auth Token)を使うことで、このTwilioアカウント配下の全てのリソースをアクセスできるようになります。
万が一、Twilioアカウントシークレット(Account SID + Auth Token)が漏れてしまって、悪用されたら、重大な事故が発生してしまいます。
セキュリティのため、不定期的に、もしくはAuth0 Tokenが漏れてしまう場合は、Auth0 Tokenをローテートすることが推奨されます。
API Key + Access Token
Twilio公式から、Twilioアカウントのリソースを、API key + Access Token の形式でアクセスすることを推奨しています。
API Key + Access Tokenのメリット:
- API Keyを気軽に作成、削除できる
- API Keyに複数Key Typeがあって、権限スコープ(Twilioアカウント全体か、一部のサービスのみか)に応じて選択可能
- API Keyの権限を細かく管理ができる(Key Type: Restricted)
- Access Tokenに有効期限がある(最大24時間まで設定できる)
詳細Twilio API Keyの作成とAccess Tokenの取得までの手順:Twilio Creating Tokens 公式手順リンク
その他
サービスの開発に、複数の環境(DEV・STG・PROD・SANDBOX)に分かれることが多いと思います。
環境間影響させないように、Twilio Subaccountを作成することがおすすめです(例えば、負荷テストをしたい場合、subacccount-load-testというサブアカウントを作成する)。
サブアカウント内であれば、設定を変に変えても他の環境に影響する心配はありません。
Twilioのシークレット管理は以上でした。