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

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

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

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

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

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

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

重要

GuardDuty この方法でメンバーアカウントを作成すると、地域間のデータ転送が発生する可能性があります。メンバーアカウントのメールアドレスを確認するには、米国東部 (バージニア北部) GuardDuty リージョンでのみ運営されているメール検証サービスを使用します。

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

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

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

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

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

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

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

    重要

    次の例に示すように、.csv ファイルの 1 行目にヘッダー (Account ID,Email) を含める必要があります。それ以降の各行には、1 つの有効な AWS アカウント ID とそれに関連する電子メールアドレスを入力する必要があります。行の形式は、1 つの AWS アカウント ID とそれに関連する電子メールアドレスがカンマで区切られたものであれば有効です。

    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] (招待の送信) を選択します。招待者が指定された電子メールアドレスにアクセスできる場合は、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 そのアカウントの Accounts テーブルが更新されます。メンバーアカウント ID に対応する [ステータス] 列の値が [有効] に変わります。これで、管理者アカウントの所有者は、アカウントに代わって保護プランの設定を表示、管理、 GuardDuty および管理できるようになります。管理者アカウントは、 GuardDuty メンバーアカウント用に生成された結果を表示および管理することもできます。

API/CLI

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

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

メンバーアカウントの作成または追加
  1. AWS GuardDuty 有効にしたアカウントの認証情報を使用して CreateMembersAPI 操作を実行します。 GuardDuty このアカウントを管理者アカウントに設定したいアカウントです。

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

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

    detectorIdお使いのアカウントと現在のリージョンに適したものを見つけるには、https://console.aws.amazon.com/guardduty/ コンソールの「設定」ページを参照してください。

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

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

    注記

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

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

    お使いのアカウントと現在の地域に合うアカウントを見つけるには、https://console.aws.amazon.com/guardduty/ コンソールの「設定」ページを参照してください。detectorId

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

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

  1. AWS GuardDuty メンバーアカウントになるよう招待されたアカウントで、招待を承諾するアカウントごとに CreateDetectorAPI 操作を実行します。

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

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

    aws guardduty create-detector --enable
  2. AWS メンバーシップの招待を受け入れるアカウントごとに、そのアカウントの認証情報を使用して AcceptAdministratorInvitationAPI 操作を実行します。

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

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

    detectorIdご使用のアカウントと現在のリージョンに合うものを確認するには、https://console.aws.amazon.com/guardduty/ コンソールの「設定」ページを参照してください。

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

GuardDuty 管理者アカウントを 1 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を実行して、 AWS アカウント を委任された管理者アカウントとして委任します。 GuardDuty

    または、 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 multiaccount scripts GuardDuty のサンプルリポジトリにあるスクリプトを使用して、複数のアカウントでの有効化または無効化を自動化できます。このセクションのプロセスを使用して、Amazon EC2 を使用するメンバーアカウントのリストを有効にします GuardDuty 。無効化スクリプトの使用方法やローカルでのスクリプトの設定方法については、共有リンクの手順を参照してください。

enableguardduty.pyこのスクリプトは GuardDuty、管理者アカウントからの招待の有効化、すべてのメンバーアカウントからの招待の送信、承認を行います。その結果、 GuardDuty すべてのメンバーアカウントのすべてのセキュリティ結果を含む管理者アカウントができあがります。 GuardDuty 地域ごとに分離されているため、各メンバーアカウントの調査結果は管理者アカウントの対応する地域にまとめられます。たとえば、 GuardDuty 管理者アカウントの us-east-1 リージョンには、関連するすべてのメンバーアカウントからの us-east-1 結果のセキュリティ結果が含まれています。

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

以下のプロセスは、 GuardDuty 使用可能なすべてのリージョンでデフォルトで有効になります。--enabled_regionsオプションの引数を使用し、 GuardDuty リージョンのコンマ区切りリストを指定することによってのみ、指定したリージョンで有効にできます。オプションで、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