AWS IAM 概念
了解 AWS IAM 以及本课程的结构。
在本课程中,我们将探讨身份与访问管理(IAM)的工作原理,并编写策略来控制对 Amazon Web Services(AWS)账户的访问。制定周密的访问控制策略是确保账户安全的核心,无论我们运行的是庞大的无服务器架构,还是仅几台弹性计算云(EC2)实例,这一点都至关重要。
云安全
云安全遵循所谓的共享责任模型。在这种模型下,云服务提供商(如 AWS)负责云本身的安全,而我们作为用户,则负责云中环境的安全。人们常常误解为“云天生就是安全的”,但事实并非如此。AWS 提供了工具让我们保护自己的基础设施部分,但我们必须正确使用这些工具才能获得任何实际的安全收益。如果账户中的所有人都拥有管理员权限,即使部署了各种安全服务,也无法真正保障安全。
损害范围
在云安全中,“损害范围”是一个重要概念。它衡量的是发生安全事件时可能造成的后果程度。例如,如果一台 Web 服务器可以访问数据库,那么黑客就有可能获取数据,因此该数据库处于该 Web 服务器的损害范围内。反之,如果该服务器无法直接或间接读取某个特定的简单存储服务(S3)存储桶,那么这个存储桶就不在该服务器的损害范围内。
最小权限原则
最后,最小权限原则是一种权限设计思想,即只授予完成正常操作所需的最低限度权限,不包含任何额外权限。这是访问控制中的一个核心理念:用户应恰好拥有完成任务所需的权限,更少则可能导致功能异常,比如应用程序无法向数据库写入数据。
举个例子,假设某个系统需要从 S3 存储桶读取对象。我们可以选择赋予该系统整个账户的完全访问权限,这样不会出现“访问被拒绝”的错误。但这也意味着系统拥有了远超其需求的权限。另一种做法是仅授予其对 S3 服务的访问权限,还可以进一步限制为仅针对特定存储桶,或仅允许只读权限。如果该系统位于企业内网,甚至可以限制其访问来源的 IP 地址。在这种情况下,即便黑客窃取了系统的凭证,其危害也远小于泄露管理员密钥所带来的风险。实施最小权限原则能够最大限度地减少网络攻击带来的损失。
IAM 服务是 AWS 账户中的安全中心。顾名思义,IAM 管理可以访问账户的身份,以及决定谁可以执行哪些操作的访问权限。每当需要授予或限制对账户中资源的访问时,都应该通过 IAM 来实现。
然而,IAM 的配置并不直观。虽然其策略语言逻辑清晰,但存在大量服务特定的例外情况。这使得仅靠阅读文档和反复试验,才可能全面掌握策略配置的细节。
本课程不会试图涵盖所有边缘情况,而是专注于AWS 中访问控制的基本逻辑。我们将学习如何编写策略来控制访问,了解可用的策略类型,以及 IAM 如何分析每一条策略以判断请求是否被允许或拒绝。
课程结束时,你将能够理解 IAM 在不同场景下如何做出访问决策,掌握编写允许或限制访问的策略方法,并建立起评估 IAM 策略的坚实基础。
课程结构
在《访问控制基础》章节中,我们将从 AWS API 的工作原理入手,了解请求到达时会发生什么。我们将分析请求的各个组成部分——因为这些信息正是 IAM 在判断访问权限时所依据的内容。
接着在《IAM 策略》章节中,我们将深入探讨如何在 AWS 内部配置访问权限。首先,你会熟悉策略的基本结构及其组成部分。策略在 AWS 中广泛应用。在《策略类型》课程中,我们将学习 AWS 支持的五种策略类型。
《请求评估流程与示例》章节将讲解请求与策略元素之间的匹配机制,以及它们如何共同决定某项操作是否被允许或拒绝。我们将学习当多个不同类型的策略同时存在时,IAM 如何综合判断并作出最终决策。随后,我们会通过一系列逐步演示的真实案例,将这些概念融会贯通。这些案例将帮助你清晰看到 IAM 是如何评估访问权限的,并提供可复用的模板,用于在你的 AWS 环境中实施相应的安全防护。
最后,《如何保护 AWS 账户》章节将提供实用建议,帮助管理员和开发者从实际角度加强账户安全。我们将学习最佳实践,并识别常见的安全陷阱。