

# AWS アカウントのルートユーザーのベストプラクティス
<a name="root-user-best-practices"></a>

AWS アカウントを初めて作成するとき、アカウントのすべての AWS リソースに完全にアクセスできるデフォルトの認証情報を使用します。この ID は、[AWS アカウントのルートユーザー](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)と呼ばれます。[ルートユーザーの認証情報が必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/root-user-tasks.html#root-user-tasks)がある場合を除き、AWS アカウントのルートユーザーにはアクセスしないことを強くお勧めします。ルートユーザーの認証情報とアカウント復旧メカニズムを保護して、高い特権のある認証情報が不正使用で悪用されないようにする必要があります。

AWS Organizations を通じて管理される複数の AWS アカウント については、不正使用を防ぐのに役立つよう、メンバーアカウントからルートユーザー認証情報を削除することをお勧めします。ルートユーザーのパスワード、アクセスキー、署名証明書を削除し、多要素認証 (MFA) を非アクティブ化および削除できます。メンバーアカウントは、ルートユーザーにサインインしたり、ルートユーザーのパスワードリカバリを実行したりできません。詳細については、「[メンバーアカウントのルートアクセスを一元管理](id_root-user.md#id_root-user-access-management)」を参照してください。

ルートユーザーにアクセスする代わりに、日常的なタスク用の管理者ユーザーを作成します。
+ 新しい AWS アカウント がある場合は、「[AWS アカウント のセットアップ](getting-started-account-iam.md)」を参照してください。
+ AWS Organizations を介して管理されている複数の AWS アカウントの場合、「[IAM Identity Center 管理者ユーザーの AWS アカウントアクセスを設定する](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-assign-account-access-admin-user.html)」を参照してください。

管理者ユーザーを使用して、AWS アカウントのリソースにアクセスする必要のあるユーザーの追加 ID を作成できます。AWS にアクセスするユーザーには一時的な認証情報での認証を要求することを強くお勧めします。
+ 単一のスタンドアロン AWS アカウントの場合、[IAM ロール](id_roles.md) を使用して特定のアクセス許可を持つ ID をアカウントに作成します。ロールは、それを必要とするすべてのユーザーに割り当てることができます。また、ロールには、パスワードやアクセスキーなどの標準的な長期認証情報が関連付けられていません。その代わりに、ロールを引き受けると、ロールセッション用の一時的なセキュリティ認証情報が提供されます。IAM ロールとは異なり、[IAM ユーザー](id_users.md)にはパスワードやアクセスキーなどの長期的な認証情報があります。可能であれば、[ベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices-use-cases.html)では、パスワードやアクセスキーなどの長期的な認証情報を保有する IAM ユーザーを作成する代わりに、一時的な認証情報を使用することをお勧めします。
+ AWS Organizations を介して管理される複数の AWS アカウント の場合、IAM Identity Center ワークフォースユーザーを使用します。IAM Identity Center を使用すると、AWS アカウントにアクセスするユーザーとアカウント内のアクセス許可を一元管理できます。ユーザー ID は IAM Identity Center または外部の ID プロバイダーから管理します。詳細については、「[AWS IAM アイデンティティセンター ユーザーガイド](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)」の「*AWS IAM アイデンティティセンター とは?*」を参照してください。

**Topics**
+ [ルートユーザーの認証情報を保護して不正使用を防止する](#ru-bp-secure)
+ [アクセスを保護するために、強度の高いルートユーザーパスワードを設定します](#ru-bp-password)
+ [多要素認証 (MFA) でルートユーザーのサインインを保護する](#ru-bp-mfa)
+ [ルートユーザーのアクセスキーは作成しないでください](#ru-bp-access)
+ [可能な場合、ルートユーザーのサインインには複数人による承認を求る](#ru-bp-multi)
+ [ルートユーザーの認証情報にグループ E メールアドレスを使用する](#ru-bp-group)
+ [アカウント回復メカニズムへのアクセスを制限する](#ru-bp-recovery)
+ [AWS Organizations アカウントのルートユーザーの認証情報です。](#ru-bp-organizations)
+ [アクセスおよび使用状況をモニタリングする](#ru-bp-monitor)

## ルートユーザーの認証情報を保護して不正使用を防止する
<a name="ru-bp-secure"></a>

ルートユーザーの認証情報を保護し、[それを必要とするタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/root-user-tasks.html)にのみ使用します。不正使用を防ぐため、ルートユーザーにアクセスするためのビジネス上の厳しい要件がある場合を除き、ルートユーザーのパスワード、MFA、アクセスキー、CloudFront キーペア、署名証明書は誰とも共有しないでください。

ルートユーザーのパスワードは、同じパスワードを使用してアクセスするアカウント内の AWS のサービスに依存するツールで使用しないでください。ルートユーザーのパスワードを紛失または忘れた場合、これらのツールにアクセスできなくなります。回復性を優先し、保管場所へのアクセスに 2 人以上のユーザーによる承認を求めることを検討することをお勧めします。パスワードとその保存場所へのアクセスはすべてログに記録し、モニタリングする必要があります。

## アクセスを保護するために、強度の高いルートユーザーパスワードを設定します
<a name="ru-bp-password"></a>

強力でユニークなパスワードを使用することをおすすめします。強力なパスワード生成アルゴリズムを備えたパスワードマネージャーなどのツールは、これらの目標を達成するのに役立ちます。 AWS では、パスワードは次の条件を満たす必要があります。
+ 8～128 文字で構成されていること。
+ 英字の大文字、英字の小文字、数字、記号 (\$1 @ \$1 \$1 % ^ & \$1 () <> [] \$1\$1 \$1 \$1\$1-=) のうち、少なくとも 3 つの文字タイプを使用する必要があります。
+ AWS アカウント アカウント名またはメールアドレスと同じでないこと。

詳細については、「[AWS アカウントのルートユーザー のパスワードを変更する](root-user-password.md)」を参照してください。

## 多要素認証 (MFA) でルートユーザーのサインインを保護する
<a name="ru-bp-mfa"></a>

ルートユーザーは特権的アクションを実行できるので、E メールアドレスとパスワードに加えて、サインインの認証情報としてルートユーザーの MFA を 2 番目の認証要素として追加することが重要です。AWS アカウント ルートユーザーに対し、現在サポートされている MFA タイプの任意の組み合わせで最大 8 台の MFA デバイスを登録できます。

セキュリティ戦略にさらなる柔軟性と回復力を持たせるために、ルートユーザーの認証情報に対して複数の MFA デバイスを有効にすることを強くお勧めします。すべての AWS アカウントタイプ (スタンドアロン、管理、メンバーアカウント) では、ルートユーザーに MFA を設定する必要があります。MFA がまだ有効になっていない場合、ユーザーは AWS マネジメントコンソールにアクセスする最初のサインイン試行から 35 日以内に MFA を登録する必要があります。
+ サードパーティプロバイダーから提供される FIDO 認定のハードウェアセキュリティキー。詳細については、「[AWS アカウントルートユーザーの FIDO セキュリティキーを有効にする](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-fido-mfa-for-root.html)」を参照してください。
+ タイムベースドワンタイムパスワード (TOTP) アルゴリズムに基づいて 6 桁の数値コードを生成するハードウェアデバイス。詳細については、「[AWS アカウントのルートユーザー用にハードウェア TOTP トークンを有効にします](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-hw-mfa-for-root.html)」を参照してください。
+ 電話などのデバイスで実行され、物理デバイスをエミュレートする仮想認証機能アプリケーション。詳細については、「[AWS アカウントアカウントのルートユーザーの仮想 MFA デバイスを有効にします](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)」を参照してください。

## ルートユーザーのアクセスキーは作成しないでください
<a name="ru-bp-access"></a>

アクセスキーを使用すると、AWS コマンドラインインターフェイス (AWS CLI) でコマンドを実行することや、いずれかの AWS SDK から API オペレーションを使用することができます。ルートユーザーには請求情報を始めとするアカウントのすべての AWS のサービスとリソースへのフルアクセスがあるので、ルートユーザー用のアクセスキーを作成しないことを強くお勧めします。

ルートユーザーが必要とするタスクはごくわずかです。通常、そのようなタスクは頻繁に実行されないので、AWS マネジメントコンソールにサインインしてルートユーザーのタスクを実行することをお勧めします。プログラムによるアクセスの場合、ルートユーザーのアクセスキーを作成する代わりに、`aws login` コマンドをルート認証情報と共に使用して AWS CLI と SDK を認証します。この方法は、セキュリティ体制を強化し、アクセスキーを長期間管理する必要をなくす、自動的にローテーションされる一時的な認証情報を提供します。アクセスキーを作成する前に、「[長期的なアクセスキーに対する代替方法](security-creds-programmatic-access.md#security-creds-alternatives-to-long-term-access-keys)」を確認してください。

## 可能な場合、ルートユーザーのサインインには複数人による承認を求る
<a name="ru-bp-multi"></a>

ルートユーザーの MFA とパスワードの両方に 1 人のユーザーがアクセスできないようにするには、複数人による承認を求めることを検討してください。一部の企業では、パスワードにアクセスできる管理者グループと MFA にアクセスできる管理者グループを設定することでセキュリティを強化しています。ルートユーザーの認証情報を使用してサインインするには、各グループから 1 人のメンバーが必要です。

## ルートユーザーの認証情報にグループ E メールアドレスを使用する
<a name="ru-bp-group"></a>

ビジネスで管理され、受信したメッセージがユーザーのグループに直接転送されるメールアドレスを使用します。AWS がアカウントの所有者に連絡する必要がある場合、このアプローチを取ることによって、担当者の誰かが休暇中である場合、病欠である場合、または既に退職している場合でも応答の遅延のリスクを削減できます。ルートユーザーに使用されている E メールアドレスを他の目的で使用しないでください。

## アカウント回復メカニズムへのアクセスを制限する
<a name="ru-bp-recovery"></a>

管理者アカウントの乗っ取りなどの緊急時にアクセスが必要になった場合に備えて、ルートユーザーの認証情報回復メカニズムを管理するプロセスを準備しておいてください。
+ [ルートユーザーのパスワードを紛失した場合や忘れた場合にリセット](https://docs.aws.amazon.com/IAM/latest/UserGuide/reset-root-password.html)できるように、ルートユーザーの E メールの受信トレイにアクセスできることを確認します。
+ AWS アカウントのルートユーザー の MFA デバイスが紛失した場合、破損した場合、または機能しない場合は、同じルートユーザー認証情報に登録されている別の MFA デバイスを使用してサインインできます。すべての MFA にアクセスできなくなった場合、MFA を回復するには、アカウント登録時に使用した電話番号とメールアドレスの両方が最新でアクセス可能である必要があります。詳細については、「[ルートユーザー MFA デバイスの回復](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_lost-or-broken.html#root-mfa-lost-or-broken)」を参照してください。
+ ルートユーザーのパスワードと MFA を保管しない場合、ルートユーザーの認証情報を復元する代替方法としてアカウントに登録されている電話番号を使用できます。連絡先の電話番号にアクセスできることを確認し、電話番号を最新の状態に保ち、電話番号を管理できるユーザーを制限します。

E メールの受信トレイと電話番号は、どちらもルートユーザーのパスワードを回復するための検証手段であるため、誰も両方にアクセスできないようにする必要があります。これらのチャネルは、2 つのグループに分け管理することが重要です。1 つのグループはメインのメールアドレスにアクセスし、もう 1 つのグループはメインの電話番号にアクセスしてルートユーザーとしてアカウントへのアクセスを回復します。

## AWS Organizations アカウントのルートユーザーの認証情報です。
<a name="ru-bp-organizations"></a>

AWS Organizations でマルチアカウント戦略に移行すると、各 AWS アカウント にはセキュリティで保護する必要のある独自のルートユーザー認証情報が設定されます。組織を使用するために使用するアカウントは**管理アカウント**です。組織内の残りのアカウントは**メンバーアカウント**です。

### 管理アカウント用のルートユーザー認証情報を保護する
<a name="ru-bp-management"></a>

AWS では、組織の管理アカウントのルートユーザーに MFA を登録する必要があります。MFA 登録は、最初のサインインの試行時または 35 日間の猶予期間内に完了する必要があります。この時間内に MFA が有効になっていない場合は、AWS マネジメントコンソール にアクセスする前に登録が必要です。詳細については、「[AWS アカウントのルートユーザー の多要素認証](enable-mfa-for-root.md)」を参照してください。

### メンバーアカウント用のルートユーザー認証情報を保護する
<a name="ru-bp-member"></a>

AWS Organizations を使用して複数のアカウントを管理する場合、AWS Organizations 内のルートユーザーアクセスを保護するために講じることができる 2 つの戦略があります。
+ ルートアクセスを一元化し、メンバーアカウントからルートユーザー認証情報を削除します。ルートユーザーのパスワード、アクセスキー、署名証明書を削除し、多要素認証 (MFA) を非アクティブ化および削除します。この戦略を用いると、メンバーアカウントは、ルートユーザーにサインインしたり、ルートユーザーのパスワードリカバリを実行したりできません。詳細については、「[メンバーアカウントのルートアクセスを一元管理](id_root-user.md#id_root-user-access-management)」を参照してください。
+ AWS Organizations アカウントのルートユーザー認証情報を MFA で保護し、アカウントセキュリティを強化します。詳細については、「[AWS アカウントのルートユーザー の多要素認証](enable-mfa-for-root.md)」を参照してください。

詳細については、「*AWS Organizations ユーザーガイド*」の「[組織のメンバーアカウントへのアクセス](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)」を参照してください。

### サービスコントロールポリシー (SCP) を使用して、AWS Organizations に予防的セキュリティコントロールを設定する
<a name="ru-bp-scp"></a>

組織内のメンバーアカウントでルートユーザー認証情報が有効になっている場合は、SCP を適用してメンバーアカウントのルートユーザーへのアクセスを制限できます。特定のルート専用アクションを除き、メンバーアカウントのすべてのルートユーザーアクションを拒否することで不正アクセスを防ぐことができます。詳細については、「[SCP を使用し、メンバーアカウントのルートユーザーで行えることを制限する](https://docs.aws.amazon.com/organizations/latest/userguide/best-practices_member-acct.html#bp_member-acct_use-scp)」を参照してください。

## アクセスおよび使用状況をモニタリングする
<a name="ru-bp-monitor"></a>

現在の追跡メカニズムを使用して、ルートユーザーのログインと使用状況をモニタリング、アラート、レポートすることをお勧めします。これには、ルートユーザーのサインインと使用を知らせるアラートも含まれます。以下のサービスは、ルートユーザーの認証情報の使用状況を追跡し、不正使用を防ぐセキュリティチェックを実行するのに役立ちます。

**注記**  
CloudTrail は、ルートユーザーセッションと特権ルートユーザーセッションのさまざまなサインインイベントをログ記録します。これらの特権セッションでは、組織内のメンバーアカウントでルートユーザー認証情報を必要とするタスクを実行できます。サインインイベントで [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html) を使用して、管理アカウントまたは委任された管理者によって実行されたアクションを特定できます。詳細については、「[CloudTrail で特権タスクを追跡する](cloudtrail-track-privileged-tasks.md)」を参照してください。
+ アカウント内のルートユーザーのサインインアクティビティに関する通知を受け取る場合は、Amazon CloudWatch を利用して、ルートユーザーの認証情報が使用されたことを検出し、セキュリティ管理者への通知をトリガーするイベントルールを作成できます。詳細については、「[AWS アカウントのルートユーザーアクティビティのモニタリングと通知](https://aws.amazon.com/blogs/mt/monitor-and-notify-on-aws-account-root-user-activity/)」を参照してください。
+ 承認されたルートユーザーアクションを通知するアラートを設定する場合は、Amazon EventBridge と Amazon SNS を組み合わせて、特定のアクションのルートユーザーの使用状況を追跡し、Amazon SNS トピックを使用して通知する EventBridge ルールを作成できます。詳細については、「[Amazon S3 オブジェクトが作成されたときに通知を送信する](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-s3-object-created-tutorial.html)」を参照してください。
+ 脅威検出サービスとして既に GuardDuty を使用している場合は、その[機能を拡張](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html#policy-iam-rootcredentialusage)して、アカウントでルートユーザーの認証情報が使用されていることを通知することができます。

アラートには、ルートユーザーの E メールアドレスなどの情報を含めるよう設定します。ルートユーザーアクセスに関するアラートを受信する担当者がそのルートユーザーアクセスが予期されたものであることを確認する方法を理解し、セキュリティインシデントが発生していると判断した場合にエスカレーションする方法を理解できるようにアラートへの対応方法を準備しておく必要があります。設定例については、「[AWS アカウントのルートユーザーアクティビティのモニタリングと通知](https://aws.amazon.com/blogs/mt/monitor-and-notify-on-aws-account-root-user-activity/)」を参照してください。

### ルートユーザーの MFA コンプライアンスを評価する
<a name="ru-bp-monitor-eval"></a>

次のサービスは、ルートユーザー認証情報についての MFA コンプライアンスを評価するのに役立ちます。

**ルートユーザー認証情報を削除するベストプラクティスに従うと、MFA 関連のルールは非準拠と返します。**  
不正使用を防ぐのに役立つよう、組織内のメンバーアカウントからルートユーザー認証情報を削除することをお勧めします。MFA を含むルートユーザー認証情報を削除すると、これらのメンバーアカウントは **[非準拠]** として評価されます。
+ AWS Config は、ルートユーザーのベストプラクティスへのコンプライアンスをモニタリングするためのルールを提供します。[ルートユーザー認証情報について MFA を強制適用](https://docs.aws.amazon.com/config/latest/developerguide/root-account-mfa-enabled.html)するのに役立つよう、AWS Config マネージドルールを使用できます。また、AWS Config は、[ルートユーザーのアクセスキーを識別](https://docs.aws.amazon.com/config/latest/developerguide/iam-root-access-key-check.html)することもできます。
+ Security Hub CSPM は、AWS のセキュリティ状態を包括的に把握するビューを提供し、AWS 環境をセキュリティ業界標準およびベストプラクティス (ルートユーザーに MFA を設定し、ルートユーザーアクセスキーを設定しないなど) に照らして評価するために役立ちます。使用可能なルールの詳細については、「*Security Hub CSPM ユーザーガイド*」の「[AWS Identity and Access Management コントロール](https://docs.aws.amazon.com/securityhub/latest/userguide/iam-controls.html#iam-4)」を参照してください。
+ Trusted Advisor は、ルートユーザーアカウントで MFA が有効になっていることを確認するためのセキュリティチェックを提供します。詳細については、「AWS Support ユーザーガイド」の「[ルートアカウントの MFA](https://docs.aws.amazon.com/awssupport/latest/user/security-checks.html#mfa-root-account)」を参照してください。

アカウントのセキュリティ問題を報告する必要がある場合は、「[不信な E メールを報告](https://aws.amazon.com/security/report-suspicious-emails/)」または「[脆弱性レポート](https://aws.amazon.com/security/vulnerability-reporting/)」を参照してください。または、[AWS に問い合わせ](https://aws.amazon.com/contact-us/)て、サポートや追加のガイダンスを求めることもできます。