AWS アカウント作成後にやるべき初期設定10個

概要

AWS アカウントを新規作成した直後は、ルートユーザーがメールアドレスとパスワードだけで全権限を持つ「無防備な状態」です。ここで初期設定を怠ると、アクセスキー漏洩による不正利用や、設定ミスによる高額請求といった事故につながります。

この記事では、アカウント作成直後にやっておくべき初期設定を10個、ハンズオン形式でまとめます。すべて AWS の公開情報・一般的なベストプラクティスに基づく内容です。コンソールの画面遷移は変わりやすいため、要点と CLI の確認コマンドを中心に記載しています。

環境

  • 新規作成した AWS アカウント(ルートユーザーでログインできる状態)
  • AWS CLI v2(IAM ユーザー作成後に使用)
  • 例示リージョン: ap-northeast-1(東京)
aws --version
# aws-cli/2.x.x ...

なぜ初期設定が必要か

初期設定を飛ばすと、次のような事故が起きやすくなります。

  • ルートのアクセスキーが漏れて、EC2 を大量に立てられる(マイニング悪用など)
  • MFA 未設定でアカウントを乗っ取られる
  • 予算アラート未設定で、気づけば数十万円規模の請求が来る
  • 監査ログが無く、インシデント時に原因を追えない

これらはすべて「最初の30分」で大部分を防げます。

やるべき初期設定10個

1. ルートユーザーに MFA を設定する

ルートは全権限を持ち削除もできないため、最優先で MFA(多要素認証)を有効化します。コンソール右上のアカウント名 →「セキュリティ認証情報」→「多要素認証(MFA)」から、認証アプリ(TOTP)または FIDO2 セキュリティキーを登録します。

2. ルートユーザーのアクセスキーを作らない(あれば削除)

ルートのアクセスキーは事故の温床です。日常操作には絶対に使わず、既に発行されていれば「セキュリティ認証情報」→「アクセスキー」から削除します。以降の操作はすべて IAM ユーザーまたは IAM Identity Center 経由で行います。

3. 管理用の IAM ユーザー(または IAM Identity Center)を作る

日常の管理作業用に、ルートとは別の ID を用意します。単一アカウントなら IAM ユーザー、複数アカウント運用に発展させるなら IAM Identity Center が推奨です。

aws iam create-group --group-name Admins
aws iam attach-group-policy \
  --group-name Admins \
  --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
aws iam create-user --user-name admin-user
aws iam add-user-to-group --user-name admin-user --group-name Admins

AdministratorAccess は強力なので、実運用では最小権限へ絞るのが原則です(項目9)。

4. IAM ユーザーにも MFA を設定する

ルートだけでなく、日常使う ID こそ守る対象です。作成した管理ユーザーにも MFA を必須にします。

5. パスワードポリシーを設定する

aws iam update-account-password-policy \
  --minimum-password-length 14 \
  --require-symbols \
  --require-numbers \
  --require-uppercase-characters \
  --require-lowercase-characters \
  --max-password-age 90 \
  --password-reuse-prevention 5

6. 請求アラート(AWS Budgets)を設定する

「Billing preferences」で請求アラートの受信を有効化し、「AWS Budgets」で月額予算を作成して閾値超過でメール通知を受け取ります。学習用でも少額の閾値を置いておくと、想定外課金にすぐ気づけます。

7. Cost Explorer を有効化する

コストの内訳を可視化できるようにします。有効化直後はデータ蓄積に時間がかかるため、早めにオンにしておくのがポイントです。

8. CloudTrail を有効化する

「誰が・いつ・何をしたか」を記録する監査ログです。マルチリージョンの証跡を1つ作成し、ログ保存用の S3 バケットは非公開のままにします。

9. 最小権限を意識した権限設計に切り替える

初期は AdministratorAccess で動作確認しつつ、実運用前に権限を絞ります。用途別に IAM ロール/グループを分け、アプリからの利用は恒久アクセスキーではなく IAM ロール(EC2 インスタンスプロファイル、ECS タスクロール)を使います。一時的な権限には STS の一時認証情報を使います。「人間は SSO、マシンはロール、恒久キーは極力持たない」が基本方針です。

10. S3 のパブリックアクセスをアカウント単位でブロックする

S3 の公開設定ミスは情報漏洩の典型例です。アカウント全体で公開をブロックしておきます。

aws s3control put-public-access-block \
  --account-id 123456789012 \
  --public-access-block-configuration \
  BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true

123456789012 は自分のアカウント ID に置き換えます(例示用の値です)。

確認方法

# MFA デバイスの割り当て確認
aws iam list-virtual-mfa-devices

# パスワードポリシー確認
aws iam get-account-password-policy

# 認証情報レポートでルートのキー有無・MFA を確認
aws iam generate-credential-report
aws iam get-credential-report --query Content --output text | base64 -d

認証情報レポートで、ルートユーザー行のアクセスキーが false、MFA が true になっていることを確認します。

注意点

  • AdministratorAccess を付けた ID は「作って終わり」にせず、運用開始前に最小権限へ移行する
  • MFA デバイスのバックアップ(リカバリコード・予備デバイス)を保管する。紛失すると復旧に時間がかかる
  • 要件(コンプライアンス・組織規模)に応じて GuardDuty / Security Hub / Config / Organizations などの追加設定を検討する

まとめ

AWS アカウント作成直後にやるべきことは、突き詰めると「ルートを守る・別 ID で運用する・課金と操作を可視化する・公開事故を防ぐ」の4本柱です。最初の30分で済む作業がほとんどなので、新規アカウントを作ったら、EC2 を立てる前にまずここを固めておきましょう。

\ 最新情報をチェック /

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください