本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建或更新IAM角色策略
要让 S3 恶意软件防护扫描以及(可选)向 S3 对象添加标签,您可以使用具有必要权限的服务角色代表您执行恶意软件扫描操作。有关使用服务角色启用 S3 恶意软件防护的更多信息,请参阅服务访问权限。此角色不同于GuardDuty 恶意软件防护服务相关角色。
如果您更喜欢使用IAM角色,则可以附加一个包含扫描所需权限的IAM角色,并且(可选)向 S3 对象添加标签。您必须创建IAM角色或更新现有角色才能包含这些权限。由于您启用 S3 恶意软件防护的每个 Amazon S3 存储桶都需要这些权限,因此您需要对要保护的每个 Amazon S3 存储桶执行此步骤。
以下列表说明了某些权限如何帮助您代表您 GuardDuty 执行恶意软件扫描:
-
允许 Amazon EventBridge 操作创建和管理 EventBridge 托管规则,以便 S3 恶意软件防护可以监听您的 S3 对象通知。
有关更多信息,请参阅《亚马逊 EventBridge 用户指南》中的亚马逊 EventBridge 托管规则。
-
允许 Amazon S3 和 EventBridge 操作向发送 EventBridge 有关此存储桶中所有事件的通知
有关更多信息,请参阅 Amazon S3 用户指南 EventBridge中的启用亚马逊。
-
允许访问上传的 S3 对象,并向已扫描的 S3 对象添加预定义标签
GuardDutyMalwareScanStatus
的 Amazon S3 操作。使用对象前缀时,请仅在目标前缀上添加s3:prefix
条件。这样可以 GuardDuty 防止访问存储桶中的所有 S3 对象。 -
在扫描测试对象并将测试对象放到存储桶之前,允许KMS关键操作访问对象,然后使用支持的DSSEKMS和加密进行SSE加KMS密。
注意
每次为账户中的存储桶启用 S3 恶意软件防护时,都需要执行此步骤。如果您已有IAM角色,则可以更新其策略以包含其他 Amazon S3 存储桶资源的详细信息。添加IAM策略权限 主题提供了有关如何执行此操作的示例。
使用以下策略创建或更新IAM角色。
添加IAM策略权限
您可以选择更新现有IAM角色的内联策略,也可以选择创建新IAM角色。有关步骤的信息,请参阅《IAM用户指南》中的创建IAM角色或修改角色权限策略。
将以下权限模板添加到您的首选IAM角色中。将以下占位符值替换为与您的账户相关的相应值:
-
对于
amzn-s3-demo-bucket
,请替换为您的 Amazon S3 存储桶名称。要将同一个IAM角色用于多个 S3 存储桶资源,请更新现有策略,如以下示例所示:
... ... "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket
/*", "arn:aws:s3:::amzn-s3-demo-bucket2
/*" ], ... ...在添加与 S3 存储桶ARN关联的新存储桶之前,请务必添加逗号 (,)。无论您在策略模板中的任何位置引用 S3 存储桶
Resource
,都要执行此操作。 -
对于
111122223333
,请用您的 AWS 账户 身份证替换。 -
对于
us-east-1
,请替换为你的 AWS 区域。 -
对于
APKAEIBAERJR2EXAMPLE
,请替换为您的客户托管密钥 ID。如果您的 S3 存储桶是使用 AWS KMS 密钥加密的,那么如果您在为存储桶配置恶意软件防护时选择 “创建新角色” 选项,我们会添加相关权限。"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" } ] }