AWS Organizations を使用した GuardDuty アカウントの管理 - Amazon GuardDuty

AWS Organizations を使用した GuardDuty アカウントの管理

AWS Organizations 組織で GuardDuty を使用する場合、組織内で任意のアカウントを GuardDuty の委任された管理者に指定することができます。組織の管理者アカウントのみが、GuardDuty の委任された管理者を指定できます。

委任された管理者として指定されたアカウントは、管理者アカウントとして所定のリージョンで GuardDuty が自動的に有効になり、そのリージョン内の組織すべてのアカウントに対して GuardDuty を有効にし管理する許可が付与されます。組織内の他のアカウントは、委任された管理者アカウントに関連付けられた GuardDuty メンバーアカウントとして表示および追加することができます。

既に招待によって関連付けられたメンバーアカウントを持つ GuardDuty 管理者を設定されていて、メンバーアカウントが同じ組織に属している場合、組織に GuardDuty の委任された管理者を設定すると、その [Type] (タイプ) が [by Invitation] (招待による) から [via Organizations] (Organizations 経由) に変更されます。新しい委任された管理者が、以前に同じ組織に属していないメンバーを招待によって追加した場合、[Type] (タイプ) は [by Invitation] (招待による) となります。いずれの場合も、以前に追加されたアカウントは、組織の GuardDuty の委任された管理者のメンバーアカウントです。

組織外にいる場合でも、引き続きアカウントをメンバーとして追加できます。詳細については、「招待による管理者およびメンバーアカウントの指定 (コンソール)」および「招待による GuardDuty 管理者およびメンバーアカウントの指定 (API)」を参照してください。

GuardDuty の委任された管理者のための重要な考慮事項

GuardDuty の委任された管理者が行う操作方法を定義する、次の要素に注意してください。

委任された管理者は、最大 5000 のメンバーを管理することができます。

GuardDuty の委任された管理者 1 名あたりのメンバーアカウント数は 5000 件までとされています。ただし、組織内に 5,000 を超えるアカウントが存在する可能性があります。[All] (すべて) の組織内のアカウントの数は、GuardDuty コンソールの [Accounts] (アカウント) ページに表示されます。

メンバーアカウント数が 5000 アカウントを超えると、CloudWatch、AWS Health Dashboard、および委任された管理者アカウントにメールで通知が届きます。

委任された管理者はリージョンレベルです。

AWS Organizations とは異なり、GuardDuty はリージョンレベルのサービスです。これは、GuardDuty の委任された管理者とそのメンバーアカウントは、AWS Organizations によるアカウント管理をすべてのリージョンでアクティブにするために、希望のリージョンごとに追加する必要があるということを意味します。つまり、組織管理アカウントで米国東部 (バージニア北部) のみの GuardDuty の委任された管理者を指定した場合、その委任された管理者はそのリージョンに追加されたメンバーアカウントのみを管理します。GuardDuty のリージョンの詳細については、「リージョンとエンドポイント」を参照してください。

組織は、委任された管理者を 1 名だけ持つことができます。

委任された管理者は、1 つのアカウントにつき 1 名のみです。あるリージョンでアカウントを委任された管理者に指定した場合、そのアカウントは他のすべてのリージョンで委任された管理者である必要があります。既に設定されている委任された管理者を変更する場合は、委任された管理者の登録を解除する手順を参照してください。

組織の管理アカウントを委任された管理者として設定することは推奨されません。

組織の管理アカウントは委任された管理者になることはできますが、これは最小特権の原則に従う AWS セキュリティのベストプラクティスに基づいて推奨されません。

委任された管理者を変更しても、メンバーアカウントの GuardDuty は無効になりません。

委任された管理者を削除すると、関連するすべてのメンバー アカウントが GuardDuty のメンバーとして削除されますが、これらのアカウントで GuardDuty が無効になるわけではありません。

委任された管理者の指定に必要な許可

GuardDuty の委任された管理者を委任する場合、GuardDuty を有効にする許可だけでなく、次のポリシーステートメントに記載されている特定の AWS Organizations API アクションを有効にする許可も必要です。

IAM ポリシーの最後に次のステートメントを追加することで、これらの許可を付与できます。

