サービスアカウントキーの定期的なローテーション設定手順

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、gcloud CLI、Terraformなど)まで、分かりやすく解説します。
この記事では、サービスアカウントキーの定期的なローテーション設定手順について、リスクと対策を解説します。

ポリシーの説明
サービスアカウントキーを90日以内に定期的にローテーションし、長期的な認証情報の悪用を防止します。
Google Cloudのサービスアカウントキーは、アプリケーションやサービスがGoogle Cloud APIにアクセスするための認証情報です。これらのキーは非常に強力な権限を持つ可能性があり、長期間同じキーを使用し続けることは、キーの漏洩や不正使用のリスクを高めます。
なお、Google推奨のベストプラクティスは、可能な限りサービスアカウントキーを使用せず、Workload Identity FederationやIAMサービスアカウントの短期認証情報を使用することになっているため、できる限りまずは代替手段を取るようにしましょう。
修復方法
コンソールでの修復手順
Google Cloud コンソールを使用して、サービスアカウントキーをローテーションします。
- Google Cloud Consoleにログインし、IAMと管理ページに移動します。
- 左側のメニューからサービスアカウントをクリックします。
- キーのローテーションが必要なサービスアカウントを特定します:
- 各サービスアカウントの行をクリック
- 「キー」タブを選択
- 作成日が90日以上前のキーを確認
- 新しいキーを作成します:
- キーを追加 > 新しいキーを作成をクリック
- キーのタイプ(JSON推奨)を選択
- 作成をクリックし、キーファイルを安全な場所に保存
- アプリケーションの設定を更新します:
- 新しいキーファイルを使用するようアプリケーションを更新
- 動作確認を実施
- 古いキーを削除します:
- コンソールに戻り、古いキーの行で削除アイコンをクリック
- 削除の確認ダイアログで削除をクリック
- キー管理ポリシーを設定します:
- 組織レベルでキーの最大有効期限を設定
- 定期的な監査スケジュールを確立
まとめ
この記事では、サービスアカウントキーの定期的なローテーション設定手順について、リスクと対策を解説しました。
サービスアカウントキーの定期的なローテーションは、セキュリティのベストプラクティスとして不可欠です。手動でのローテーションから始めて、徐々に自動化を進めることで、運用負荷を軽減しながらセキュリティを強化できます。また、可能な限りキーレスの認証方法(Workload Identity Federation、IAMサービスアカウントのインパーソネーションなど)の採用も検討することをお勧めします。
この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。
最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。