使用数据边界建立权限防护机制 - AWS Identity and Access Management

使用数据边界建立权限防护机制

数据边界防护机制旨在充当始终开启边界,以帮助保护各种 AWS 账户和资源中的数据。数据边界遵循 IAM 安全最佳实践在多个账户之间建立权限防护机制。这些组织范围的权限防护机制并不能取代现有的精细访问控制。相反,它们充当粗粒度的访问控制,通过确保用户、角色和资源遵守一组定义的安全标准来帮助改善安全策略。

数据边界是 AWS 环境中的一组权限防护机制,可帮助确保只有可信身份才能访问来自预期网络的可信资源。

  • 可信身份:AWS 账户中的主体(IAM 角色或用户)以及代表您行事的 AWS 服务。

  • 可信资源:AWS 账户或代表您行事的 AWS 服务所拥有的资源。

  • 预期网络:本地数据中心和虚拟私有云(VPC)或者代表您行事的 AWS 服务网络。

注意

在某些情况下,您可能需要扩展数据边界,以包括可信业务合作伙伴的访问。在创建特定于您的公司和 AWS 服务 的使用的可信身份、可信资源和预期网络的定义时,应考虑所有预期的数据访问模式。

应将数据边界控制视为信息安全和风险管理计划中的任何其他安全控制。这意味着您应该执行威胁分析来识别云环境中的潜在风险,然后根据自己的风险接受标准,选择并实施适当的数据边界控制。为了更好地为基于风险的迭代数据边界实现方法提供信息,您需要了解数据边界控制可以解决哪些安全风险和威胁向量,以及安全优先级。

数据边界控制

数据边界粗粒度控制通过实现不同的 策略类型条件键组合,帮助您在三个数据边界上实现六个不同的安全目标。

边界 控制目标 使用 应用于 全局条件上下文键

身份

只有可信身份才能访问我的资源

RCP

资源

aws:PrincipalOrgID

aws:PrincipalOrgPaths

aws:PrincipalAccount

aws:PrincipalIsAwsService

aws:SourceOrgID

aws:SourceOrgPath

aws:SourceAccount

只有可信身份可以访问您的网络

VPC 端点策略

网络

资源

您的身份只能访问可信资源

SCP

身份

aws:ResourceOrgID

aws:ResourceOrgPaths

aws:ResourceAccount

只能从您的网络访问可信资源

VPC 端点策略

网络

网络

您的身份只能访问预期网络中的资源

SCP

身份

aws:SourceIp

aws:SourceVpc

aws:SourceVpce

aws:VpceAccount

aws:VpceOrgPaths

aws:VpceOrgID

aws:ViaAWSService

aws:PrincipalIsAwsService

只能从预期网络访问您的资源

RCP

资源

可以将数据边界视为在数据周围创建牢固的边界,以防止意外访问模式。尽管数据边界可防止广泛的意外访问,但您仍然需要做出精细的访问控制决策。建立数据边界并不能减少使用诸如 IAM Access Analyzer 之类的工具持续微调权限的必要性,这是您实现最低权限的旅程的一部分。

要对 RCP 当前不支持的资源执行数据边界控制,您可以使用直接附加到资源的基于资源的策略。有关支持 RCP 和基于资源的策略的服务列表,请参阅 Resource control policies (RCPs)使用 IAM 的 AWS 服务

要强制实施网络边界控制,我们建议使用 aws:VpceOrgIDaws:VpceOrgPathsaws:VpceAccount,但唯一前提是当前支持要限制其访问的所有服务。将条件键用于不支持的服务可能会导致意想不到的授权结果。有关支持这些键的服务的列表,请参阅AWS 全局条件上下文密钥。如果需要对更广泛的服务强制实施控制,可考虑改用 aws:SourceVpcaws:SourceVpce

身份边界

身份边界是一组粗粒度的预防性访问控制,有助于确保只有可信身份才能访问您的资源,并且只有可信身份才能访问您的网络。可信身份通常包括 AWS 账户中的主体(角色或用户)以及代表您行事的 AWS 服务。除非授予显式例外,否则所有其他身份都被视为不可信,并且会被身份边界阻止。

根据您对可信身份的定义,以下全局条件键可帮助强制实施身份边界控制。在资源控制策略中使用这些键来限制对资源的访问,或者在 VPC 端点策略中使用这些键来限制对您的网络的访问。

您拥有的身份