{ "Sid": "PermissionsForGuardDutyAdmin", "Effect": "Allow", "Action": [ "guardduty:EnableOrganizationAdminAccount", "organizations:EnableAWSServiceAccess", "organizations:RegisterDelegatedAdministrator", "organizations:ListDelegatedAdministrators", "organizations:ListAWSServiceAccessForOrganization", "organizations:DescribeOrganizationalUnit", "organizations:DescribeAccount", "organizations:DescribeOrganization" ], "Resource": "*" }

また、AWS Organizations 管理アカウントを GuardDuty の委任された管理者として指定する場合、そのエンティティには GuardDuty を初期化するための CreateServiceLinkedRole 許可が必要です。これは、次のステートメントを使用して IAM ポリシーに追加することができます (アカウント ID を組織の管理 ID に置き換えます)。

{ "Sid": "PermissionsToEnableGuardDuty" "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::123456789012:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty", "Condition": { "StringLike": { "iam:AWSServiceName": "guardduty.amazonaws.com" } } }
注記

手動で有効にしたリージョンで GuardDuty を使用している場合は、[Service] (サービス) の値を該当のリージョン用にリージョンレベルのエンドポイントに置き換えます。例えば、中東 (バーレーン) (me-south-1) リージョンで GuardDuty を使用している場合は、"Service": "guardduty.amazonaws.com""Service": "guardduty.me-south-1.amazonaws.com" に置き換えます。

GuardDuty の委任された管理者の指定

次の手順では、AWS 組織の委任された管理者を指定し、メンバーアカウントを追加する方法を示します。コンソールまたは API を選択し、表示されるステップに従います。

Console

ステップ 1 - 組織の GuardDuty の委任された管理者を登録する

  1. AWS Organizations 組織の管理者アカウントを使用して AWS Management Console にログインします。

  2. https://console.aws.amazon.com/guardduty/ で GuardDuty コンソールを開きます。

    アカウント内で GuardDuty が既に有効になっていますか?

    • GuardDuty がまだ有効になっていない場合は、[Get Started] (今すぐ始める) を選択し、[Welcome to GuardDuty] (GuardDuty にようこそ) ページで GuardDuty の委任された管理者を指定できます。

      注記

      委任された管理者がそのアカウントで GuardDuty を有効にして管理できるようにするには、管理アカウントに GuardDuty サービスにリンクされたロールが必要です。任意のリージョンで管理アカウントの GuardDuty を有効にすると、このロールが自動的に作成されます。

    • GuardDuty が有効になっている場合、[Settings] (設定) ページで GuardDuty の委任された管理者を指定することができます。

  3. 組織の GuardDuty の委任された管理者として指定するアカウントの 12 桁の AWS アカウント ID を入力します。

  4. [Delegate] (委任) を選択します。GuardDuty がまだ有効になっていない場合、委任された管理者を指定すると、そのアカウントに対し現在のリージョンで GuardDuty が有効になります。

  5. (推奨) 各 AWS リージョン毎に前のステップを繰り返します。

委任された管理者を指定した後、委任された管理者アカウントを変更または削除するには、組織管理アカウントを使用するだけです。

重要

アカウントをメンバーとして追加すると、そのアカウントの現在のリージョンで GuardDuty が自動的に有効になります。    この動作は、アカウントをメンバーとして追加する前に GuardDuty を有効にする必要がある招待方法とは異なります。

各リージョンで GuardDuty を有効にするには、それらのリージョンに組織メンバーを追加する必要があります。

