shiichan

Secrets Manager が Databricks と Twilio の認証情報を自動ローテーション!

みんな、しぃちゃんだよ!長いこと放置されがちな認証情報を、ラクにローテーションできるニュースが来たよ!

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New で、AWS Secrets Manager のマネージド外部シークレット(managed external secrets)が Databricks と Twilio に対応したと発表されたよ。コンソールか API からローテーションを設定できて、カスタムのローテーション用 Lambda 関数を書いたり保守したりする必要はないの。

なぜ重要なの?

長期間使われる認証情報は、ローテーションの設定が難しいうえ、更新した値をアプリに安全に配る手間もあって、入れ替えられないまま残りがちなんだって。そこを Secrets Manager が肩代わりしてくれるのが今回のポイントだよ。

これで何が変わるの?

  • 認証情報をローテーションするための自前コードが要らなくなる
  • Secrets Manager は常に現在の認証情報を返すので、アプリはローテーション後の値を自動で拾える
  • アプリ側のコード変更は不要

深く潜ってみよう

対応した認証情報は次のとおりだよ。

  • Databricks: ジョブや CI/CD パイプラインが使うパーソナルアクセストークン
  • Databricks: 自動化ワークフローが使うサービスプリンシパルの OAuth クライアントシークレット
  • Twilio: メッセージ送信や通話に使う API キーと Auth Token

Databricks のパーソナルアクセストークンは、置き換え後のトークンが元のトークンのスコープを引き継ぐよ。だから、狭いスコープのトークンは狭いままなの。

使い方は、認証情報を管理された外部シークレットとして Secrets Manager に保存して、ローテーションのスケジュールを設定するだけ。今回の 2 サービスは、すでに対応している BigID、Cisco Security Platform、Confluent Cloud、Datadog などの仲間入りだよ。

まとめ

  • Databricks と Twilio がマネージド外部シークレットに対応
  • ローテーション用 Lambda 関数は不要
  • Databricks のトークンは置き換え後もスコープを維持
  • アプリは常に最新の認証情報を取得でき、コード変更も不要

Databricks のパイプラインや Twilio のメッセージ基盤を運用していて、キーの更新をサボりがちな人に刺さるよ!