本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
先決條件 - 建立或更新IAM角色政策
若要針對新的 Amazon S3 物件上傳啟動惡意軟體掃描, GuardDuty 會擔任包含掃描和 (選擇性) 將標籤新增至 S3 物件所需許可IAM的角色。您必須建立IAM角色或更新現有角色,才能包含這些許可。由於您為其啟用 Malware Protection for S3 的每個 Amazon S3 儲存貯體都需要這些許可,因此您需要對要保護的每個 Amazon S3 儲存貯體執行此步驟。
下列清單說明特定許可如何協助您 GuardDuty 執行惡意軟體掃描:
-
允許 Amazon EventBridge 動作建立和管理 EventBridge 受管規則,讓 Malware Protection for S3 可以接聽您的 S3 物件通知。
如需詳細資訊,請參閱 Amazon 使用者指南 中的 Amazon EventBridge 受管規則。 EventBridge
-
允許 Amazon S3 和 EventBridge 動作傳送此儲存貯體中所有事件 EventBridge 的通知至
如需詳細資訊,請參閱 Amazon S3 使用者指南 中的啟用 EventBridge Amazon S3。
-
允許 Amazon S3 動作存取上傳的 S3 物件,並將預先定義的標籤 新增至掃描
GuardDutyMalwareScanStatus
的 S3 物件。使用物件字首時,請僅在目標字首上新增s3:prefix
條件。這 GuardDuty 可防止存取儲存貯體中的所有 S3 物件。 -
允許KMS金鑰動作在掃描和使用支援的 DSSEKMS和 SSEKMS加密將測試物件放置在儲存貯體之前存取物件。
注意
每次為帳戶中的儲存貯體啟用 Malware Protection for S3 時,都需要此步驟。如果您已有現有IAM角色,您可以更新其政策,以包含其他 Amazon S3 儲存貯體資源的詳細資訊。本新增IAM政策許可主題提供如何執行此操作的範例。
使用下列政策來建立或更新IAM角色。
新增IAM政策許可
您可以選擇更新現有IAM角色的內嵌政策,或建立新的IAM角色。如需步驟的相關資訊,請參閱 IAM 使用者指南 中的建立IAM角色或修改角色許可政策。
將下列許可範本新增至您偏好的IAM角色。將下列預留位置值取代為與您的帳戶相關聯的適當值:
-
用於
amzn-s3-demo-bucket
,以您的 Amazon S3 儲存貯體名稱取代 。若要對多個 S3 儲存貯體資源使用相同的IAM角色,請更新現有政策,如下列範例所示:
... ... "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket
/*", "arn:aws:s3:::amzn-s3-demo-bucket2
/*" ], ... ...在新增與 S3 儲存貯體ARN相關聯的新 之前,請務必新增逗號 (,)。無論您參考政策範本
Resource
中的 S3 儲存貯體,都可以執行此操作。 -
用於
111122223333
,以您的 AWS 帳戶 ID 取代 。 -
用於
us-east-1
,將 取代為您的 AWS 區域。 -
用於
APKAEIBAERJR2EXAMPLE
,以您的客戶受管金鑰 ID 取代 。如果使用 加密儲存貯體 AWS KMS key,請將預留位置值取代為*
,如下列範例所示:"Resource": "arn:aws:kms:
us-east-1
:111122223333
:key/*
"
IAM 角色政策範本
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowManagedRuleToSendS3EventsToGuardDuty", "Effect": "Allow", "Action": [ "events:PutRule", "events:DeleteRule", "events:PutTargets", "events:RemoveTargets" ], "Resource": [ "arn:aws:events:
us-east-1
:111122223333
:rule/DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*" ], "Condition": { "StringLike": { "events:ManagedBy": "malware-protection-plan.guardduty.amazonaws.com" } } }, { "Sid": "AllowGuardDutyToMonitorEventBridgeManagedRule", "Effect": "Allow", "Action": [ "events:DescribeRule", "events:ListTargetsByRule" ], "Resource": [ "arn:aws:events:us-east-1
:111122223333
:rule/DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*" ] }, { "Sid": "AllowPostScanTag", "Effect": "Allow", "Action": [ "s3:PutObjectTagging", "s3:GetObjectTagging", "s3:PutObjectVersionTagging", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] }, { "Sid": "AllowEnableS3EventBridgeEvents", "Effect": "Allow", "Action": [ "s3:PutBucketNotification", "s3:GetBucketNotification" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
" ] }, { "Sid": "AllowPutValidationObject", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
/malware-protection-resource-validation-object" ] }, { "Sid": "AllowCheckBucketOwnership", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
" ] }, { "Sid": "AllowMalwareScan", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] }, { "Sid": "AllowDecryptForMalwareScan", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1
:111122223333
:key/APKAEIBAERJR2EXAMPLE
", "Condition": { "StringLike": { "kms:ViaService": "s3.us-east-1
.amazonaws.com" } } } ] }
新增信任關係政策
將下列信任政策連接至您的IAM角色。如需步驟的相關資訊,請參閱修改角色信任政策 。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "malware-protection-plan.guardduty.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }