创建或更新 IAM 角色策略
要让 S3 恶意软件防护扫描以及(可选)向 S3 对象添加标签,您可以使用具有必要权限的服务角色代表您执行恶意软件扫描操作。有关使用服务角色启用 S3 恶意软件防护的更多信息,请参阅服务访问权限。此角色与 GuardDuty 恶意软件防护服务相关角色不同。
如果您倾向于使用 IAM 角色,则可以附加一个包含扫描所需权限的 IAM 角色,并(可选)向 S3 对象添加标签。您必须创建一个 IAM 角色或更新现有角色来包含这些权限。由于您启用 S3 恶意软件防护的每个 Amazon S3 存储桶都需要这些权限,因此您需要对要保护的每个 Amazon S3 存储桶执行此步骤。
以下列表说明了某些权限如何有助于 GuardDuty 代表您执行恶意软件扫描:
-
允许创建和管理 EventBridge 托管式规则的 Amazon EventBridge 操作,以便 S3 恶意软件防护可以侦听 S3 对象通知。
有关更多信息,请参阅《Amazon EventBridge 用户指南》中的 Amazon EventBridge managed rules。
-
允许针对此存储桶中的所有事件向 EventBridge 发送通知的 Amazon S3 和 EventBridge 操作
有关更多信息,请参阅《Amazon S3 用户指南》中的启用 Amazon EventBridge。
-
允许访问上传的 S3 对象,并向已扫描的 S3 对象添加预定义标签
GuardDutyMalwareScanStatus的 Amazon S3 操作。使用对象前缀时,请仅在目标前缀上添加s3:prefix条件。这样可以防止 GuardDuty 访问您存储桶中的所有 S3 对象。 -
在扫描使用支持的 DSSE-KMS 和 SSE-KMS 加密的存储桶并将测试对象放入该存储桶前,允许访问该对象的 KMS 密钥操作。
注意
每次为账户中的存储桶启用 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 之前,请务必添加逗号 (,)。无论您在策略模板中的任何位置引用 S3 存储桶
Resource,都要执行此操作。 -
将
111122223333替换为您的 Amazon Web Services 账户 ID。 -
将
us-east-1替换为您的 Amazon Web Services 区域。 -
将
APKAEIBAERJR2EXAMPLE替换为客户托管密钥 ID。如果您的 S3 存储桶是使用 Amazon KMS 密钥加密的,并且您在为存储桶配置恶意软件防护时选择了创建新角色选项,我们会添加相关权限。"Resource": "arn:aws:kms:us-east-1:111122223333:key/*"
IAM 角色策略模板
添加信任关系策略
将以下信任策略附加到您的 IAM 角色。有关相关操作步骤的信息,请参阅修改角色信任策略。