招待による GuardDuty アカウントの管理 - Amazon GuardDuty

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

招待による GuardDuty アカウントの管理

組織外のアカウントを管理するには、従来の招待による方法を使用できます。この方法を使用する場合、他のアカウントが招待を承諾してメンバーアカウントになると、アカウントは管理者アカウントとして指定されます。

アカウントが管理者アカウントでない場合は、別のアカウントからの招待を受け入れることができます。招待を承諾すると、自分のアカウントはメンバーアカウントになります。 AWS アカウントは、 GuardDuty 管理者アカウントとメンバーアカウントを同時に使用することはできません。

あるアカウントからの招待を受け入れる場合、別のアカウントからの招待を受け入れることはできません。別のアカウントからの招待を受け入れるには、まず既存の管理者アカウントからアカウントの関連付けを解除する必要があります。または、管理者アカウントは、組織からアカウントの関連付けを解除して削除することもできます。

招待によって関連付けられたアカウントは、「」で説明されているように AWS Organizations、 によって関連付けられたアカウントと同じ全体的な管理者 account-to-member 関係を持ちます GuardDuty 管理者アカウントとメンバーアカウントの関係を理解する。ただし、招待管理者アカウントのユーザーは、関連付けられたメンバーアカウント GuardDuty に代わって を有効にしたり、 AWS Organizations 組織内の他の非メンバーアカウントを表示したりすることはできません。

重要

クロスリージョンデータ転送は、 がこの方法を使用してメンバーアカウント GuardDuty を作成するときに発生する可能性があります。メンバーアカウントの E メールアドレスを検証するために、 は米国東部 (バージニア北部) リージョンでのみ動作する E メール検証サービス GuardDuty を使用します。

招待によるアカウントの追加と管理

いずれかのアクセス方法を選択して、アカウントを追加し、 GuardDuty 管理者アカウントとして GuardDuty メンバーアカウントになるように招待します。

Console
ステップ 1 - アカウントを追加する
  1. https://console.aws.amazon.com/guardduty/ で GuardDuty コンソールを開きます。

  2. ナビゲーションペインで、[Accounts] (アカウント) を選択します。

  3. 上部のペインで [招待によってアカウントを追加] を選択します。

  4. 「メンバーアカウントの追加」ページの「アカウントの詳細を入力」に、追加するアカウントに関連付けられた AWS アカウント ID と E メールアドレスを入力します。

  5. アカウントの詳細を追加する別の行を 1 つずつ追加するには、[別のアカウントを追加] を選択します。[アカウントの詳細を含む.csvファイルをアップロード] を選択して、アカウントを一括で追加することもできます。

    重要

    次の例に示すように、.csv ファイルの 1 行目にヘッダー (Account ID,Email) を含める必要があります。後続の各行には、有効な AWS アカウント ID とそれに関連付けられた E メールアドレスが 1 つ含まれている必要があります。行の形式は、 AWS アカウント ID が 1 つだけ含まれ、関連する E メールアドレスがカンマで区切られている場合に有効です。

    Account ID,Email 555555555555,user@example.com
  6. すべてのアカウントの詳細を追加したら、[次へ] を選択します。新しく追加したアカウントは、[アカウント] テーブルに表示されます。これらのアカウントのステータス[招待未送信] になります。追加したアカウントに招待状を送信する方法については、「Step 2 - Invite an account」を参照してください。

ステップ 2: アカウントを招待する
  1. https://console.aws.amazon.com/guardduty/ で GuardDuty コンソールを開きます。

  2. ナビゲーションペインで、[Accounts] (アカウント) を選択します。

  3. Amazon に招待するアカウントを 1 つ以上選択します GuardDuty。

  4. [アクション] ドロップダウンメニューから [招待] を選択します。

  5. 「招待 GuardDuty」ダイアログボックスに、「(オプション) 招待メッセージ」を入力します。

    招待されたアカウントが E メールにアクセスできない場合は、[招待先の AWS アカウント のルートユーザーにも E メール通知を送信し、招待先の  AWS Health Dashboard にアラートを生成] をクリックします。

  6. [Send invitation] (招待の送信) を選択します。招待者が指定された E メールアドレスにアクセスできる場合は、https://console.aws.amazon.com/guardduty/ でコンソールを開く GuardDutyことで招待を表示できます。

  7. 招待先が招待を承諾すると、[ステータス] 列の値が [招待済み] に変わります。招待を承諾する方法の詳細については、「Step 3 - Accept an invitation」を参照してください。

ステップ 3 - 招待を受け入れる
  1. https://console.aws.amazon.com/guardduty/ で GuardDuty コンソールを開きます。

    重要

    メンバーシップの招待を表示または承諾 GuardDuty する前に、 を有効にする必要があります。

  2. GuardDuty まだ を有効にしていない場合にのみ、次の手順を実行します。有効にしていない場合は、このステップをスキップして次のステップに進むことができます。

    をまだ有効にしていない場合は GuardDuty、Amazon ページで「使用開始」を選択します。 GuardDuty

    「ようこそ GuardDuty」ページで、「 を有効にする GuardDuty」を選択します。

  3. アカウント GuardDuty で を有効にしたら、次のステップに従ってメンバーシップの招待を承諾します。

    1. ナビゲーションペインで 設定 を選択します。

    2. [アカウント] を選択します。

    3. [アカウント] で、招待元のアカウント所有者を確認してください。[承諾] を選択してメンバーシップへの招待を承諾します。

  4. 招待を承諾すると、アカウントは GuardDuty メンバーアカウントになります。所有者が招待を送信したアカウントが GuardDuty 管理者アカウントになります。招待が承諾されたことが管理者アカウントで認識されます。 GuardDuty アカウントのアカウントテーブルが更新されます。メンバーアカウント ID に対応するステータス列の値は、有効 に変更されます。管理者アカウントの所有者は、アカウントに代わって および保護プランの設定を表示 GuardDuty および管理できるようになりました。管理者アカウントは、メンバーアカウントに対して生成された GuardDuty 結果を表示および管理することもできます。

API/CLI

GuardDuty 管理者アカウントを指定し、 API オペレーションを通じて招待によって GuardDuty メンバーアカウントを作成または追加できます。で管理者アカウントとメンバーアカウントを指定するには、次の GuardDuty API オペレーションを実行します GuardDuty。

GuardDuty 管理者アカウントとして AWS アカウント 指定する の認証情報を使用して、次の手順を実行します。

メンバーアカウントの作成または追加
  1. GuardDuty が有効になっているアカウントの認証情報 AWS を使用して CreateMembers API オペレーションを実行します。これは、管理者アカウントとして使用する GuardDuty アカウントです。

    現在の AWS アカウントのディテクター ID と、 GuardDuty メンバーにするアカウントのアカウント ID と E メールアドレスを指定する必要があります。この API オペレーションを使用して 1 名以上のメンバーを作成できます。

    コマンド AWS ラインツールを使用して、次の CLI コマンドを実行して管理者アカウントを指定することもできます。自身の有効なディテクター ID、アカウント ID、E メールを使用してください。

    アカウントと現在のリージョンdetectorIdの を検索するには、https://console.aws.amazon.com/guardduty/ コンソールの設定ページを参照するか、 ListDetectors API を実行します。

    aws guardduty create-members --detector-id 12abc34d567e8fa901bc2d34e56789f0 --account-details AccountId=111122223333,Email=guardduty-member@organization.com
  2. GuardDuty が有効になっている AWS アカウントの認証情報InviteMembersを使用して を実行します。これは、管理者アカウントとして使用する GuardDuty アカウントです。

    現在の AWS アカウントのディテクター ID と、 GuardDuty メンバーにするアカウントのアカウント IDs を指定する必要があります。この API オペレーションにより 1 名以上のメンバーを招待できます。

    注記

    message リクエストパラメータを使用してオプションの招待メッセージを指定することもできます。

    を使用して AWS Command Line Interface 、次のコマンドを実行してメンバーアカウントを指定することもできます。招待するアカウントには、自身の有効なディテクター ID と有効なアカウント ID を使用してください。

    アカウントと現在のリージョンdetectorIdの を検索するには、https://console.aws.amazon.com/guardduty/ コンソールの設定ページを参照するか、 ListDetectors API を実行します。

    aws guardduty invite-members --detector-id 12abc34d567e8fa901bc2d34e56789f0 --account-ids 111122223333
招待の受け入れ

