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

IAM 用户

IAM 用户 为您在 AWS 中创建的一个实体,该实体代表使用它与 AWS 进行交互的人员或服务。AWS 中的用户包括名称和凭证。

具备管理员权限的 IAM 用户与 AWS 账户根用户并不是一回事。有关根用户的更多信息,请参阅AWS 账户根用户

重要

如果您已位于此页面,并尝试为您的应用程序或网站启用 Amazon Advertising,请参阅注册产品广告 API

AWS 如何标识 IAM 用户

当您创建用户时,IAM 提供以下这些方法来识别该用户:

  • 该用户的“友好名称”,这是您在创建该用户时指定的名称,如 RichardAnaya。您将在 AWS 管理控制台中看到这些名称。

  • 用户的 Amazon 资源名称 (ARN)。当您需要跨所有 AWS 唯一标识用户时,可以使用 ARN。例如,您可以使用 ARN 在 Amazon S3 存储桶的 IAM 策略中将用户指定为 Principal。IAM 用户的 ARN 可能类似于以下内容:

    arn:aws-cn:iam::account-ID-without-hyphens:user/Richard

  • 用户的唯一标识符。仅在您使用 API、Windows PowerShell 工具 或 AWS CLI 创建用户时返回此 ID;控制台中不会显示此 ID。

有关这些标识符的更多信息,请参阅IAM 标识符

用户和凭证

您可以通过不同方式访问 AWS,具体取决于用户凭证:

  • 控制台密码:用户可键入以登录交互式会话 (例如 AWS 管理控制台) 的密码。

  • 访问密钥:访问密钥 ID 和秘密访问密钥的组合。您可以一次向一个用户分配两个访问密钥。这些可用于对 AWS 进行编程调用。例如,在使用代码的 API 时,或在 AWS CLI 或 AWS PowerShell 工具的命令提示符下,您可能会使用访问密钥。

  • 与 AWS CodeCommit 结合使用的 SSH 密钥:可用于向 AWS CodeCommit 进行身份验证的采用 OpenSSH 格式的 SSH 公有密钥。

  • 服务器证书:您可用于向某些 AWS 服务进行身份验证的 SSL/TLS 证书。我们建议您使用 AWS Certificate Manager (ACM) 来预配置、管理和部署您的服务器证书。只有当您必须在 ACM 不支持的区域中支持 HTTPS 连接时,才应使用 IAM。要了解哪些区域支持 ACM,请参阅 AWS General ReferenceAWS 证书管理器部分。

默认情况下,全新的 IAM 用户没有密码和访问密钥 (既没有访问密钥 ID,也没有秘密访问密钥) — 也就是说,没有任何类型的凭证。您必须基于 IAM 用户将执行的操作为该用户创建凭证类型。

可使用以下选项管理密码、访问密钥和 MFA 设备:

  • 管理 IAM 用户的密码创建和更改允许访问 AWS 管理控制台的密码。设置密码策略以强制实施最小密码复杂性。允许用户更改其密码。

  • 管理 IAM 用户的访问密钥创建和更新用于通过编程方式访问账户中的资源的访问密钥。

  • 您可以通过为用户启用 Multi-Factor Authentication (MFA),增强用户凭证的安全性。使用 MFA,用户必须提供两种形式的身份证明:首先,他们提供属于用户身份一部分的凭证(密码或访问密钥)。此外,他们提供在硬件设备上或由智能手机或平板电脑上的应用程序生成的或者由 AWS 发送到与 SMS 兼容的移动设备的临时数字代码。

  • 查找未使用的密码和访问密钥拥有您账户或您账户中的 IAM 用户的密码或访问密钥的任何人都可以访问您的 AWS 资源。安全最佳实践是,在用户不再需要密码和访问密钥时将其删除。

  • 下载您账户的凭证报告您可以生成和下载列出您账户中所有 IAM 用户及其各个凭证状态 (包括密码、访问密钥和 MFA 设备) 的凭证报告。对于密码和访问密钥,证书报告将显示多久前使用了密码或访问密钥。

用户和权限

默认情况下,全新的 IAM 用户没有执行任何操作的权限。该用户无权执行任何 AWS 操作或访问任何 AWS 资源。采用单独 IAM 用户的优势在于可单独向每个用户分配权限。您可以向几个用户分配管理权限,而这些用户随后可管理您的 AWS 资源,甚至创建和管理其他 IAM 用户。但在大多数情况下,您希望限制用户的权限,使其只能访问工作所需的任务(AWS 操作)和资源。

设想一个名为 Diego 的用户。在创建 IAM 用户 Diego 时,您可以为该用户创建密码。您还可以向 IAM 用户附加权限,以使其能够启动特定 Amazon EC2 实例以及从 Amazon RDS 数据库中的表读取 (GET) 信息。有关如何创建用户并授予用户初始凭证和权限的过程,请参阅在您的 AWS 账户中创建 IAM 用户。有关如何更改现有用户的权限的过程,请参阅更改 IAM 用户的权限。有关如何更改用户的密码或访问密钥的过程,请参阅管理密码管理 IAM 用户的访问密钥

您还可以向您的用户添加权限边界。权限边界是一项高级功能,让您可以使用策略来限制委托人可以具有的最大权限。这些边界可应用于 AWS Organizations 组织或者 IAM 用户或角色。有关策略类型和用法的更多信息,请参阅策略和权限

用户和账户

每个 IAM 用户均与一个且仅一个 AWS 账户关联。由于用户是在您的 AWS 账户中定义的,因此不需要向 AWS 报备付款方式。用户在您的账户中执行的任何 AWS 活动产生的费用均计入您的账户。

您在 AWS 账户中拥有的 IAM 用户数量将存在限制。有关更多信息,请参阅 IAM 实体和对象的限制

作为账户服务的用户

IAM 用户不必代表真实的人。IAM 用户实际上只是具有相关凭证和权限的一个身份。您可以创建一个 IAM 用户来表示一个需要有凭证才能向 AWS 提出请求的应用程序。这通常被称为“服务账户”。应用程序可能在您的 AWS 账户中拥有自己的服务账户以及自己的一组权限。这与进程拥有在 Windows 或 Linux 等操作系统中定义的自己的服务账户的方式类似。