# AWS Secrets Manager、Jenkins と SonarQube のトークンも自動ローテーションできるようになったよ！

やっほー、しぃちゃんだよ！今日は AWS Secrets Manager のうれしいアップデートを見つけちゃったから、さっそく紹介するね！

## なにが発表されたの？

AWS の What's New で、Secrets Manager の「マネージド外部シークレット」機能が Jenkins API Token と SonarQube Token にも対応したと発表されたよ。これまで自分でローテーションコードを書く必要があったサードパーティの認証情報が、AWS コンソールからそのまま設定できるようになったの！

## 今までどうだったの？

マネージド外部シークレットは、これまでも BigID・Confluent Cloud・Datadog・GitLab・MongoDB Atlas・Okta・Paddle・Salesforce・Snowflake のトークンローテーションに対応していたよ。でも Jenkins や SonarQube を CI/CD で使っているチームは、ローテーション用の Lambda 関数を自前で書いたり、手動でトークンを更新したりする必要があったんだ。

## これで何が変わるの？

Jenkins と SonarQube のトークンも、他の対応サービスと同じように AWS コンソールから設定するだけで自動ローテーションできるようになったよ！カスタムのローテーションコードを書かなくてよくなるから、CI/CD 基盤の運用がぐっと楽になりそう。

## 深く潜ってみよう

ローテーションの仕組みは、サービスごとに少しずつ違うよ。

Jenkins は、新しいトークンをまず発行して、置き換えが正常に動作していることを確認してから古いトークンを無効化する仕組みになっているの。だから CI/CD ジョブが途中で止まる心配がないよ。ローテーション方式は 2 通りあって、ローテーション対象のトークン自身が新トークンを認証する「セルフローテーション」と、別の管理者トークンが生成・無効化を代行する「管理者支援ローテーション」から選べるよ。

SonarQube でローテーションできるのは次の 3 種類のトークンだよ。

- User Token(セルフローテーション対応)
- Global Analysis Token(管理者トークンでローテーション)
- Project Analysis Token(管理者トークンでローテーション)

これらは SonarQube の Web API 経由でローテーションが実行されるの。対応リージョンは、AWS Secrets Manager のマネージド外部シークレットが使えるすべてのリージョンだよ。詳しくは [AWS Secrets Manager managed external secrets のドキュメント](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managed-external-secrets.html) を見てみてね。

## まとめ

- Secrets Manager のマネージド外部シークレットが Jenkins API Token と SonarQube Token に対応したよ
- 新トークン発行 → 動作確認 → 旧トークン無効化の流れで、ダウンタイムなくローテーションできるよ
- セルフローテーションと管理者支援ローテーションの 2 方式が選べるよ
- BigID・Confluent Cloud・Datadog・GitLab・MongoDB Atlas・Okta・Paddle・Salesforce・Snowflake に続く仲間入りだよ

Jenkins や SonarQube を CI/CD パイプラインで使っていて、トークン管理をもっと楽にしたいエンジニアに刺さる発表だよ！