可使用以下条件键,定义您在 AWS 账户 中创建和管理的 IAM 主体。

  • aws:PrincipalOrgID – 可以使用此条件键来确保提出请求的 IAM 主体属于 AWS Organizations 中的指定组织。

  • aws:PrincipalOrgPaths – 可以使用此条件键来确保提出请求的 IAM 用户、IAM 角色、AWS STS 联合用户主体或 SAML 联合主体、OIDC 联合主体或 AWS 账户根用户 属于 AWS Organizations 中的指定组织单位(OU)。

  • aws:PrincipalAccount – 可以使用此条件键来确保只有您在策略中指定的主体账户才能访问资源。

代表您行事的 AWS 服务的身份

可使用以下条件键,允许 AWS 服务在代表您行事时使用其自有身份访问您的资源。

有关更多信息,请参阅在 AWS 上建立数据边界:仅允许可信身份访问公司数据

资源边界

资源边界是一组粗粒度的预防性访问控制,有助于确保您的身份只能访问可信资源,并且只能从您的网络访问可信资源。可信资源通常包括您的 AWS 账户或代表您行事的 AWS 服务所拥有的资源。

根据您对可信资源的定义,以下全局条件键有助于强制实施资源边界控制。在服务控制策略 (SCP)中使用这些键来限制您的身份可以访问哪些资源,或者在 VPC 端点策略中使用这些键来限制可以从您的网络访问哪些资源。

您拥有的资源

可使用以下条件键,定义您在 AWS 账户 中创建和管理的 AWS 资源。

  • aws:ResourceOrgID – 可以使用此条件键来确保正在访问的资源属于 AWS Organizations 中的指定组织。

  • aws:ResourceOrgPaths – 可以使用此条件键来确保正在访问的资源属于 AWS Organizations 中指定的组织单位(OU)。

  • aws:ResourceAccount – 可以使用此条件键来确保正在访问的资源属于指定 AWS 账户。

代表您行事的 AWS 服务资源

在某些情况下,您可能需要允许访问 AWS 拥有的资源,这些资源不属于您的组织,由您的主体或代表您行事的 AWS 服务访问。有关这些场景的更多信息,请参阅在 AWS 上建立数据边界:仅允许来自我的组织的可信资源

网络边界

网络边界是一组粗粒度的预防性访问控制,可帮助确保您的身份只能访问预期网络中的资源,并且只能从预期网络访问您的资源。预期网络通常包括您的本地数据中心和虚拟私有云(VPC)以及代表您行事的 AWS 服务网络。

根据您对预期网络的定义,以下全局条件键有助于强制实施网络边界控制。在服务控制策略(SCP)中使用这些键来限制您的身份可以与之通信的网络,或者在资源控制策略(RCP)中使用这些键来限制对预期网络的资源访问。

您拥有的网络

可使用以下条件键,定义您的员工和应用程序访问资源时应使用的网络,例如企业 IP CIDR 范围和 VPC。

  • aws:SourceIp – 可以使用此条件键来确保请求者的 IP 地址在指定的 IP 范围内。

  • aws:SourceVpc – 可以使用此条件键来确保请求通过其传输的 VPC 端点属于指定的 VPC。

  • aws:SourceVpce – 可以使用此条件键来确保请求通过指定的 VPC 端点传输。

  • aws:VpceAccount – 可以使用此条件键来确保请求经由指定 AWS 账户拥有的 VPC 端点。

  • aws:VpceOrgPaths – 可以使用此条件键来确保提出请求的 IAM 主体属于 AWS Organizations 中的指定组织单元 (OU)。

  • aws:VpceOrgID – 可使用此条件键来确保请求经由 AWS Organizations 中的指定组织中的账户拥有的 VPC 端点。

aws:VpceAccountaws:VpceOrgPathsaws:VpceOrgID 对实施网络边界控制特别有用,这种控制可随 VPC 端点的使用情况自动扩展,且在创建新端点时无需更新策略。有关支持这些键的 AWS 服务 列表,请参阅AWS 全局条件上下文密钥

代表您行事的 AWS 服务网络

可使用以下条件键,允许 AWS 服务在代表您行事时从其网络访问您的资源。

在其他情况下,您需要允许从网络外部访问 AWS 服务 以访问您的资源。有关更多信息,请参阅在 AWS 上建立数据边界:仅允许从预期网络访问公司数据

用于了解有关数据边界的更多信息的资源

以下资源可帮助了解有关 AWS 的数据边界的更多信息。