AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

什么是 IAM?

AWS Identity and Access Management (IAM) 是一种 Web 服务,可以帮助您安全地控制对 AWS 资源的访问。您可以使用 IAM 控制对哪个用户进行身份验证 (登录) 和授权 (具有权限) 以使用资源。

当您首次创建 AWS 账户时,最初使用的是一个对账户中所有 AWS 服务和资源有完全访问权限的单点登录身份。此身份称为 AWS 账户 根用户,使用您创建账户时所用的电子邮件地址和密码登录,即可获得该身份。强烈建议您不使用 根用户 执行日常任务,即使是管理任务。请遵守使用 根用户 的最佳实践,仅将其用于创建您的首个 IAM 用户。然后请妥善保存 根用户 凭证,仅用它们执行少数账户和服务管理任务。

IAM 视频介绍

IAM 功能

IAM 为您提供以下功能:

对您 AWS 账户的共享访问权限

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

精细权限

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

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

多重验证 (MFA)

您可以向您的账户和各个用户添加双重身份验证以实现更高安全性。借助 MFA,您或您的用户不仅必须提供使用账户所需的密码或访问密钥,还必须提供来自经过特殊配置的设备的代码。

联合身份
实现保证的身份信息

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

PCI DSS 合规性

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

已与很多 AWS 服务集成
最终一致性

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

免费使用

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

访问 IAM

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

AWS 管理控制台

控制台是用于管理 IAM 和 AWS 资源的基于浏览器的界面。有关通过控制台访问 IAM 的更多信息,请参阅 IAM 控制台和登录页面。有关指导您使用控制台的教程,请参阅创建您的第一个 IAM 管理员用户和组

AWS 命令行工具

与控制台相比,使用命令行更快、更方便。如果要构建执行 AWS 任务的脚本,命令行工具也会十分有用。

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

AWS 软件开发工具包

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

IAM HTTPS API

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