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

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

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

組織外のアカウントを管理するには、従来の招待による方法を使用できます。この方法を使用すると、アカウントは 別のアカウントがメンバーアカウントへの招待を承諾した場合。

アカウントが 別のアカウントからの招待を受け入れることができます。招待を受け入れると、自分のアカウントはメンバーアカウントになります。AWSアカウントはGuardDutyにはできません と会員アカウントを同時に登録できます。

招待によって関連付けられたアカウントは、全体的に同じです -AWS組織によって関連付けられたアカウントとしてのメンバー間の関係( 関係を理解する GuardDuty およびメンバーアカウント. ただし、招待状は アカウント ユーザーは有効にできません GuardDuty 関連するメンバーアカウントの代わりに、またはメンバー以外のアカウントを表示します。 AWS Organizations 組織。

重要

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

指定 招待(コンソール)によるメンバーアカウント

アカウントの追加、アカウントの招待、または別のアカウントからの招待の受け入れの手順は以下のとおりです。

ステップ1 - アカウントを追加する

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

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

  3. 上部のパネルで [Add accounts by invitation (招待によってアカウントを追加)] を選択します。

  4. [Add member accounts (メンバーアカウントの追加)] ページで、[Enter accounts (アカウントの入力)] に、追加するアカウントの AWS アカウント ID と E メールアドレスを入力します。次に、[Add (追加)] を選択します。

    重要

    このステップで指定する E メールアドレスは、GuardDuty メンバーアカウントとして追加する AWS アカウントに関連付けられた E メールアドレスと同じにする必要があります。

    複数のアカウントを追加するには、ID と E メールアドレスを一度に 1 つずつ指定します。[Upload list (.csv)] を選択して、アカウントを一括追加することもできます。この機能は、一部のアカウントを招待して GuardDuty をすぐに有効にし、他のアカウントについては遅延させる場合に便利です。

    重要

    以下の例のように、CSV ファイルの 1 行目にヘッダー ( など) が含まれている必要があります。Account ID,Email。 後続の各行には、1つの有効なアカウントIDと、追加するアカウントの1つの有効な電子メールアドレスを含める必要があります。アカウントは 1 行に 1 つずつ記述し、アカウント ID と E メールアドレスはカンマで区切る必要があります。

    Account ID,Email 111111111111,user@example.com
  5. アカウントの追加が完了したら、[Next (次へ)] を選択します。

    追加したアカウントが [Accounts] ページに一覧表示されます。このリストに追加された各アカウントの [Status] 列には [Invite] リンクがあります。

ステップ2 - アカウントの招待

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

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

  3. アカウントを招待して GuardDuty を有効にするには、追加したアカウントのリストで [Status] 列に表示される [Invite] リンクを選択します。

  4. [Invitation to GuardDuty (GuardDuty への招待)] ダイアログボックスで、招待メッセージを入力し (オプション)、[Send notification (通知の送信)] を選択します。

    注記

    招待されたアカウントが E メールへのアクセスを許可されていない場合は、招待を送信する前に、[Also send an email notification to the root user on the invitee's AWS account and generate an alert in the invitee's Personal Health Dashboard (招待者の AWS アカウントの root ユーザーにも E メール通知を送信し、招待者の Personal Health Dashboard でアラートを生成する)] を選択します。

    招待したアカウントの [Status] 列の値が [Pending] に変わります。

ステップ3 - 招待を承諾する

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

  2. 次のいずれかを行ってください。

    • GuardDuty が有効になっていない場合は、[Enable GuardDuty] ページで [Enable GuardDuty] を選択します。次に [Accept] ウィジェットおよび [Accept invitation] ボタンを使用して、メンバーシップ招待を承諾します。

      重要

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

    • が既に有効になっている場合は、[Accept] ウィジェットおよび [Accept invitationGuardDuty] ボタンを使用して、メンバーシップ招待を承諾します。

    招待を承諾すると、アカウントが GuardDuty メンバーアカウントになります。ユーザーが招待を送信したアカウントが GuardDuty アカウント。は アカウントユーザーは、 ステータス の欄は、あなたの会員アカウントが 監視済み. は アカウントユーザーが表示および管理できるようになりました GuardDuty 結果を表示します。

指定 GuardDuty 招待(API)による会員アカウント

指定可能 およびメンバー GuardDuty API操作による招待によるアカウント。以下を実行します。 GuardDuty 指定するためのAPI操作 および会員アカウント GuardDuty.

指定したいAWSアカウントの資格情報を使用して、以下の手順を完了します。 GuardDuty アカウント。

  1. GuardDuty が有効になっている AWS アカウントの認証情報を使用して、CreateMembers API オペレーションを実行します。これは、 GuardDuty アカウント。

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

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

    aws guardduty create-members --detector-id 12abc34d567e8fa901bc2d34e56789f0 --account-details AccountId=123456789012,Email=guarddutymember@amazon.com
  2. GuardDuty が有効になっている AWS アカウントの認証情報を使用して、InviteMembers API オペレーションを実行します。これは、 GuardDuty アカウント。

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

    注記

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

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

    aws guardduty invite-members --detector-id 12abc34d567e8fa901bc2d34e56789f0 --account-ids 123456789012

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

  1. GuardDuty メンバーアカウントに招待した AWS アカウントごとに CreateDetector API オペレーションを実行します。

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

    この操作は、AWS コマンドラインツールで以下の CLI コマンドを実行しても可能です。

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

    メンバーアカウントのこの AWS アカウントのディテクター ID、 招待を送信したアカウント、および承諾する招待の招待 ID。_の口座IDを見つけることができます または ListInvitations API の操作。

    AWS コマンドラインツールで以下の CLI コマンドを実行して、招待を承諾することもできます。必ず有効な検出器 ID を使用してください。 アカウントID、インビテーションIDです。

    aws guardduty accept-invitation --detector-id 12abc34d567e8fa901bc2d34e56789f0 --master-id 012345678901 --invitation-id 84b097800250d17d1872b34c4daadcf5

有効化 GuardDuty 複数のアカウントで同時に

以下の方法を使用して、同時に複数のアカウントに対して GuardDuty を有効にします。

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

GitHub の https://github.com/aws-samples/amazon-guardduty-multiaccount-scripts にあるサンプルリポジトリのスクリプトを使用して、複数のアカウントに対する GuardDuty の有効化または無効化を自動化できます。このセクションのプロセスを使用して、Amazon EC2 を使用するメンバーアカウントのリストに対して GuardDuty を有効にします。disable スクリプトの使用またはローカルでのスクリプトの設定については、GitHub の説明を参照してください。

enableguardduty.py スクリプトにより、 GuardDutyは、 すべてのメンバーアカウントの招待を受け入れます。その結果、 GuardDuty すべてのメンバーアカウントのすべてのセキュリティ所見を含むアカウント。なぜなら GuardDuty は地域によって分離され、各メンバー科目の所見は、 アカウント。たとえば、 GuardDuty アカウントには、関連付けられたすべてのメンバーアカウントからのすべての us-east-1 発見事項のセキュリティ発見事項が含まれています。

これらのスクリプトは、管理ポリシー AmazonGuardDutyFullAccess を使用する共有 IAM ロールに依存しています。本ポリシーは、 GuardDuty そして、 アカウントと、有効化する各アカウント GuardDuty.

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

  1. でIAMロールを作成する GuardDuty アカウントを作成し、 AmazonGuardDutyフルアクセス 管理ポリシーを以下の権限で管理します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "guardduty:*", "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "guardduty.amazonaws.com" } } } ] }
  2. 管理したい各メンバーアカウントにIAMロールを作成します。 GuardDuty アカウント。この役割は、ステップ1で作成した役割と同じ名前を持つ必要があります。これにより、 信頼されたエンティティとして管理され、同じ AmazonGuardDutyフルアクセス 管理されたポリシーは前述のとおりです。

  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 メールアドレスはカンマで区切る必要があります。

    111111111111,user@example.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 111111111111 --assume_role roleName accountID.csv