ステップ 2 - 既存の組織アカウントをメンバーとして追加する

  1. https://console.aws.amazon.com/guardduty/ で GuardDuty コンソールを開きます。

  2. ナビゲーションパネルで [Settings] (設定) を選択してから、[Accounts] (アカウント) を選択します。

    アカウントの一覧に組織内のすべてのアカウントが表示されます。これらのアカウントの [Type] (タイプ) は、[via organizations] (Organizations 経由) です。組織の GuardDuty の委任された管理者に関連付けられたメンバーアカウントではないアカウントのステータスは、[Not a member] (メンバーではない) です。

  3. アカウント ID の横にあるチェックボックスをオンにして、メンバーとして追加するアカウントを選択します。

    注記

    ページ上部のバナーで [enable] (有効) を選択することで、すべての組織アカウントの現在のリージョンで GuardDuty を有効にできます。このアクションにより、[Auto-Enable] (自動有効化) 機能がトリガーされ、組織に今後追加されるすべてのアカウントに対して GuardDuty が有効になります。

    または、[filter] (フィルター) フィールドを使用して [Relationship status: Not a member] (関係ステータス:メンバーではない) でフィルター処理し、現在のリージョンで GuardDuty が有効になっていないすべてのアカウントを選択することもできます。

  4. [Actions (アクション)、[Add member] (メンバーの追加) の順に選択します。

  5. 選択したアカウントの数をメンバーとして追加することを確認します。アカウントの [Status] (ステータス) が [Enabled] (有効) に変わります。

  6. (推奨) 委任された管理者が全リージョンのメンバーアカウントの検出結果を管理できるように、各 AWS リージョンでこのステップを繰り返してください。

ステップ 3 - メンバーとしての新しい組織アカウントの追加を自動化する

  1. 委任された管理者のアカウントを使用して、https://console.aws.amazon.com/guardduty/ コンソール にログインします。

  2. ナビゲーションペインで [Settings] (設定) の [Accounts] (アカウント) を選択します。その後、[Auto-enable] (自動有効化) を選択します。

  3. S3 保護または Kubernetes 監査ログモニタリングオプションから GuardDuty の選択を有効にすることに加えて、新しいメンバーのために追加の検出機能を有効にする場合は、最初の切り替えアイコンを選択して自動有効をオンにします。これらの機能の詳細については、「マルチアカウント環境での S3 保護の設定」または「Amazon GuardDuty での Kubernetes 保護」を参照してください。更新が完了したら、[Update Settings] (設定を更新) を選択して変更を確定します。

  4. (推奨) 各 AWS リージョンでこれらのステップを繰り返し、すべてのリージョンの新規アカウントで GuardDuty が自動的に有効化されるようにします。

自動有効化機能は、組織の将来のメンバー全員に対して GuardDuty を有効にします。これにより、GuardDuty の委任された管理者は、組織内で作成された、または組織に追加された新しいメンバーを管理できます。メンバーアカウント数が 5,000 の上限に達すると、自動有効化機能は自動的にオフになります。アカウントが削除され、メンバーの総数が 5000 未満になると、自動有効化機能が再度オンになります。

API

委任された管理者を指定して、メンバーアカウントを追加する (API)

  1. Organizations 管理アカウントの AWS アカウントの認証情報を使用して、enableOrganizationAdminAccount API オペレーションを実行します。

    これは、次の CLI コマンドを実行することで、AWS Command Line を使用して実行することもできます。GuardDuty の委任された管理者にしたいアカウントのアカウント ID を必ず指定してください。

    AWS guardduty enable-organization-admin-account --admin-account-id 11111111111

    このコマンドは、現在のリージョンに対してのみ、委任された管理者を設定します。現在のリージョンで、そのアカウントに対して GuardDuty がまだ有効になっていない場合、自動的に有効になります。

    他のリージョンの委任された管理者を設定するには、委任された管理者に管理させたいリージョンを指定する必要があります。詳細については、「GuardDuty エンドポイントとクォータ」を参照してください。次の例では、米国西部 (オレゴン) で委任された管理者を有効にする方法を示します。

    AWS guardduty enable-organization-admin-account --admin-account-id 11111111111 --region us-west-2
  2. 前のステップで GuardDuty の委任された管理者として指定した AWS アカウントの認証情報を使用して、CreateMembers API オペレーションを実行します。

    委任された管理者の AWS アカウントのリージョンレベルのディテクター ID、および GuardDuty メンバーになるアカウントのアカウント ID や E メールアドレスなどのアカウント詳細を指定する必要があります。この API オペレーションを使用して 1 名以上のメンバーを作成できます。

    重要

    メンバーとして追加されたアカウントでは、組織管理アカウントを除き、そのリージョンで GuardDuty が有効になります。組織管理アカウントでは、メンバーアカウントとして追加する前にまず GuardDuty を有効にする必要があります。

    この操作は、次の CLI コマンドを実行することで、AWS Command Line Tools を使用して行うこともできます。自身の有効なディテクター ID、アカウント ID、E メールを使用してください。

    AWS guardduty create-members --detector-id 12abc34d567e8fa901bc2d34e56789f0 --account-details AccountId=123456789012,Email=guarddutymember@amazon.com

    ListAccounts API オペレーションを使用するか、次の CLI コマンドを実行することで、すべての組織メンバーのリストを表示できます。

    AWS organizations list-accounts
  3. GuardDuty の委任された管理者のアカウントの認証情報を使用して updateOrganizationConfiguration API オペレーションを実行し、新しいメンバーアカウントに対してそのリージョンで GuardDuty を自動的に有効にします。

    委任された管理者の AWS アカウントのディテクター ID を指定する必要があります。

    この操作は、次の CLI コマンドを実行することで、AWS Command Line Tools を使用して行うこともできます。自身の有効なディテクター ID を使用してください。

    AWS guardduty update-organization-configuration --detector-id 12abc34d567e8fa901bc2d34e56789f0 --auto-enable

    describeOrganizationConfiguration API オペレーションを実行するか、委任された管理者のディテクター ID を使用して次の CLI コマンドを実行することで、目的のリージョンの GuardDuty の自動有効化機能がオンになっているかを確認できます。

    AWS guardduty describe-organization-configuration —detector-id 12abc34d567e8fa901bc2d34e56789f0
  4. (推奨) 各リージョンにて、固有のディテクター ID を使用してこれらのステップを繰り返し、すべての AWS リージョンすべてのメンバーの GuardDuty モニタリングカバレッジを有効にします。

GuardDuty 管理者アカウントの単一の組織の委任された管理者への統合

GuardDuty では、委任された管理者のアカウントでメンバーアカウントを管理するために、AWS Organizations を通じて関連付けを使用することを推奨しています。以下に示すプロセスの例を使用して、組織内の招待によって関連付けられた管理者とメンバーを、1 名の GuardDuty の委任された管理者の下に統合することができます。

注記

既に GuardDuty の委任された管理者が管理しているアカウントや、アクティブなメンバーがいる委任された管理者のアカウントを、別の GuardDuty の委任された管理者のアカウントに追加することはできません。各組織は、リージョンごとに 1 つのみ GuardDuty の委任された管理者のアカウントを持つことができ、各メンバーアカウントは 1 名の委任された管理者のみを持つことができます。

  1. GuardDuty を管理するすべてのアカウントが組織に属していることを確認します。組織にアカウントを追加する方法については、「AWS アカウントを組織に招待する」を参照してください。

  2. 組織の GuardDuty の委任された管理者として指定したいアカウントを除き、既存の管理者アカウントからすべてのメンバーアカウントの関連付けを解除します。

  3. [Settings] (設定) ページから、組織の GuardDuty の委任された管理者を指定します。

  4. 指定された委任管理者アカウントにログインします。

  5. 組織からメンバーの追加に進みます。

    重要

    GuardDuty はリージョンレベルのサービスであるという点にご注意ください。GuardDuty の効果を最大限にするために、委任された管理者のアカウントを指定し、各リージョンのメンバー全員を追加することをお勧めします。

GuardDuty の委任された管理者の登録解除

注記

委任された管理者の登録を解除できるのは、Organizations 管理アカウントのみです。

コンソールまたは API を選択し、表示されるステップに従って、委任された管理者の登録を解除します。登録解除が完了すると、新しい委任された管理者を指定することができます。

Console

コンソールから委任された管理者の登録を解除する場合に、アカウントが Organizations 管理アカウントでもある場合は、委任された管理者として指定された各リージョンでこのプロセスを繰り返す必要があります。

重要

Organizations 管理アカウントで、別のアカウントを委任された管理者に指定した場合、そのアカウントはすべてのリージョンで登録が解除されます。

  1. https://console.aws.amazon.com/guardduty/ で GuardDuty コンソールを開きます。

  2. [Settings] (設定) を選択します。

  3. 設定ページから、[Delegated Administrator] (委任された管理者) で [Remove] (削除) を選択します。

  4. [Remove Administrator] (管理者の削除) を選択して変更を確定します。

API

API から委任された管理者の登録を解除する場合は、新しく委任された管理者を指定する前に、すべてのリージョンで登録を解除する必要があります。

  1. Organizations 管理アカウントの認証情報を使用して、DisableOrganizationAdminAccount API オペレーションを実行します。

    aws guardduty disable-organization-admin-account ‐‐admin-account-id "123456789012"
  2. その委任された管理者が管理する各リージョンで繰り返します。