View a markdown version of this page

配置默认评测报告目标 - Amazon Audit Manager

AWS Audit Manager不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息,请参阅 AWS Audit Manager 可用性变更

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置默认评测报告目标

生成评测报告时,Audit Manager 会将报告发布到您选择的 S3 存储桶。此 S3 存储桶被称为assessment report destination。您可以选择 Audit Manager 用于存储评测报告的 S3 存储桶。

先决条件

评测报告目标的配置提示

为确保成功生成评测报告,我们建议您为评测报告目标使用以下配置。

Same-Region 水桶

建议您使用与评测在相同 AWS 区域 中的 S3 存储桶。当您使用同区域存储桶和评测时,您的评测报告最多可以包含 22,000 个证据项目。相反,当您使用跨区域存储桶和评测时,只能包含 3,500 个证据项目。

AWS 区域

您的客户托管密钥(如果您提供了密钥)必须与您的评估区域和您的评估报告目标 S3 存储桶相匹配。AWS 区域有关如何更改 KMS 密钥的说明,请参阅配置数据加密设置。有关受支持的 Audit Manager 区域列表,请参阅 Amazon Web Services 一般参考中的 AWS Audit Manager 端点和限额

S3 存储桶加密

如果您的评估报告目标的存储桶策略要求使用服务器端加密 (SSE) SSE-KMS,则该存储桶策略中使用的 KMS 密钥必须与您在 Audit Manager 数据加密设置中配置的 KMS 密钥相匹配。如果您尚未在 Audit Manager 设置中配置 KMS 密钥,并且您的评估报告目标存储桶策略需要 SSE,请确保存储桶策略允许SSE-S3。有关如何配置用于数据加密的 KMS 密钥的说明,请参阅配置数据加密设置

Cross-account S3 存储桶

Audit Manager 控制台不支持使用跨账户 S3 存储桶作为评测报告目标。可以使用AWS CLI或其中一个AWS软件开发工具包将跨账户存储桶指定为评估报告目标,但为简单起见,我们建议您不要这样做。

提示

为了获得最佳安全性和性能,我们建议在与评估相同的AWS账户和区域中使用 S3 存储桶。

如果您确实选择使用跨账户 S3 存储桶作为评测报告目标,请考虑以下几点。

  • 默认情况下,S3 对象(例如评估报告)归上传对象的AWS 账户所有。您可以使用 S3 对象所有权设置来更改此默认行为,以便由具有 bucket-owner-full-control 标准访问控制列表(ACL)的账户写入的任何新对象都会自动归存储桶所有者拥有。

    尽管这不是必需的,但我们建议您对跨账户存储桶设置进行以下更改。进行这些更改可确保存储桶所有者完全控制您发布到其存储桶的评测报告。

  • 要允许 Audit Manager 在跨账户 S3 存储桶中发布报告,您必须将以下 S3 存储桶策略添加到您的评测报告目标。将 placeholder text 替换为您自己的信息。此策略中的 Principal 元素是负责评测并创建评测报告的用户或角色。Resource 指定发布报告的跨账户 S3 存储桶。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "Allow cross account assessment report publishing", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/AssessmentOwnerUserName" }, "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObject", "s3:GetBucketLocation", "s3:PutObjectAcl", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::CROSS-ACCOUNT-BUCKET", "arn:aws:s3:::CROSS-ACCOUNT-BUCKET/*" ] } ] }

评估报告目的地的安全最佳实践

Audit Manager 不验证 S3 存储桶的所有权。如果存储桶被其他存储桶删除并重新创建AWS 账户(称为存储桶狙击),则会产生风险。如果未经授权的一方在您之前创建了一个带有预期名称的存储桶(称为存储桶抢注),也会存在风险。无论哪种情况,Audit Manager 都会继续向该存储桶发布评估报告。该服务未检测到所有权变更。在责任AWS共担模式下,您有责任确保您的评估报告目的地为受信任者拥有的存储桶AWS 账户。

为了保护您的评估报告,我们建议您实施以下一项或多项控制措施。

使用s3:ResourceAccount条件密钥将 S3 操作限制为可信账户

在 Audit Manager 用来发布评估报告的身份的 IAM 策略中添加一个s3:ResourceAccount条件。此条件可防止身份写入由您指定的账户以外的账户所拥有的存储桶。无论存储桶自己的访问策略如何,该条件都适用。

有关更多信息,请参阅限制对特定 AWS 账户拥有的 Amazon S3 存储桶的访问权限

使用 SCP 将 S3 操作限制在您的组织范围内

如果您使用,请创建一个服务控制策略 (SCP),以拒绝 S3 对组织外部资源执行操作。以下示例策略拒绝对组织外部的资源执行所有 S3 操作。该条件会检查是否与您的组织 ID aws:ResourceOrgID 相匹配。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyS3ActionsOutsideOrganization", "Effect": "Deny", "Action": "s3:*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceOrgID": "o-xxxxxxxxxx" } } } ] }

o-xxxxxxxxxx替换为您的组织 ID。有关更多信息,请参阅 I A M 用户指南中的 aws: ResourceOrg ID

使用客户托管的 KMS 密钥进行数据加密

当您将 Audit Manager 配置为使用客户托管密钥进行数据加密时,Audit Manager 会在将评估报告写入 Amazon S3 之前对其进行加密。如果报告发布到未授权方拥有的存储桶,则报告内容将保持加密状态。如果无法访问您的 KMS 密钥,则无法读取内容。有关说明,请参阅配置数据加密设置

在您的账户区域命名空间中使用 S3 存储桶

在您的账户区域命名空间中创建的 S3 存储桶在存储桶名称AWS 区域中包含您的 AWS 账户 ID 和存储桶名称。这些存储桶不能由其他账户创建,从而消除了存储桶狙击的风险。有关更多信息,请参阅 A mazon 简单存储服务用户指南中的存储Account-level 桶命名空间

过程

您可以使用 Audit Manager 控制台、AWS Command Line Interface (AWS CLI) 或 Audit Manager API 更新此设置。

Audit Manager console
在 Audit Manager 控制台上更新默认评测报告目标
  1. 评测设置选项卡中,转到评测报告目标部分。

  2. 要使用现有的 S3 存储桶,请从下拉菜单中选择存储桶名称。

  3. 要创建新的 S3 存储桶,请选择创建新存储桶

  4. 完成操作后,选择保存

AWS CLI
要在中更新您的默认评估报告目的地AWS CLI

运行 update-settings 命令并使用 --default-assessment-reports-destination 参数指定 S3 存储桶。

在以下示例中,placeholder text用您自己的信息替换:

aws auditmanager update-settings --default-assessment-reports-destination destinationType=S3,destination=s3://amzn-s3-demo-destination-bucket
Audit Manager API
使用 API 更新默认评测报告目标

调用UpdateSettings操作并使用默认AssessmentReportsDestination参数指定 S3 存储桶。

其他资源