AWS IAM:安全访问管理的核心指南
AWS Identity and Access Management (IAM) 是 AWS 的核心基础设施服务,为基于身份的访问控制提供基础支持。所有 AWS 账户访问都会涉及 IAM 的使用,具体方式取决于您的组织职责和工作职能。
普通用户通过 IAM 获取日常工作所需的 AWS 资源访问权限,而管理员则负责权限分配。IAM 管理员的主要职责包括管理 IAM 身份和编写访问控制策略。无论您扮演何种角色,每次访问 AWS 资源时的身份验证和授权过程都离不开 IAM 交互,包括以 IAM 用户身份登录、担任 IAM 角色或使用联合身份验证实现无缝访问。
掌握 IAM 的各项功能和使用场景对保障 AWS 环境的安全访问至关重要。IAM 提供灵活精细的权限管理方案:除了基于身份的策略(用于定义用户或角色的可操作资源和操作范围),还能通过信任策略控制身份扮演权限。合理配置这些 IAM 策略可确保用户和应用程序始终获得恰当的资源访问权限。
当您执行不同的工作职能时
AWS Identity and Access Management (IAM) 是 AWS 的核心基础设施服务,为基于身份的访问控制提供基础支持。所有 AWS 账户访问都需要通过 IAM 进行身份验证。
IAM 的使用方式取决于您在 AWS 中的角色和权限:
-
服务用户 如果您使用 AWS 服务开展工作,管理员会为您提供必要的凭证和权限。随着工作需求的增加,可能需要额外权限。了解权限管理机制有助于您向管理员申请合适的权限。
-
服务管理员 作为企业 AWS 资源的管理者,您通常拥有 IAM 的完全访问权限。您需要确定团队成员应访问的 IAM 功能和资源范围,并向 IAM 管理员提交权限变更申请。建议您仔细阅读相关文档以掌握 IAM 的基本概念。
-
IAM 管理员 作为 IAM 管理员,您负责管理 IAM 身份并配置访问策略,以控制对 IAM 服务的访问权限。
当您获得授权访问 AWS 资源时
身份验证是您使用身份凭证登录 AWS 的方法。您必须作为 AWS 账户根用户、IAM 用户或通过代入 IAM 角色进行身份验证(登录到 AWS)。
您可以使用通过身份源提供的凭证以联合身份登录到 AWS。AWS IAM Identity Center(IAM Identity Center)用户、您公司的单点登录身份验证以及您的 Google 或 Facebook 凭证都是联合身份的示例。当您以联合身份登录时,您的管理员以前使用 IAM 角色设置了身份联合验证。当您使用联合身份验证访问 AWS 时,您就是在间接代入角色。
根据您的用户类型,您可以登录 AWS Management Console 或 AWS 访问门户。有关登录到 AWS 的更多信息,请参阅《AWS 登录 User Guide》中的 How to sign in to your AWS 账户。
如果您以编程方式访问 AWS,则 AWS 将提供软件开发工具包(SDK)和命令行界面(CLI),以便使用您的凭证以加密方式签署您的请求。如果您不使用 AWS 工具,则必须自行对请求签名。有关使用推荐的方法自行签署请求的更多信息,请参阅《IAM 用户指南》中的用于签署 API 请求的 AWS 签名版本 4。
无论使用何种身份验证方法,您都可能需要提供其他安全信息。例如,AWS 建议您使用多重身份验证(MFA)来提高账户的安全性。要了解更多信息,请参阅《AWS IAM Identity Center 用户指南》中的多重身份验证和《IAM 用户指南》中的 IAM 中的 AWS 多重身份验证。
当您以 IAM 用户身份登录时
IAM 用户是 AWS 账户内对某个人员或应用程序具有特定权限的一个身份。在可能的情况下,我们建议使用临时凭证,而不是创建具有长期凭证(如密码和访问密钥)的 IAM 用户。但是,如果您有一些特定的使用场景需要长期凭证以及 IAM 用户,建议您轮换访问密钥。有关更多信息,请参阅《IAM 用户指南》中的对于需要长期凭证的用例,应在需要时更新访问密钥。
IAM 组是一个指定一组 IAM 用户的身份。您不能使用组的身份登录。您可以使用组来一次性为多个用户指定权限。如果有大量用户,使用组可以更轻松地管理用户权限。例如,您可能具有一个名为 IAMAdmins 的组,并为该组授予权限以管理 IAM 资源。
用户与角色不同。用户唯一地与某个人员或应用程序关联,而角色旨在让需要它的任何人代入。用户具有永久的长期凭证,而角色提供临时凭证。要了解更多信息,请参阅 IAM 用户指南中的 IAM 用户的使用案例。
当您创建策略和权限时
您可通过创建策略 (这是列出用户可执行的操作以及操作可以影响的资源的文档) 向用户授予权限。默认情况下会拒绝未显式允许的任何操作或资源。可将策略创建并附加到主体(用户、用户组、用户代入的角色以及资源)。
您可以将这些策略与 IAM 角色一起使用:
-
信任策略:定义哪些主体能够在何种条件下担任该角色。信任策略是适用于 IAM 角色的一种特定类型的基于资源的策略。角色只能具有一个信任策略。
-
基于身份的策略(内联和托管)– 这些策略定义了角色的用户能够对哪些资源执行(或拒绝执行)的权限。