マルチアカウント環境におけるベストプラクティス
AWS Organizations でマルチアカウント環境を設定および管理する手順は、以下の事項に従って行うことをおすすめします。
アカウントと認証情報
ルートユーザーには強力なパスワードを使用する
強力でユニークなパスワードを使用することをおすすめします。そのためにはさまざまなパスワードマネージャーや、複雑なパスワードを生成するアルゴリズムやツールを使用できます。詳細については、「AWS アカウントのルートユーザーのパスワードを変更する」を参照してください。ルートユーザーのパスワードの長期保存と、それへのアクセスを管理するには、会社の情報セキュリティポリシーを使用してください。パスワードは、組織のセキュリティ要件を満たすパスワードマネージャーシステムまたは同等のシステムに保存することをおすすめします。循環依存が生じるのを避けるには、保護されたアカウントでサインインする AWS サービスに依存するツールでルートユーザーのパスワードを保存しないようにします。どの方法を選択する場合でも、復元能力を優先し、保護を強化するためにこの保管庫へのアクセスには複数のアクターを必須とするようにすることがおすすめです。パスワードとその保存場所へのアクセスはすべてログに記録し、モニタリングする必要があります。ルートユーザーパスワードに関するその他の推奨事項については、「AWS アカウントのルートユーザーのベストプラクティス」を参照してください。
ルートユーザーの認証情報の使用プロセスをドキュメント化する
重要なプロセスが実行される度にドキュメント化し、各ステップに誰が関与したかの記録が残るようにします。パスワードを管理するには、安全な暗号化されたパスワードマネージャーを使用することをおすすめします。また、例外や予期しないイベントが発生する可能性がある場合は、それについてのドキュメントを用意することも重要です。詳細については、「AWS サインインユーザーガイド」の「AWS Management Console サインインのトラブルシューティング」と、「IAM ユーザーガイド」の「ルートユーザー認証情報を必要とするタスク」を参照してください。
ルートユーザーに引き続きアクセスできること、および連絡先の電話番号が有効であることのテストと妥当性確認を、少なくとも四半期ごとに実施します。このようにすることで、プロセスが機能し、ルートユーザーへのアクセスが保持されていることを、組織的に確認することができます。また、ルートアクセス担当者が、プロセスを成功させるために実行しなければならない手順を理解しているか確認することもできます。応答時間と成功率を向上させるには、プロセスに関わるすべての担当者が、アクセスが必要な場合に何をすべきかを正確に理解していることが重要です。
ルートユーザーの認証情報に対して MFA を有効にする
AWS アカウント 内の AWS アカウント ルートユーザーと IAM ユーザーに対しては、複数の多要素認証 (MFA) デバイスを有効にすることをおすすめします。これにより、AWS アカウント のセキュリティレベルを引き上げ、AWS アカウント ルートユーザーなどの権限の高いユーザーに対するアクセスの管理を簡素化できます。お客様のさまざまなニーズに対応するため、AWS は 3 種類の IAM 用の MFA デバイスをサポートしています (FIDO セキュリティキー、仮想認証アプリケーション、タイムベースドワンタイムパスワード (TOTP) ハードウェアトークン)。
オーセンティケータの種類によって、使用ケースにとって最適な物理的特性やセキュリティ特性が若干異なります。FIDO2 セキュリティキーは最高レベルの保証を提供し、フィッシング対策として有効です。どの形式の MFA でも、パスワードのみによる認証よりもセキュリティ体制が強化されるため、アカウントに何らかの MFA を追加することを強くおすすめします。セキュリティと運用の要件に最も合ったデバイスタイプを選択してください。
TOTP ハードウェアトークンなど、プライマリ認証にバッテリー駆動のデバイスを選択する場合は、バックアップメカニズムとしてバッテリーに依存しない認証システムを登録することも検討してください。デバイスの機能を定期的にチェックし、有効期限が切れる前に交換することも、アクセスを中断させないために不可欠です。どのタイプのデバイスを選択するとしても、デバイスの紛失や障害に対する回復力を高めるために、少なくとも 2 台のデバイスを登録することをおすすめします (IAM は 1 ユーザーあたり最大 8 つの MFA デバイスをサポートします)。
MFA デバイスの保管については、組織の情報セキュリティポリシーに従ってください。MFA デバイスは、関連するパスワードとは別に保管することをおすすめします。これにより、パスワードと MFA デバイスにアクセスするのに、それぞれ異なるリソース (人、データ、ツール) が必要になります。このように分離することで、不正アクセスに対する保護をさらに強化することができます。また、MFA デバイスやその保存場所へのアクセスをすべてログに記録し、監視することをおすすめします。これにより、不正アクセスを検出して対応することができます。
詳細については、「IAM ユーザーガイド」の「多要素認証 (MFA) でルートユーザーのサインインを保護する」を参照してください。MFA を有効にする手順については、「AWS での多要素認証 (MFA) の使用」および「AWS でのユーザーの MFA デバイスの有効化」を参照してください。
ルートユーザーの認証情報へのアクセスをモニタリングするコントロールを適用する
ルートユーザーの認証情報へのアクセスは、頻繁に行われるべきではありません。管理アカウントルートユーザーの認証情報のログインと使用が通知されるよう、Amazon EventBridge などのツールを使用してアラートを作成します。通知には、少なくともルートユーザー自体に使用されているメールアドレスを含めるようにします。このアラートは重要で、見逃しにくくする必要があります。設定例については、Monitor and Notify on AWS アカウント Root User Activity
連絡先の電話番号を最新の状態に保つ
AWS アカウント へのアクセスを回復するには、連絡先電話番号が有効で、テキストメッセージや電話を受信できることが重要です。AWS がアカウントのサポートや復旧のために連絡が取れるように、専用の電話番号を使用することをおすすめします。アカウントの電話番号は、AWS Management Console またはアカウント管理 API を使用して簡単に表示、管理できます。
AWS が連絡が取れるようにするための専用電話番号を取得するには、さまざまな方法があります。専用の SIM カードと電話機を入手することを強くおすすめします。電話番号をアカウントの復旧に使用できるように、電話機と SIM を長期間安全に保管します。また、携帯電話料金の請求処理を担当するチームが、この番号が長期間使用されない場合でも重要な番号であることを理解していることを確認してください。この電話番号は、さらなる保護のために、組織内で秘密にしておくことが不可欠です。
AWS 連絡先情報のコンソールページに電話番号を記録し、その詳細を組織内で知っておく必要のある特定のチームと共有します。このアプローチは、電話番号を別の SIM に転送する際に生じるリスクを最小限に抑えるのに役立ちます。電話は、既存の情報セキュリティポリシーに従って保管します。ただし、保管場所は、関連する他の認証情報と同じにしてはなりません。電話機とその保存場所へのアクセスはすべてログに記録し、モニタリングする必要があります。アカウントに関連付けられている電話番号が変更された場合は、既存のドキュメントに記載の電話番号を更新するプロセスを実施してください。
ルートアカウントにグループメールアドレスを使用する
会社が管理するメールアドレスを使用します。受信したメッセージをユーザーのグループに直接転送するメールアドレスを使用します。アクセス権の確認など、AWS からアカウントの所有者に連絡する必要が生じる事象では、メールのメッセージは複数の当事者に送信されます。こうすることで、誰かが休暇中や病欠であるか、あるいはすでに退職している場合でも、応答の遅延のリスクを軽減できます。
組織構造とワークロード
アカウントを 1 つの組織内で管理する
1 つの組織を作成し、その組織内ですべてのアカウントを管理することをおすすめします。組織は、環境のアカウント間の一貫性を維持するためのセキュリティ境界です。組織のアカウントに対し、ポリシーやサービスレベルの設定を一元的に適用できます。マルチアカウント環境全体で一貫したポリシー、一元的な可視性、プログラムによる制御を実現したい場合は、単一の組織内で実現するのが最適です。
報告体制ではなく、ビジネス目的に基づいてワークロードをグループ化する
本番環境のワークロード環境とデータを、最上位のワークロード指向の OU に分離することをおすすめします。OU は、会社の報告体制を反映するのではなく、共通のコントロールセットに基づいて作成する必要があります。本番環境の OU とは別に、ワークロードの開発とテストに使用されるアカウントとワークロード環境を含む非本番環境の OU を 1 つ以上定義することがおすすめです。追加のガイダンスについては、「ワークロード指向の OU を構成する」を参照してください。
複数のアカウントを使用してワークロードを整理する
AWS アカウント ではデフォルトで、AWS リソースのセキュリティ、アクセス、請求境界が提供されます。複数のアカウントを使用することには、アカウントレベルのクォータと API リクエストレートの制限を分散できるというメリットがあります。その他にも、こちらに記載されているようなメリットがあります。セキュリティ、ログ、インフラストラクチャ用のアカウントなど、組織全体の基本アカウントを複数使用することをおすすめします。ワークロードアカウントの場合、本番用ワークロードとテスト/開発用ワークロードを別々のアカウントに分ける必要があります。
サービスとコスト管理
サービスコンソールまたは API/CLI 操作を使用して組織レベルで AWS サービスを有効にする
ベストプラクティスとして、AWS Organizations 全体で統合したいサービスを有効または無効にするには、そのサービスのコンソール、または API 操作/CLI コマンドを使用してことをおすすめします。この方法により、必要なリソースの作成やサービスを無効にしたときのリソースのクリーンアップなど、組織に必要なすべての初期化手順を AWS サービスで実行できます。 AWS Account Management は唯一、AWS Organizations コンソールまたは API を使用して有効にする必要があるサービスです。AWS Organizations と統合されているサービスのリストを確認するには、AWS Organizations で使用できる AWS のサービス を参照してください。
請求ツールを使用してコストを追跡し、リソースの使用を最適化する
組織を管理する場合、組織内のアカウントのすべての料金が網羅的にまとめられた一括請求書が届きます。コストを可視化する必要のあるビジネスユーザーには、請求ツールやコストツールを確認するために、読み取り専用の制限つき権限ロールを管理アカウントに割り当てることができます。たとえば、請求レポートへのアクセスを許可する権限セットを作成したり、AWS Cost Explorer Service (経時的なコスト傾向を表示するツール)を使用したり、Amazon S3 ストレージレンズ
組織リソース全体でのタグ付け戦略とタグの適用を計画する
アカウントやワークロードがスケールしてくると、コスト追跡、アクセス制御、リソースの整理にタグが役立ちます。タグ付けの命名方法については、「AWS リソースにタグを付ける」のガイダンスに従ってください。リソースの他にも、組織のルート、アカウント、OU、およびポリシーにタグを作成することができます。詳しくは、「タグ付け戦略の構築」を参照してください。