【AWS】什么是AWS SCP (Service Control Policies) 服务控制策略
2025年07月20日
文章浏览:40
【AWS】什么是AWS SCP (Service Control Policies) 服务控制策略

AWS SCP (Service Control Policies),即服务控制策略,是 AWS Organizations 中的一种组织策略,用于集中管理组织中所有 AWS 账户的最大可用权限。SCPs 允许您为组织中的 IAM 用户和 IAM 角色设置权限的“护栏”或“上限”,确保所有账户都符合组织的访问控制准则。

您可以将 AWS SCP 想象成一个**“组织级别的权限防火墙”。它不授予权限,而是定义了组织中所有账户(包括根账户和所有成员账户)可以执行的 AWS 服务操作的最大范围**。即使账户管理员在某个成员账户中授予了更宽泛的 IAM 权限,SCP 也会限制这些权限,使其不能超出 SCP 定义的范围。




AWS SCP 的核心功能和优势

SCP 旨在帮助大型企业和组织实现跨账户的集中式治理、安全性和合规性。

  1. 集中式权限控制:组织级别管理: 您可以在 AWS Organizations 的根、组织单元 (OU) 或单个成员账户级别附加 SCP。权限“护栏”: SCP 为组织中的所有 IAM 用户和角色(包括成员账户的根用户)设置了最大可用权限。这意味着任何账户都只能拥有其所有父级(包括根和所有上级 OU)允许的那些权限。强制执行合规性: 帮助您确保所有账户都符合组织的访问控制指导方针,例如,可以阻止所有账户使用特定的高风险服务或操作。
  2. 安全性增强:降低风险: 即使某个成员账户的管理员意外或恶意地授予了过于宽泛的 IAM 权限,SCP 也能限制这些权限,从而降低潜在的安全风险。防止未经授权的操作: 可以明确拒绝(Deny)某些服务或操作,即使 IAM 策略允许,SCP 也会阻止这些操作。Deny 语句在 SCP 中具有最高的优先级,会覆盖任何 Allow 语句。
  3. 简化治理和审计:统一策略: 在组织级别定义策略,并自动应用于其下的所有账户,减少了在每个账户中单独配置权限的复杂性。审计跟踪: SCP 的应用和变更都会记录在 AWS CloudTrail 中,提供详细的审计跟踪。
  4. 支持“默认拒绝”模型:SCP 评估遵循“默认拒绝”模型。这意味着 SCP 中未明确允许的任何权限都将被拒绝。如果 SCP 在任何级别(例如根、OU 或账户)中都没有允许声明,则访问将被拒绝。

AWS SCP 的工作原理

SCP 类似于 IAM 权限策略,使用几乎相同的语法(基于 JSON),但它们的作用不同:

  1. 启用所有功能: SCP 仅在启用了所有功能的 AWS Organizations 组织中可用。如果您的组织只启用了整合账单功能,则无法使用 SCP。
  2. 策略评估逻辑:当一个 IAM 用户或角色尝试执行一个 AWS 操作时,AWS 会评估所有相关的策略,包括 IAM 身份策略、IAM 资源策略、权限边界,以及最重要的,所有适用的 SCP。SCP 的评估从组织根开始,然后向下到 OU,再到目标账户。显式拒绝 (Explicit Deny) 优先级最高: 如果在任何级别的 SCP 中存在一个明确拒绝某项操作的语句,那么该操作将立即被阻止,无论其他任何策略(包括 IAM 策略)是否允许该操作。隐式拒绝 (Implicit Deny): 如果某项操作在任何级别的 SCP 中没有被明确允许,那么它也将被隐式拒绝。SCPs 不授予权限: SCP 永远不会授予权限。它们只是定义了 IAM 身份可以获得的最大权限集。实际的权限仍需要通过 IAM 策略来授予。
  3. 作用范围:SCP 仅影响由属于组织的账户管理的 IAM 用户和角色。SCP 不直接影响基于资源的策略(例如 S3 存储桶策略、SQS 队列策略),也不影响组织外账户的用户或角色。

AWS SCP 的典型用例

  • 强制执行合规性:禁用特定区域: 阻止所有成员账户在未经授权的 AWS 区域中启动资源,以满足数据驻留或合规性要求。禁用高风险服务: 阻止所有账户使用某些可能带来高风险的服务(例如,某些机器学习服务或不符合安全标准的服务)。强制加密: 确保所有 S3 存储桶都必须启用服务器端加密。
  • 安全治理:限制根用户操作: 限制成员账户的根用户可以执行的操作,因为根用户拥有最高权限。防止账户离开组织: 阻止任何成员账户退出 AWS Organizations,以保持集中管理。限制网络访问: 强制所有网络流量必须经过特定的网络设备或服务。
  • 成本控制:限制高成本服务: 阻止未经授权的账户使用某些非常昂贵的服务或实例类型。
  • 沙盒环境管理:在沙盒(开发/测试)OU 中,可以设置 SCP 来限制开发人员可以使用的服务范围,防止他们意外地创建昂贵或不安全的资源。

总结来说,AWS SCP 是一项强大的治理工具,它通过在 AWS Organizations 中集中设置权限护栏,帮助企业在大规模多账户环境中强制执行安全、合规和成本控制策略,从而提高整体的云治理水平。


过去考试题

ある多国籍企業は、複数のAWSリージョンにまたがるマイクロサービスアーキテクチャを採用しています。各マイクロサービスは異なるAWSサービスを使用し、それぞれに適切な認証情報と権限が必要です。また、会社はセキュリティを強化し、認証情報の管理を簡素化したいと考えています。この状況下で、最もセキュアで管理しやすいIAMエンティティの組み合わせはどれですか?


  1. IAMユーザーとIAMグループの組み合わせ
  2. IAMロールとサービスコントロールポリシー(SCP)の組み合わせ
  3. IAMインスタンスプロファイルとリソースベースのポリシーの組み合わせ
  4. フェデレーテッドユーザーとIAMポリシーの組み合わせ


正解はBです。IAMロールとサービスコントロールポリシー(SCP)の組み合わせが、この複雑な環境で最もセキュアで管理しやすい選択肢となります。

IAMロールは一時的な認証情報を提供し、各マイクロサービスに必要最小限の権限を付与できます。

SCPは組織レベルでの権限の境界を設定し、各リージョンやアカウントでの権限を制限できます。

この組み合わせにより、細かい制御と全体的なガバナンスを両立できます。


選択肢 A:IAMユーザーとIAMグループは主に人間のユーザー管理に適しており、マイクロサービスのような動的な環境には適していません。また、長期的な認証情報を使用するため、セキュリティリスクが高くなります。


選択肢 C:IAMインスタンスプロファイルはEC2インスタンス特有のものであり、多様なAWSサービスを使用するマイクロサービス環境全体をカバーするには限界があります。リソースベースのポリシーも全てのサービスでサポートされているわけではありません。


選択肢 D:フェデレーテッドユーザーは主に外部IDプロバイダーとの統合に使用され、マイクロサービス間の認証には適していません。IAMポリシーだけでは、複数リージョンにまたがる環境での一貫した制御が難しくなります。




关注 收藏