什么是 IAM? - Amazon Identity and Access Management
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

什么是 IAM?

Amazon Identity and Access Management (IAM) 是一种 Web 服务,可以帮助您安全地控制对 Amazon 资源的访问。借助 IAM,您可以集中管理控制用户可访问哪些 Amazon 资源的权限。可以使用 IAM 来控制谁通过了身份验证(准许登录)并获得授权(具有z权限)来使用资源。

创建Amazon Web Services 账户时,最初使用的是一个对账户中所有Amazon Web Services和资源拥有完全访问权限的登录身份。此身份称为Amazon Web Services 账户根用户,使用创建账户时所用的电子邮件地址和密码登录,即可获得该身份。强烈建议不要使用根用户执行日常任务。保护好根用户凭证,并使用这些凭证来执行仅根用户可以执行的任务。有关需要您以根用户身份登录的任务的完整列表,请参阅 需要根用户凭证的任务

IAM 视频介绍

Amazon 培训和认证提供了介绍 IAM 的 10 分钟视频:

Amazon Identity and Access Management 简介

IAM 功能

IAM 为您提供以下功能:

对您 Amazon Web Services 账户 的共享访问权限

您可以向其他人员授予管理和使用您 Amazon 账户中的资源的权限,而不必共享您的密码或访问密钥。

精细权限

您可以针对不同资源向不同人员授予不同权限。例如,您可以允许某些用户完全访问 Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB、Amazon Redshift 以及其他 Amazon 服务。对于另一些用户,您可以允许仅针对某些 S3 存储桶的只读访问权限,或是仅管理某些 EC2 实例的权限,或是访问您的账单信息但无法访问任何其他内容的权限。

在 Amazon EC2 上运行的应用程序针对 Amazon 资源的安全访问权限

您可以使用 IAM 功能安全地为 EC2 实例上运行的应用程序提供凭证。这些凭证为您的应用程序提供权限以访问其他 Amazon 资源。示例包括 S3 存储桶和 DynamoDB 表。

多重身份验证 (MFA)

您可以向您的账户和各个用户添加双重身份验证以实现更高安全性。借助 MFA,您或您的用户不仅必须提供使用账户所需的密码或访问密钥,还必须提供来自经过特殊配置的设备的代码。如果您已将 FIDO 安全密钥与其他服务配合使用,则该密钥应该具有 Amazon 支持的配置,您可以使用 WebAuthn 实现 MFA 安全性。有关更多信息,请参阅使用 FIDO 安全密钥的受支持配置

联合身份

您可以允许已在其他位置(例如,在您的企业网络中或通过互联网身份提供程序)获得密码的用户获取对您 Amazon Web Services 账户 的临时访问权限。

实现保证的身份信息

如果您使用 Amazon CloudTrail,则会收到日志记录,其中包括有关对您账户中的资源进行请求的人员的信息。这些信息基于 IAM 身份。

PCI DSS 合规性

IAM 支持由商家或服务提供商处理、存储和传输信用卡数据,而且已经验证符合支付卡行业 (PCI) 数据安全标准 (DSS)。有关 PCI DSS 的更多信息,包括如何请求 Amazon PCI Compliance Package 的副本,请参阅 PCI DSS 第 1 级

已与很多 Amazon 服务集成

有关使用 IAM 的 Amazon 服务的列表,请参阅 使用 IAM 的Amazon服务

最终一致性

IAM 和很多其他 Amazon 服务一样,具备最终一致性。IAM 通过复制 Amazon 在全球的数据中心内多个服务器上的数据实现高可用性。如果成功请求更改某些数据,则更改会提交并安全存储。不过,更改必须跨 IAM 复制,这需要时间。此类更改包括创建或更新用户、组、角色或策略。在应用程序的关键、高可用性代码路径中,我们不建议进行此类 IAM 更改。而应在不常运行的、单独的初始化或设置例程中进行 IAM 更改。另外,在生产工作流程依赖这些更改之前,请务必验证更改已传播。有关更多信息,请参阅我所做的更改可能不会立即可见

免费使用

Amazon Identity and Access Management (IAM) 和 Amazon Security Token Service (Amazon STS) 是为您的 Amazon 账户提供的一项功能,不会另外收费。只有在您使用 IAM 用户或 Amazon STS 临时安全证书访问其他 Amazon 服务时才会向您收取费用。有关其他 Amazon 产品的定价信息,请参阅 Amazon Web Services 定价页面

访问 IAM

您可以通过以下任何方式使用 Amazon Identity and Access Management。

Amazon Web Services Management Console

控制台是用于管理 IAM 和 Amazon 资源的基于浏览器的界面。有关通过控制台访问 IAM 的更多信息,请参阅《Amazon 登录 用户指南》中的如何登录 Amazon

Amazon 命令行工具

您可以使用 Amazon 命令行工具,在系统的命令行中发出命令以执行 IAM 和 Amazon 任务。与控制台相比,使用命令行更快、更方便。如果要构建执行 Amazon 任务的脚本,命令行工具也会十分有用。

Amazon 提供两组命令行工具:Amazon Command Line Interface(Amazon CLI)和 Amazon Tools for Windows PowerShell。有关安装和使用 Amazon CLI 的更多信息,请参阅 Amazon Command Line Interface 用户指南。有关安装和使用 Tools for Windows PowerShell 的信息,请参阅 Amazon Tools for Windows PowerShell 用户指南

登录控制台后,您可以从浏览器使用 Amazon CloudShell 来运行 CLI 或 SDK 命令。访问 Amazon 资源的权限取决于您登录控制台时使用的凭证。根据您的经验,您可能会发现使用 CLI 来管理 Amazon Web Services 账户 更高效。有关更多信息,请参阅 将 Amazon CloudShell 与 Amazon Identity and Access Management 结合使用

Amazon SDK

Amazon 提供的 SDK(软件开发工具包)包含各种编程语言和平台(Java、Python、Ruby、.NET、iOS、Android 等)的库和示例代码。开发工具包提供了可通过编程方式访问 IAM 和 Amazon 的便捷方式。例如,软件开发工具包执行以下类似任务:加密签署请求、管理错误以及自动重试请求。有关 Amazon 软件开发工具包的信息(包括如何下载及安装),请参阅适用于 Amazon Web Services 的工具页面。

IAM Query API

您可以使用 IAM Query API(可让您直接向服务发布 HTTPS 请求)以编程方式访问 IAM 和 Amazon。当您使用 Query API 时,必须添加代码,才能使用您的凭证对请求进行数字化签名。有关更多信息,请参阅 使用 HTTP 查询请求调用 IAM APIIAM API 参考