SEC03-BP08 在组织内安全地共享资源 - AWS Well-Architected 框架

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

SEC03-BP08 在组织内安全地共享资源

随着工作负载数量的增长,您可能需要共享对这些工作负载中资源的访问权限,或者跨多个账户多次预置资源。您可能需要进行构造来划分环境,例如划分成开发、测试和生产环境。但是,采取相互分离的构造并不会限制您安全共享权限。通过共享重叠的组件,您可以降低运维开销,并提供一致的体验,而不必猜测在多次创建同一资源时可能遗漏了什么。

期望结果:通过使用安全的方法在组织内共享资源,最大限度地减少意外访问,并帮助实施数据丢失防护计划。与管理单个组件相比,降低了运维开销,减少了多次手动创建同一组件时引起的错误,并提高了工作负载的可扩展性。您可以在多点故障场景中缩短问题解决时间,并在确定何时不再需要某个组件时更有信心。有关分析外部共享资源的规范性指南,请参阅《SEC03-BP07 分析公共和跨账户访问权限》。

常见反模式:

  • 缺少对意外的外部共享进行持续监控和自动发出警报的流程。

  • 缺乏关于应分享什么和不应分享什么的基准。

  • 默认采用广泛的开放政策,而不是在需要时明确地分享。

  • 手动创建在需要时重叠的基础资源。

在未建立这种最佳实践的情况下暴露的风险等级:

实施指导

设计您的访问控制和模式,以安全地管理共享资源的使用,并且仅与可信实体共享。监控共享资源,持续检查共享资源访问权限,并在不适当或意外共享时发出警报。查看分析公共和跨账户访问,以帮助您建立治理,减少仅对需要访问的资源的外部访问权限,并建立持续监控和自动警报的流程。

许多 AWS 服务 AWS Organizations 都支持内部的跨账户共享 AWS Security Hub,例如 Amazon GuardDuty 和。AWS Backup这些服务允许将数据共享到中心账户,可从中心账户访问,或从中心账户管理资源和数据。例如, AWS Security Hub 可以将调查结果从个人账户转移到中央账户,在那里你可以查看所有调查结果。 AWS Backup 可以对资源进行备份并跨账户共享。您可以使用 AWS Resource Access Manager(AWS RAM) 共享其他公共资源,例如VPC子网和 Transit Gateway 附件 AWS Network Firewall,或者 Amazon SageMaker 管道

要限制您的账户只能在组织内共享资源,请使用服务控制策略 (SCPs) 来阻止外部委托人的访问。共享资源时,将基于身份的控制与网络控制结合起来,为组织创建数据边界,以帮助防止意外的访问。数据边界是一组预防性防护机制,用于帮助验证是否只有您的可信身份才能访问预期网络中的可信资源。这些控制措施会施加适当的限制,确定哪些资源可以共享,并防止共享或暴露不应被外泄的资源。例如,作为数据边界的一部分,您可以使用VPC终端节点策略和AWS:PrincipalOrgId条件来确保访问您的 Amazon S3 存储桶的身份属于您的组织。请务必注意,这SCPs不适用于服务相关角色或 AWS 服务主体

使用 Amazon S3 时,请关闭您ACLs的 Amazon S3 存储桶并使用IAM策略来定义访问控制。要限制从亚马逊访问 Amazon S3 源 CloudFront,请从原始访问身份 (OAI) 迁移到支持其他功能的源访问控制 (OAC),包括服务器端加密。AWS Key Management Service

在某些情况下,您可能希望允许在组织外部共享资源,或授予第三方访问您资源的权限。有关管理外部共享资源的权限的规范性指南,请参阅《权限管理》。

实施步骤

  1. 使用 AWS Organizations。

    AWS Organizations 是一项账户管理服务,允许您将多个账户整合 AWS 账户 到一个由您创建和集中管理的组织中。您可以将账户分组为组织单位 (OUs),并为每个 OU 附加不同的政策,以帮助您满足预算、安全和合规需求。您还可以控制 AWS 人工智能 (AI) 和机器学习 (ML) 服务如何收集和存储数据,并使用与 Organizations 集成的 AWS 服务的多账户管理。

  2. AWS Organizations 与 AWS 服务集成。

    当您在组织的成员账户中使用某项 AWS 服务代表您执行任务时, AWS Organizations 会在每个成员账户中为该IAM服务创建一个服务相关角色 (SLR)。您应该使用、或 AWS Management Console AWS APIs,来管理可信访问 AWS CLI。有关开启可信访问的规范性指导,请参阅与AWS Organizations 与 Organizations 一起使用的其他 AWSAWS 服务和服务一起使用。

  3. 建立数据边界。

    外 AWS 围通常表示为由 AWS Organizations管理的组织。除了本地网络和系统外,访问 AWS 资源也是许多人认为我的 AWS边界。建立边界的目标,是验证如果身份可信、资源可信并且网络符合预期,则允许访问。

    1. 定义和实施边界。

      对于每种授权条件,请按照 AWS 白皮书上的 “构建周长” 中的外围实现中描述的步骤进行操作。有关保护网络层的规范性指南,请参阅《保护网络》。

    2. 持续监控并发出警报。

      AWS Identity and Access Management Access Analyzer 可帮助识别您组织和账户中与外部实体共享的资源。您可以将 A IAMccess Analyzer 与 AWS Security Hub集成,将资源的发现结果从 A IAM ccess Analyzer 发送和汇总到 Security Hub,以帮助分析环境的安全状况。要进行集成,请在每个账户的每个区域中同时启用 A IAM ccess Analyzer 和 Security Hub。您还可以使用和 AWS Config 规则 来审核配置并提醒相应的一AWS Chatbot 方 AWS Security Hub。然后,您可以使用 AWS Systems Manager Automation 文档来修复不合规的资源。

    3. 有关对外部共享资源进行持续监控并发出警报的规范性指南,请参阅《分析公共和跨账户访问》。

  4. 在 AWS 服务中使用资源共享并进行相应的限制。

    许多 AWS 服务允许您与其他账户共享资源,或者将资源定位到另一个账户,例如 Amazon Machine Images (AMIs)AWS Resource Access Manager (AWS RAM)。限制ModifyImageAttributeAPI以指定要AMI与之共享的可信账户。指定使用 AWS RAM 时仅限组织共享的ram:RequestedAllowsExternalPrincipals条件,以帮助防止来自不可信身份的访问。有关规范性指南和注意事项,请参阅《资源共享和外部目标》。

  5. AWS RAM 用于在账户中或与其他人安全共享 AWS 账户。

    AWS RAM 可帮助您与账户中的角色和用户以及与其他 AWS 账户安全地共享已创建的资源。在多账户环境中, AWS RAM 允许您一次创建资源并与其他账户共享。这种方法有助于减少运营开销,同时通过与 Ama CloudWatch zon 的集成提供一致性、可见性和可审计性 AWS CloudTrail,而使用跨账户访问权限时您不会获得这些信息。

    如果您之前使用基于资源的策略共享了资源,则可以使用PromoteResourceShareCreatedFromPolicyAPI或等效策略将资源共享提升为完全 AWS RAM 资源共享。

    在某些情况下,您可能需要采取其他步骤来共享资源。例如,要共享加密快照,您需要共享密 AWS KMS 钥

资源

相关最佳实践:

相关文档:

相关视频:

相关工具: