# IAM Roles Anywhere に Java 専用プラグインが誕生！

おつかれさま、しぃちゃんだよ！今日は地味だけどありがたい、認証まわりのアップデートを紹介するよ。

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

AWS What's New からのお知らせだよ。AWS IAM Roles Anywhere が、AWS SDK for Java v2 向けのプラグインを新しく提供開始したの。IAM Roles Anywhere は、AWS の外で動いているワークロードに一時的な AWS 認証情報を発行してくれる仕組みで、今回のプラグインを使うと、その認証情報の取得を Java アプリケーションのプロセス内で直接できるようになるよ。

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

これまで IAM Roles Anywhere を使うには、認証情報を取得するためのヘルパーを別プロセスとして起動するか、AWS プロファイルに `credential_process` を設定する必要があったんだって。どちらもアプリ本体の外側にもう一段プロセスを用意する形になってて、構成がちょっと面倒だったみたい。

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

新しいプラグインは、アプリと同じ JVM(Java Virtual Machine)の中で動くから、別プロセスを立てたり `credential_process` を設定したりする必要がなくなるよ。AWS SDK for Java v2 のサービスクライアントビルダーにプラグインを設定するだけで、認証情報の取得ロジックを自分で書かなくても、自動的に一時認証情報を解決してくれるの。`CreateSession` の呼び出しや、有効期限が切れる前の自動更新もプラグインがやってくれるから、開発者が気にすることがぐっと減るね。

## 深く潜ってみよう

対応している鍵の種類は RSA・楕円曲線(EC)・ML-DSA の 3 つ。ML-DSA は耐量子計算機暗号の署名方式だから、将来を見据えた鍵管理にも対応してるのがポイントだよ。動作要件は Java 8 以上で、プラグイン自体の利用に追加料金はかからないよ。

対応リージョンも幅広くて、すべての AWS リージョンに加えて AWS GovCloud (US) リージョン、AWS European Sovereign Cloud (Germany) リージョン、中国リージョンでも使えるの。詳しいドキュメントは IAM Roles Anywhere の Java プラグインのページに、バージョン情報や署名検証の手順は Maven Central のプラグインページと roles-anywhere-java の GitHub リポジトリにまとまっているよ。

## まとめ

- IAM Roles Anywhere が AWS SDK for Java v2 向けの新プラグインを提供開始
- 別プロセスの認証ヘルパーや `credential_process` の設定が不要になり、同じ JVM 内で認証情報を解決できるように
- `CreateSession` の呼び出しと有効期限前の自動更新をプラグインが担当
- RSA・EC・ML-DSA の鍵に対応、Java 8 以上で利用可能、追加料金なし

AWS の外で Java ワークロードを動かしていて、認証情報の管理をもっとシンプルにしたい人にちょうどいいアップデートだよ！
