AWS Identity and Access Management
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

IAM 用户

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

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

重要

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

AWS 如何标识 IAM 用户

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

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

  • 用户的 Amazon 资源名称 (ARN)。当您需要在 AWS 全局中单独识别该用户时使用 ARN,例如指定该用户为访问 Amazon S3 存储桶的 IAM策略的 Principal。IAM 用户的 ARN 可能类似于以下内容:

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

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

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

用户和凭证

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

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

  • 访问密钥:访问密钥 ID 和秘密访问密钥的组合。您可以一次向一个用户分配两个访问密钥。这些访问密钥可用于在程序代码中使用 API 时对 AWS 进行编程调用,或者可在使用 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 操作) 和资源。设想一个名为 Dave 的用户。在创建 IAM 用户 Dave 时,您为该用户创建密码,并向 IAM 用户附加相应的权限,使其能够启动特定的 Amazon EC2 实例以及从 Amazon RDS 数据库的表中读取 (GET) 信息。有关如何创建用户并授予用户初始凭证和权限的过程,请参阅在您的 AWS 账户中创建 IAM 用户。有关如何更改现有用户的权限的过程,请参阅更改 IAM 用户的权限。有关如何更改用户的密码或访问密钥的过程,请参阅管理密码管理 IAM 用户的访问密钥

用户和账户

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

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

作为账户服务的用户

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