GuardDuty メンバー AWS アカウントとして指定する各アカウントの認証情報を使用して、次の手順を実行します。

  1. GuardDuty メンバーアカウントに招待され、招待を受け入れるアカウントごとに CreateDetector AWS API オペレーションを実行します。

    サービスを使用して GuardDutyディテクターリソースを有効にするかどうかを指定する必要があります。を運用可能 GuardDuty にするには、ディテクターを作成して有効にする必要があります。招待を受け入れる GuardDuty 前に、まず を有効にする必要があります。

    これを行うには、次の CLI AWS コマンドを使用して コマンドラインツールを使用します。

    aws guardduty create-detector --enable
  2. その AWS アカウントの認証情報を使用して、メンバーシップの招待を承諾するアカウントごとに AcceptAdministratorInvitation API オペレーションを実行します。

    メンバー AWS アカウントのこのアカウントのディテクター ID、招待を送信した管理者アカウントのアカウント ID、および承諾する招待の招待 ID を指定する必要があります。管理者アカウントのアカウント ID は、招待メールで見つかります。または、API の ListInvitations オペレーションを使用して検索することもできます。

    次の CLI コマンドを実行して、 AWS コマンドラインツールを使用して招待を受け入れることもできます。ディテクター ID、管理者アカウント ID、招待状 ID は必ず有効なものを使用してください。

    アカウントと現在のリージョンdetectorIdの を検索するには、https://console.aws.amazon.com/guardduty/ コンソールの設定ページを参照するか、 ListDetectors API を実行します。

    aws guardduty accept-invitation --detector-id 12abc34d567e8fa901bc2d34e56789f0 --administrator-id 444455556666 --invitation-id 84b097800250d17d1872b34c4daadcf5

GuardDuty 管理者アカウントを単一の組織委任 GuardDuty 管理者アカウントに統合する

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

注記

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

いずれかのアクセス方法を選択して、 GuardDuty 管理者アカウントを 1 つの委任 GuardDuty 管理者アカウントに統合します。

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

    ログインするには、組織の管理アカウントの認証情報を使用します。

  2. 管理するすべてのアカウントは、組織の一部 GuardDuty である必要があります。組織にアカウントを追加する方法については、「組織への AWS アカウント の招待」を参照してください。

  3. すべてのメンバーアカウントが、単一の委任 GuardDuty 管理者アカウントとして指定するアカウントに関連付けられていることを確認します。既存の管理者アカウントにまだ関連付けられているメンバーアカウントの関連付けを解除します。

    次のステップは、メンバーアカウントと既存の管理者アカウントの関連付けを解除するのに役立ちます。

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

    2. ログインするには、既存の管理者アカウントの認証情報を使用します。

    3. ナビゲーションペインで、[Accounts] (アカウント) を選択します。

    4. [アカウント] ページで、管理者アカウントとの関連付けを解除する 1 つ以上のアカウントを選択します。

    5. [アクション] を選択してから、[アカウントの関連付けを解除する] を選択します。

    6. [確認] を選択してステップを確定します。

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

    ログインするには、管理アカウントの認証情報を使用します。

  5. ナビゲーションペインで 設定 を選択します。設定ページで、組織の委任 GuardDuty 管理者アカウントを指定します。

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

  7. 組織からメンバーを追加します。詳細については、「による GuardDuty アカウントの管理 AWS Organizations」を参照してください。

API/CLI
  1. 管理するすべてのアカウントは、組織の一部 GuardDuty である必要があります。組織にアカウントを追加する方法については、「組織への AWS アカウント の招待」を参照してください。

  2. すべてのメンバーアカウントが、単一の委任 GuardDuty 管理者アカウントとして指定するアカウントに関連付けられていることを確認します。

    1. を実行してDisassociateMembers、既存の管理者アカウントにまだ関連付けられているメンバーアカウントの関連付けを解除します。

    2. または、 AWS Command Line Interface を使用して次のコマンドを実行し、777777777777 をメンバーアカウントの関連付けを解除する既存の管理者アカウントのディテクター ID に置き換えることもできます。666666666666 を、関連付けを解除するメンバーアカウントの  AWS アカウント  ID に置き換えます。

      aws guardduty disassociate-members --detector-id 777777777777 --account-ids 666666666666
  3. EnableOrganizationAdminAccount を実行して、 を委任された GuardDuty 管理者アカウント AWS アカウント として委任します。

    または、 AWS Command Line Interface を使用して次のコマンドを実行し、委任された GuardDuty 管理者アカウントを委任することもできます。

    aws guardduty enable-organization-admin-account --admin-account-id 777777777777
  4. 組織からメンバーを追加します。詳細については、「Create or add member member accounts using API」を参照してください。

