本記事は
AWSアワード受賞者祭り
19日目の記事です。
✨🏆
18日目
▶▶ 本記事 ▶▶
20日目
🏆✨
はじめに
こんにちは。大林です。
この度、2025 Japan AWS Top Engineer(Services) に選出していただきました。多くの方々のご協力があったおかげで選出されたと思っています。
2025年度も自己研鑽と組織貢献を続けていきたいと考えています。
今回のブログでは、AWS Organizations(以下 Organizations)の機能でルートユーザーを一元管理することで、CCoEの運用負荷が軽減するのかについて書いていきたいと思います。
ルートユーザーの運用におけるアンチパターン
| アンチパターン | 例 | 危険性 | 対策 |
|---|---|---|---|
| MFAを設定していない | ルートアカウントのログインがパスワードのみ | パスワード流出時に即座に不正アクセスされるリスク | 仮想MFA / ハードウェアMFA / セキュリティキーの導入 |
| アクセスキーを発行・放置している | スクリプトやアプリに直書き | キー漏洩時の即時アクセスが可能な状態 | 基本的にアクセスキーは使用しない |
| 日常業務にルートユーザーを使用している | 初期作成後すぐにルートで操作 | 権限制御不可・変更記録が曖昧になる | 承認を得てからルートユーザーを使用する |
上の表は、AWSのベストプラクティスに基づいて、ルートユーザーの適切でない運用方法、いわゆる「アンチパターン」について整理したものです。
1つ目のアンチパターンは、ルートユーザーに対してMFA(多要素認証)を設定していない状態です。たとえば、ルートアカウントへのログインがパスワードのみによって行われているケースが該当します。このような場合、仮にパスワードが流出すれば、攻撃者はアカウントへ不正アクセスできてしまいます。ルートユーザーでの不正アクセスは、全リソースの操作が可能なため、極めて深刻な被害につながります。そのため、仮想MFAやハードウェアMFA、あるいはセキュリティキーを用いた多要素認証の導入が強く推奨されます。
2つ目は、ルートユーザーのアクセスキーを発行したまま放置しているケースです。よくある例として、スクリプトやアプリケーションにアクセスキーを直接埋め込んで使用している状態が挙げられます。アクセスキーが外部に漏洩した場合、不正アクセスが可能となってしまい、AWSリソースに深刻な損害が及ぶおそれがあります。ルートユーザーに対しては、そもそもアクセスキーを発行しないことが基本的なセキュリティ対策です。既に発行済みである場合は早急に無効化・削除することをお勧めします。
3つ目は、日常的な業務をルートユーザーで行っているという運用です。これは、アカウント作成や初期設定の後も、そのままルートユーザーを使い続けているパターンです。このような運用をしていると、誰がどのような操作を行ったかを把握しにくくなり、権限の過剰付与や操作履歴の追跡困難といった問題が生じます。その結果、セキュリティ統制が効かなくなり、内部・外部問わず不正行為の温床となる危険性があります。こうした事態を避けるためには、ルートユーザーの使用は最小限にとどめ、事前に適切な承認を得た上で、必要な場合にのみ使用するという運用体制が必要です。
以上のように、ルートユーザーの扱いには細心の注意を払い、利用頻度を極力抑えたうえで、必要なセキュリティ対策を講じることが、AWS環境を安全に保つ上での重要なポイントとなります。
ルート認証情報の一元管理
| 機能名 | 内容 |
|---|---|
| ルートユーザー認証情報の削除 | ・AWS Organizationsを使うことで、メンバーアカウントのルートユーザーから認証情報を削除できる ・ルートユーザーの長期的なアクセス情報の悪用リスクを排除可能 |
| リカバリ防止(再設定不能化) | ・ルートユーザーの認証情報削除後に、回復手段(メール変更や再設定)も封じることが可能 ・意図しない再有効化や再設定による誤用・誤操作のリスクを根本的に排除 |
| セキュアバイデフォルトアカウントの自動作成 | ・Organizationsでは、ルート認証情報を一切設定せずにアカウントを作成可能 ※作成時にメールアドレスは必要 ・作成後にセキュリティ設定を追加する必要がない |
| ルート認証情報の一元的なステータス監視 | ・Organizationsで、全メンバーアカウントのルートユーザーの状態を一元管理可能 ・状態はAPIやAWS Configルールで継続的に監視可能 |
| ルートセッションによる管理 | ・管理アカウントからメンバーアカウントに対し、短期間の制限付きルートアクセスを取得可能 ・取得後、以下のアクションを実施可能: ・ルート認証情報の監査 ・アカウントリカバリの再有効化 ・ルート認証情報の削除(パスワード・アクセスキー・署名証明書・MFAなど) ・Amazon S3/Amazon SQSポリシーのロック解除( "Deny:*"付きのポリシーの編集・削除) |
上記では、ルートユーザーの一元管理でできる内容をまとめました。ここで重要なのが、すべての操作がこのルートセッション機能によって代替できるわけではないということです。たとえば、S3 MFA削除、請求情報の表示、リザーブドインスタンスマーケットプレイスへの出品者登録といった一部の操作については、ルートセッション機能を利用しても実行することができません。
そのため、ルート認証情報の一元管理やルートセッションを導入する際は、これらの制限も踏まえて、必要な運用の見直しや権限設計を検討することが重要です。
ルート認証情報の一元管理とルートセッションの注意点
ケース1:とにかく堅牢な環境を構築したい場合

このケースでは、セキュリティを最優先とし、メンバーアカウントのルートユーザー認証情報をすべて削除し、必要な操作はルートセッション経由で管理アカウントから実施する形となります。
ただし、その結果としていくつかの影響が生じます。たとえば、メンバーアカウント側でルートセッションを必要とする操作が発生するたびに、管理アカウントを運用するCCoEチームに依頼が集中し、運用負荷が増大する恐れがあります。
さらに、メンバーアカウントでの開発作業において、必要な操作が即時に行えないことから、開発スケジュールに影響が出る可能性も考慮する必要があります。
ケース2:ガバナンスを効かせつつ柔軟な環境を構築したい場合

ガバナンスを効かせつつ、現場の柔軟な運用も維持したいという方針の場合には、ルートユーザーの一元管理やルートセッションの導入は見送るという選択肢も有効です。
このアプローチでは、各メンバーアカウントにおける開発や運用の自由度が高く保たれ、CCoEを介さずに各自が必要なタイミングでルートユーザー操作を行えるため、開発スケジュールへの影響を最小限に抑えることができます。
一方で、CCoEとしては、ルートユーザーが適切に管理・制御されているかどうかを継続的に監視していく責任が伴います。たとえば、意図しないアクセスキーの発行やMFA未設定といったセキュリティリスクが生じていないかをAWS ConfigルールやAWS Security Hubなどでチェックし、運用上のリスクを最小化する体制の構築が必要です。
おわりに
AWS環境においては、ルートユーザーの使用を極力避けることがセキュリティとガバナンスの基本となります。そのためには、ルートユーザーの利用にすばやく気づける仕組みを整備し、異常なアクセスや設定変更を早期に検知できるようにしておくことが重要です。
さらに、ルートアクセスの一元的な管理は、メンバーアカウントの操作や設定に影響を及ぼす可能性があるため、導入にあたっては慎重な設計と運用体制の整備が求められます。
ルート認証情報の削除やリカバリ防止などを適切に活用することで、自社の環境に最適なベストプラクティスを実現することができます。必要に応じてこれらの機能を取捨選択し、確実な運用に向けて段階的に導入を進めていくことが重要です。