本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過邀請管理 GuardDuty 帳戶
若要管理組織外部的帳戶,您可以使用傳統邀請方法。使用此方法時,在另一個帳戶接受您的邀請成為成員帳戶後,您的帳戶便會指定為管理員帳戶。
如果您的帳戶不是管理員帳戶,您可以接受其他帳戶的邀請。當您接受時,您的帳戶會成為成員帳戶。 AWS 帳戶不能同時是 GuardDuty 管理員帳戶和成員帳戶。
當您接受來自某個帳戶的邀請時,您無法接受其他帳戶的邀請。若要接受來自其他帳戶的邀請,您必須先取消帳戶與現有管理員帳戶的關聯。或者,系統管理員帳戶也可以從其組織中取消關聯和移除您帳戶的關聯。
透過邀請關聯的帳戶與所關聯的帳戶具有相同的整體管理員 account-to-member 關係 AWS Organizations,如中所述了解管理員帳戶和成 GuardDuty 員帳戶之間的關係。但是,邀請管理員帳戶使用者無法代表 GuardDuty 關聯的成員帳戶啟用,或檢視其 AWS Organizations 組織內的其他非成員帳戶。
使用此方法 GuardDuty 建立會員帳戶時,可能會發生跨區域資料傳輸。為了驗證會員帳戶的電子郵件地址,請 GuardDuty 使用僅在美國東部 (維吉尼亞北部) 區域運作的電子郵件驗證服務。
應邀新增並管理帳戶
選擇其中一種存取方法,以管理員帳戶的身分新增和邀請帳戶成為 GuardDuty 會 GuardDuty 員帳戶。
- Console
步驟 1:新增帳戶在開啟 GuardDuty 主控台https://console.aws.amazon.com/guardduty/。
-
在導覽窗格中,選擇帳戶。
-
選擇頂端窗格中的透過邀請新增帳戶。
-
在 [新增成員帳戶] 頁面的 [輸入帳戶詳細資訊] 底下,輸入與您要新增之帳戶相關聯的 AWS 帳戶 ID 和電子郵件地址。
-
若要新增其他資料列以一次輸入帳戶詳細資訊,請選擇新增其他帳戶。您也可以選擇上傳包含帳戶詳細資訊的 .csv 檔案以大量新增帳戶。
您的 csv 檔案第一行應包含標頭,如以下範例所示:Account ID,Email
。後續每一行都必須包含單一有效 AWS 帳戶 ID 及其相關聯的電子郵件地址。如果列的格式只包含一個 AWS 帳戶 ID 和相關聯的電子郵件地址 (以逗號分隔),則該列的格式有效。
Account ID,Email
555555555555
,user@example.com
-
新增所有帳戶的詳細資訊後,請選擇下一步。您可以在「帳戶」表格中檢視新增的帳戶。這些帳戶的狀態將為未傳送邀請。如需有關傳送邀請至一個或多個新增帳戶的資訊,請參閱Step 2 - Invite an account。
步驟 3:接受邀請在開啟 GuardDuty 主控台https://console.aws.amazon.com/guardduty/。
您必須 GuardDuty 先啟用,才能檢視或接受會員邀請。
-
只有在 GuardDuty 尚未啟用時才執行下列動作;否則,您可以略過此步驟並繼續下一個步驟。
如果您尚未啟用 GuardDuty,請在 Amazon GuardDuty 頁面上選擇「開始使用」。
在 [歡迎使用 GuardDuty] 頁面上,選擇 [啟用] GuardDuty。
-
為帳戶啟 GuardDuty 用後,請按照下列步驟接受會員邀請:
-
在導覽窗格中,選擇設定。
-
選擇帳戶。
-
在帳戶上,務必驗證您接受邀請之帳戶所有者的身分。開啟接受以接受成員資格邀請。
-
接受邀請後,您的帳戶就 GuardDuty 會成為會員帳戶。擁有者傳送邀請函的帳戶會成為 GuardDuty 管理員帳戶。管理員帳戶將知道您已接受邀請。他們帳戶中的「 GuardDuty 帳戶」表格將會更新。與您的會員帳戶 ID 對應的「狀態」欄中的值將變更為「已啟用」。系統管理員帳戶擁有者現在可以代表您的帳戶檢視 GuardDuty 和管理和保護方案組態。管理員帳戶還可以查看和管理為您的成員帳戶生成的 GuardDuty 發現項目。
- API/CLI
-
您可以指定一個 GuardDuty 管理員帳戶,並通過API操作邀請創建或添加 GuardDuty 成員帳戶。執行下列 GuardDuty API作業,以便在中指定管理員帳戶和成員帳戶 GuardDuty。
使用您要指定為 GuardDuty 管理員帳戶的 AWS 帳戶 認證,完成下列程序。
建立或新增成員帳戶-
使用已CreateMembersAPI啟用 AWS
帳戶的認證執行 GuardDuty 作業。這是您要成為管理員帳戶的 GuardDuty 帳戶。
您必須指定當前 AWS 帳戶的檢測器 ID 以及要成為 GuardDuty 會員的帳戶的帳戶 ID 和電子郵件地址。您可以使用此API作業建立一或多個成員。
您也可以透過執行下列 AWS 命令,使用命CLI令列工具來指定管理員帳戶。請務必使用您自己的有效偵測器 ID、帳戶 ID 和電子郵件。
若要尋找您帳戶和目前區域的,請參閱主https://console.aws.amazon.com/guardduty/控台中的 「設定」 頁面,或執行 ListDetectorsAPI. detectorId
aws guardduty create-members --detector-id 12abc34d567e8fa901bc2d34e56789f0
--account-details AccountId=111122223333
,Email=guardduty-member@organization.com
-
使InviteMembers用已 GuardDuty 啟用 AWS 帳戶的認證來執行。這是您要成為管理員帳戶的 GuardDuty 帳戶。
您必須指定當前 AWS 帳戶的檢測器 ID 以及要成為成 GuardDuty 員的帳戶IDs的帳戶。您可以通過此API操作邀請一個或多個成員。
您也可以透過使用 message
請求參數指定選用的邀請訊息。
您也可以透過執行下列命令 AWS Command Line Interface 來指定成員帳戶。確保IDs為您要邀請的帳戶使用您自己的有效檢測器 ID 和有效帳戶。
若要尋找您帳戶和目前區域的,請參閱主https://console.aws.amazon.com/guardduty/控台中的 「設定」 頁面,或執行 ListDetectorsAPI. detectorId
aws guardduty invite-members --detector-id 12abc34d567e8fa901bc2d34e56789f0
--account-ids 111122223333
接受邀請
使用您要指定為成員帳戶的每個 AWS 帳戶的認證,完 GuardDuty 成下列程序。
-
針對受邀成為成 GuardDuty 員 AWS
帳戶且您想要接受邀請的每個帳戶執行CreateDetectorAPI作業。
您必須指定是否要使用 GuardDuty服務啟用偵測器資源。必須建立並啟用偵測器,才能正常 GuardDuty 運作。您必須先啟用 GuardDuty 才能接受邀請。
您也可以使用以下 AWS CLI命令使用命令行工具來執行此操作。
aws guardduty create-detector --enable
-
使用該 AWS 帳戶的認證,針對您要接受成員資格邀請的每個帳戶執行AcceptAdministratorInvitationAPI作業。
您必須為成員帳戶指定此 AWS 帳戶的偵測器 ID、傳送邀請的系統管理員帳戶的帳戶 ID,以及您接受之邀請的邀請 ID。您可以在邀請電子郵件中或使用的ListInvitations操作來找到管理員帳戶的帳戶 ID API。
您也可以透過執行下列 AWS 命令來接受使用命CLI令列工具的邀請。請務必使用有效的偵測器 ID、管理員帳戶 ID 和邀請 ID。
若要尋找您帳戶和目前區域的,請參閱主https://console.aws.amazon.com/guardduty/控台中的 「設定」 頁面,或執行 ListDetectorsAPI. detectorId
aws guardduty accept-invitation --detector-id 12abc34d567e8fa901bc2d34e56789f0
--administrator-id 444455556666
--invitation-id 84b097800250d17d1872b34c4daadcf5
將 GuardDuty 管理員帳戶合併到單一組織委派的 GuardDuty 管理員帳戶下
GuardDuty 建議使用關聯 AWS Organizations 至來管理委派管理員帳戶下的成 GuardDuty 員帳戶。您可以使用下面概述的範例程序,在單一 GuardDuty委派管理員帳戶下,合併組織中透過邀請關聯的 GuardDuty 管理員帳戶和成員。
已由委派系統管理員帳戶所管理的帳戶,或與委派 GuardDuty 系統管理員帳戶相關聯的作用中成 GuardDuty 員帳戶無法新增至不同的委派 GuardDuty 系統管理員帳戶。每個組織每個區域只能有一個委派 GuardDuty 管理員帳戶,而每個成員帳戶只能有一個委派的 GuardDuty 管理員帳戶。
選擇其中一種存取方法,將 GuardDuty 管理員帳戶合併到單一委派的 GuardDuty 管理員帳戶下。
- Console
-
- API/CLI
-
您要管理的所有帳戶都 GuardDuty 必須是組織的一部分。如需將帳戶新增至組織的相關資訊,請參閱邀請 AWS 帳戶 加入您的組織。
-
確定所有成員帳戶都與您要指定為單一委派 GuardDuty 管理員帳戶的帳戶相關聯。
執行DisassociateMembers以取消與現有管理員帳戶相關聯的任何成員帳戶的關聯。
或者,您可以使 AWS Command Line Interface 用運行以下命令並替換 777777777777
與您要取消成員帳戶關聯的預先存在的管理員帳戶的檢測器 ID。Replace (取代) 666666666666
與您要取消關聯的會員帳戶的 AWS 帳戶 ID。
aws guardduty disassociate-members --detector-id 777777777777
--account-ids 666666666666
執行EnableOrganizationAdminAccount以委派 GuardDuty 管理員帳戶的身分委派。 AWS 帳戶
或者,您也可以使用 AWS Command Line Interface 來執行下列命令來委派委派的 GuardDuty 系統管理員帳戶:
aws guardduty enable-organization-admin-account --admin-account-id 777777777777
從組織新增成員。如需詳細資訊,請參閱 Create or add member member accounts using API。
為了最大限度地發揮區域服務的 GuardDuty有效性,我們建議您指定委派的 GuardDuty 管理員帳戶,並在每個區域中新增所有成員帳戶。
同時 GuardDuty 在多個帳戶中啟用
使用以下方法同時 GuardDuty 在多個帳戶中啟用。
使用 Python 腳本同時 GuardDuty 在多個帳戶中啟用
您可以使用 Amazon 多帳戶指令碼範例儲存庫中的指令碼,自動啟用或停用 GuardDuty 多個帳戶。 GuardDuty 使用本節中的程序來啟 GuardDuty 用使用 Amazon 的會員帳戶清單EC2。如需使用停用指令碼或在本機設定指令碼的相關資訊,請參閱分享連結中的指示。
該enableguardduty.py
腳本啟用 GuardDuty,從管理員帳戶發送邀請,並接受所有成員帳戶中的邀請。結果是系統管理員 GuardDuty 帳戶,其中包含所有成員帳戶的所有安全性發現項目。由於由「區域」隔離,因 GuardDuty 此每個成員帳戶的發現項目會累計至管理員帳戶中對應的「區域」。例如,管理員帳戶中的 us-east-1 區域包含所有相關聯成 GuardDuty 員帳戶中所有 us-east-1 發現項目的安全性發現項目。
這些指令碼與受管理原則的共用IAM角色具有相依性 — AWS 受管理的策略:AmazonGuardDutyFullAccess。此原則提供實體存取權限, GuardDuty 且必須出現在系統管理員帳戶以及您要啟用的每個帳戶中 GuardDuty。
依預設,下列程序會 GuardDuty 在所有可用的區域中啟用。您只能使用選擇性--enabled_regions
引數並提供區域的逗號分隔清單,才能 GuardDuty 在指定的區域中啟用。您也可以選擇開啟 enableguardduty.py
和編輯 gd_invite_message
字串,來自訂傳送至成員帳戶的邀請訊息。
-
在 GuardDuty 管理員帳戶中建立IAM角色,並附加要啟用的AWS 受管理的策略:AmazonGuardDutyFullAccess策略 GuardDuty。
-
在您 GuardDuty 希望由管理員帳戶管理的每個成員帳戶中創建一個IAM角色。此角色的名稱必須與步驟 1 中建立的角色相同,它應該允許系統管理員帳戶做為受信任的實體,而且它應該具有與先前所述相同的 AmazonGuardDutyFullAccess 受管理原則。
-
啟動具有下列信任關係之連接角色的新 Amazon Linux 執行個體,以允許執行個體擔任服務角色。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
-
登入新的執行個體,然後執行下列命令進行設定。
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
-
創建一個CSV文件,其中包含您在步驟 2 中添加角色的成員帳戶的帳戶IDs和電子郵件列表。帳戶必須每行出現一個,而且帳戶 ID 與電子郵件地址必須以逗號分隔,如下所示。
111122223333,guardduty-member@organization.com
CSV檔案必須位於與enableguardduty.py
指令碼相同的位置。您可以使用下列方法將現有CSV檔案從 Amazon S3 複製到目前的目錄。
aws s3 cp s3://my-bucket/my_key_name example.csv
-
執行 Python 指令碼。請務必提供您的 GuardDuty 系統管理員帳戶 ID、在第一個步驟中建立的角色名稱,以及CSV檔案名稱做為引數。
python enableguardduty.py --master_account 444455556666
--assume_role roleName accountID.csv