重要

リージョンサービスである の有効性を最大化するには GuardDuty、委任された GuardDuty 管理者アカウントを指定し、すべてのリージョンのすべてのメンバーアカウントを追加することをお勧めします。

複数のアカウント GuardDuty で同時に を有効にする

複数のアカウント GuardDuty で同時に を有効にするには、次の方法を使用します。

Python スクリプトを使用して複数のアカウント GuardDuty で同時に を有効にする

Amazon GuardDuty マルチアカウントスクリプト のサンプルリポジトリのスクリプトを使用して、 GuardDuty 複数のアカウントで の有効化または無効化を自動化できます。このセクションのプロセスを使用して、Amazon EC2 を使用するメンバーアカウントのリスト GuardDuty に対して を有効にします。disable スクリプトの使用またはローカルでスクリプトを設定する方法については、共有リンクの手順を参照してください。

このenableguardduty.pyスクリプトは、 を有効にし GuardDuty、管理者アカウントから招待を送信し、すべてのメンバーアカウントで招待を受け入れます。その結果、すべてのメンバー GuardDuty アカウントのすべてのセキュリティ検出結果を含む管理者アカウントが作成されます。 GuardDuty はリージョンによって分離されているため、各メンバーアカウントの結果は、管理者アカウントの対応するリージョンにロールアップされます。例えば、 GuardDuty 管理者アカウントの us-east-1 リージョンには、関連するすべてのメンバーアカウントのすべての us-east-1 の検出結果のセキュリティ検出結果が含まれています。

これらのスクリプトは、マネージドポリシー AWS マネージドポリシー: AmazonGuardDutyFullAccess を使用する共有 IAM ロールに依存しています。このポリシーは、 へのアクセスをエンティティに許可 GuardDuty し、管理者アカウントと、 を有効にする各アカウントに存在する必要があります GuardDuty。

以下のプロセスでは、使用可能なすべてのリージョン GuardDuty でデフォルトで を有効にします。指定されたリージョン GuardDuty で を有効にするには、オプションの --enabled_regions引数を使用し、リージョンのカンマ区切りリストを指定します。オプションで、enableguardduty.py を開いて gd_invite_message 文字列を編集することで、メンバーアカウントに送信される招待メッセージをカスタマイズすることもできます。

  1. GuardDuty 管理者アカウントに IAM ロールを作成し、AWS マネージドポリシー: AmazonGuardDutyFullAccessポリシーをアタッチして を有効にします GuardDuty。

  2. GuardDuty 管理者アカウントで管理する各メンバーアカウントに IAM ロールを作成します。このロールは、ステップ 1 で作成したロールと同じ名前にする必要があります。また、管理者アカウントを信頼されたエンティティとして許可し、前述の同じ AmazonGuardDutyFullAccess 管理ポリシーを持つ必要があります。

  3. インスタンスがサービスのロールを引き受けることができるようにする次の信頼関係のあるロールをアタッチして、新しい Amazon Linux インスタンスを起動します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  4. 新しいインスタンスにログインし、次のコマンドを実行してそのインスタンスを設定します。

    sudo yum install git python sudo yum install python-pip pip install boto3 aws configure git clone https://github.com/aws-samples/amazon-guardduty-multiaccount-scripts.git cd amazon-guardduty-multiaccount-scripts sudo chmod +x disableguardduty.py enableguardduty.py
  5. ステップ 2 でロールを追加したメンバーアカウントのアカウント ID と E メールのリストを含む CSV ファイルを作成します。次の例のように、アカウントは 1 行に 1 つずつ記述し、アカウント ID と E メールアドレスはカンマで区切る必要があります。

    111122223333,guardduty-member@organization.com
    注記

    CSV ファイルは、enableguardduty.py スクリプトと同じ場所にあることが必要です。次の方法で、既存の CSV ファイルを Amazon S3 から現在のディレクトリにコピーできます。

    aws s3 cp s3://my-bucket/my_key_name example.csv
  6. Python スクリプトを実行します。 GuardDuty 管理者アカウント ID、最初のステップで作成したロールの名前、CSV ファイルの名前を引数として指定してください。

    python enableguardduty.py --master_account 444455556666 --assume_role roleName accountID.csv