在 AWS 上建立数据边界:分析您的账户活动以评估影响并完善控制措施 安全博客
在 AWS 上建立数据边界:分析帐户活动以评估影响并改进控制措施
主要收获
在 AWS 上建立数据边界需要分析帐户活动,以确保数据存取的安全性和合规性。本篇文章将指导如何利用 AWS 的日志和分析工具加速控制措施的实施,并持续监控数据存取模式,以适应业务成长和合作伙伴关系的变化。
A data perimeter on Amazon Web Services (AWS) 是一组预防控制措施,用于帮助您在 AWS Organizations 中建立数据的边界。这一边界可确保您的数据仅能被您信任的身份从预期网络内访问,且数据无法转移到组织外的非信任资源。请查看 在 AWS 上建立数据边界 系列中的先前文章,了解定义和执行每种边界类型所需的安全目标和基础元素。
在本篇博客中,我们将讨论如何利用 AWS 的日志和分析能力,加速数据边界控制措施的实施并高效运营。
您可以通过识别希望防止的访问模式以及定义对组织有信任的身份、信任的资源和预期网络,开始您的数据边界旅程。在根据业务和安全需求定义信任边界后,您可以使用 数据边界 GitHub 存储库 中提供的政策范例,设计授权控制措施以执行这些边界。在对组织内的控制措施进行强制执行之前,建议评估可能对现有工作负载的影响。进行此评估有助于识别在初始设计阶段漏掉的未知数据访问模式,调查并改进您的控制措施,以确保业务持续性。
最后,您应持续监控控制措施,以验证它们是否如预期那样运作,并在业务增长和与信任合作伙伴的关系变化时,一致性地满足您的要求。
数据边界实施的主要阶段
通常,数据边界旅程的阶段包括:
检视您的安全目标设定边界设计数据边界控制措施预估潜在影响实施数据边界控制措施监控数据边界控制措施持续改进在本文中,我们专注于第4阶段:预估潜在影响。我们将示范如何分析您在 AWS 环境中观察到的活动,以评估影响并改进您的数据边界控制措施。我们还将示范如何通过使用 数据边界助手 开源工具来自动化分析过程。
进行影响分析的先决条件
在本部分,我们将描述您可以用来分析数据边界控制措施对环境影响的 AWS 日志和分析能力。我们还将提供配置这些能力的指导。
尽管您可能已经使用其他 AWS 工具例如 AWS Security Lake或外部工具来满足某些需求,但所提出的方法仍然适用。例如,如果您的日志存储在外部安全数据湖中,或您的配置状态记录由外部云安全状况管理CSPM工具执行,您可以提取并调整本篇文章中的逻辑以适应您自己的情况。这种方法的灵活性使您可以在利用提供的见解的同时,使用环境中的现有工具和流程。
价格
某些所需的能力可能会产生额外的费用。
AWS CloudTrail 根据交付给 Amazon Simple Storage Service (Amazon S3) 的事件数量收取费用。请注意,第一份管理事件的副本是免费的。为了帮助控制成本,您可以使用 高级事件选择器 仅选择对您上下文重要的事件。详情请参阅 CloudTrail 价格。

