導入
IAMは「設定できる」ことと「安全に設定されている」ことが別問題です。AWSは長年の運用経験から、守るべきベストプラクティスを明確に示しています。
説明
IAMを安全に使うための代表的なベストプラクティスは、次の通りです。
- ルートユーザーを日常利用しない … 第2章で学んだ通り、ルートユーザーは初期設定や特別な操作以外では使わず、日々の作業はIAMユーザーやロールで行う。
- MFA(多要素認証/Multi-Factor Authentication)を有効化する … パスワード(知っているもの)に加えて、スマートフォンアプリが生成するワンタイムコードやセキュリティキー(持っているもの)を要求し、パスワード漏えいだけでは突破されないようにする。特にルートユーザーと管理者権限を持つIAMユーザーには必須。
- 最小権限の原則を徹底する … 「とりあえず全部許可」ではなく、業務に必要な操作だけを許可する。
- アクセスキーを適切に管理する … プログラムからの認証に使うアクセスキーは、コードに直接書き込まず、不要になったら削除・定期的にローテーションする。
- 人にはユーザーではなくロールを使わせる … 社員が複数のAWSアカウントを行き来する場合も、ユーザーを増やすのではなくロールを引き受ける形にすることで、権限の一元管理がしやすくなる。
- IAM Identity Center(旧AWS SSO)で一元管理する … 複数のAWSアカウントにまたがる従業員のアクセスを1か所(シングルサインオン)でまとめて管理できる。
flowchart TD
A["ルートユーザーは初期設定のみ"] --> E["安全なIAM運用"]
B["全ユーザーにMFA"] --> E
C["最小権限のポリシー"] --> E
D["アクセスキーは最小限・定期ローテーション"] --> E
読んでみよう
CLF試験では「アカウントを保護する最初の一手は?」と問われたら、まずMFAの有効化とルートユーザーの非常用化を思い出しましょう。