AWS Config 根据交付的配置项数量收取费用,AWS Config 聚合器 和 高级查询 的费用会计入 AWS Config 价格。为了帮助控制成本,您可以 选择 AWS Config 记录的资源类型 或 更改记录频率。详情请参阅 AWS Config 价格。
Amazon Athena 根据扫描的数据量收取费用。为了帮助控制成本,使用建议的优化表格进行分区,并减少查询的时间范围。详情请参阅 Athena 价格。
AWS Identity and Access Management Access Analyzer 对于外部访问结果不会收取额外费用。详情请参阅 IAM Access Analyzer 价格。
创建 CloudTrail 日志以记录访问活动
您将使用的主要功能是 CloudTrail 追踪。CloudTrail 记录来自您的 AWS 帐户的 API 调用和事件,并包含与数据边界目标相关的以下信息:
由您的身份执行的 API 调用或在您的资源上执行的 API 调用记录字段:eventSource、eventName执行 API 调用的身份记录字段:userIdentityAPI 调用的网络来源记录字段:sourceIPAddress、vpcEndpointId执行 API 调用的资源记录字段:resources、requestParameters有关所有可用字段的描述,请参见 CloudTrail 记录内容 页面。
数据边界控制措施是针对广泛的帐户和资源进行应用的,因此建议使用 CloudTrail 组织追踪,该追踪可收集您组织中 AWS 帐户的日志。如果尚未配置组织追踪,请按照 这些步骤 操作,或使用数据边界助手的 模板来部署先决条件。如果您使用支持 CloudTrail 数据事件 的 AWS 服务,并希望分析相关 API 调用,请启用相关数据事件。
尽管 CloudTrail 提供有关 API 请求参数的信息,但不会反映请求中存在的 AWS Identity and Access Management (IAM) 条件键的值。因此,您仍然需要分析日志以帮助改进数据边界控制措施。
创建 Athena 表以分析 CloudTrail 日志
为简化和加速日志分析,使用 Athena 来查询和提取存储在 S3 存储桶中的 CloudTrail 日志档案中的相关数据。
创建 Athena 表的步骤打开 Athena 控制台。如果这是您当前 AWS 区域 的第一次访问,请选择 编辑设置 来 设置查询结果位置 在 Amazon S3 中。然后,导航至 查询编辑器,并 创建 SQL 表,在 Athena 控制台查询编辑器中输入以下 DDL 语句。确保将 s3//ltBUCKETNAMEWITHPREFIXgt/AWSLogs/ltORGANIZATIONIDgt/ 替换为指向包含 CloudTrail 日志数据的 S3 存储桶位置,并用所要分析 API 调用的 AWS 区域列表替换 。例如,要分析在巴黎 (euwest3) 和北维珍尼亚 (useast1) 的 AWS 区域中发出的 API 调用,请使用 euwest3useast1。我们建议您包括 useast1,以检索针对全局资源 (例如 IAM 角色) 执行的 API 调用。
sqlCREATE EXTERNAL TABLE IF NOT EXISTS cloudtraillogs ( eventVersion STRING userIdentity STRUCTlt type STRING principalId STRING arn STRING accountId STRING invokedBy STRING accessKeyId STRING userName STRING sessionContext STRUCTlt attributes STRUCTlt mfaAuthenticated STRING creationDate STRINGgt sessionIssuer STRUCTlt type STRING principalId STRING arn STRING accountId STRING userName STRINGgt ec2RoleDelivery STRING webIdFederationData MAPgtgt eventTime STRING eventSource STRING eventName STRING awsRegion STRING sourceIpAddress STRING userAgent STRING errorCode STRING errorMessage STRING requestParameters STRING responseElements STRING additionalEventData STRING requestId STRING eventId STRING readOnly STRING resources ARRAYltSTRUCTlt arn STRING accountId STRING type STRINGgtgt eventType STRING apiVersion STRING recipientAccountId STRING serviceEventDetails STRING sharedEventID STRING vpcEndpointId STRING tlsDetails STRUCTlt tlsVersionstring cipherSuitestring clientProvidedHostHeaderstring
)PARTITIONED BY ( paccount string pregion string pdate string)ROW FORMAT SERDE orgapachehivehcatalogdataJsonSerDeSTORED AS INPUTFORMAT comamazonemrcloudtrailCloudTrailInputFormatOUTPUTFORMAT orgapachehadoophiveqlioHiveIgnoreKeyTextOutputFormatLOCATION s3///AWSLogs//TBLPROPERTIES ( projectionenabled=true projectionpdatetype=date projectionpdateformat=yyyy/MM/dd projectionpdateinterval=1 projectionpdateintervalunit=DAYS projectionpdaterange=2022/01/01NOW projectionpregiontype=enum projectionpregionvalues= projectionpaccounttype=injected storagelocationtemplate=s3///AWSLogs//{paccount}/CloudTrail/{pregion}/{pdate})
最后,运行 Athena 查询并确认 cloudtraillogs 表已创建并出现在 表 列表中。
创建 AWS Config 聚合器以丰富查询结果
为进一步减少提取环境相关数据的手动步骤,使用 AWS Config 聚合器 和 高级查询 来丰富 CloudTrail 日志与资源的配置状态。
vps加速器下载为了在您组织中的帐户中查看资源配置,建议使用 AWS Config 组织聚合器。您可以使用现有的聚合器或 创建新的聚合器。您还可以使用数据边界助手提供的 模板来部署先决条件。
创建 IAM Access Analyzer 外部访问分析器
为了识别您的组织中共享给外部实体的资源,使用 IAM Access Analyzer 的 外部访问分析器,并将您的组织设定为信任区域。
您可以使用现有的外部访问分析器或 创建新的。
安装数据边界助手工具
最后,您将使用数据边界助手,它是一个开源工具,拥有一组专门用于数据边界查询的功能,来自动化日志分析过程。
克隆 数据边界助手 存储库并按照 快速开始 部分的指导进行操作。
分析帐户活动并改进您的数据边界控制措施
以下将提供步骤说明,教您如何使用已配置的 AWS 服务和工具以有效实施常见的数据边界控制措施。我们首先将直接展示如何使用配置的 CloudTrail 追踪、Athena 表以及 AWS Config 聚合器。然后,我们将展示如何透过数据边界助手加速分析过程。
范例 1:检视不受信任的 S3 存储桶上的 API 调用并改进您的资源边界政策
公司寻求的一个安全目标是确保其身份仅能对自己的 S3 存储桶进行数据的上传或下载,以管理意外数据泄露或访问未经批准数据的风险。您可以通过对您的身份实施 资源边界 来帮助实现此安全目标,使用服务控制政策 (SCP)。开始制定您的政策,请参考数据边界政策范例库中提供的 resourceperimeterpolicy 模板:
json{ Version 20121017 Statement [ { Sid EnforceResourcePerimeterAWSResourcesS3 Effect Deny Action [ s3GetObject s3PutObject s3PutObjectAcl ] Resource Condition { StringNotEqualsIfExists { awsResourceOrgID ltmyorgidgt awsPrincipalTag/resourceperimeterexception true } ForAllValuesStringNotEquals { awsCalledVia [ dataexchangeamazonawscom servicecatalogamazonawscom ] } } } ]}
将 awsResourceOrgID 条件键的值替换
使用 AWS App Studio预览版构建企业级自然语言应用程序 新闻博客
使用 AWS App Studio 构建企业级应用程序预览作者:Donnie Prakoso 2024年7月10日更新关键要点今日推出了 AWS App Studio 的公共预览,这是一个使用自然语言创建企业级应用的生成式 AI 服务。App Studio 使各类专业人员可以在几分钟内构建和管理安全...