开始免费使用 AWS

创建免费账户
或登录到控制台

获得 12 个月的 AWS 免费使用套餐,同时享受 AWS 的基本支持功能,包括全年全天候客户服务、支持论坛等。


问:什么是 AWS Identity and Access Management (IAM)?
您可以使用 AWS IAM 来安全地控制对您的 AWS 资源的个人访问权限或组访问权限。您可以创建并管理用户身份 (“IAM 用户”) 并授权这些 IAM 用户访问您的资源的权限。您也可以为 AWS 以外的用户 (即联合用户) 授权。

问:如何开始使用 IAM?
要开始使用 IAM,您必须至少订阅一项与 IAM 相集成的 AWS 服务。然后,您可以通过 IAM API、AWS CLI IAM 控制台 (提供基于 Web 的点选式界面) 创建和管理用户、组和权限。您还可以使用可视化编辑器创建策略。

问:IAM 可以解决什么问题?
IAM 可以让多个用户轻松安全地访问您的 AWS 资源。IAM 让您能够:

  • 管理 IAM 用户及其访问权限:您可以通过 AWS 的身份管理系统创建用户,向用户发放个人安全证书 (例如,访问密钥、密码、多重验证设备),或请求为其提供临时安全证书,以为用户提供 AWS 服务和资源的访问权限。您可以指定权限,限制用户可执行的操作。
  • 管理联合用户的访问 – 您可以为您在公司目录中管理的用户请求包含可配置有效期限的安全证书,以便让您的员工和应用程序可以安全访问您 AWS 账户中的资源,而不必为其创建 IAM 用户账户。您可以为这些安全证书指定权限,控制用户可执行的操作。

问:IAM 的目标用户是谁?
任何 AWS 用户都可使用 IAM。该服务不另外收费。您只需为用户所用的其他 AWS 服务付费。

问:什么是用户?
用户是一个能被 AWS 服务和应用程序识别的独一无二的身份。与 Windows 或 UNIX 等操作系统中的登录用户相似,用户有一个唯一的名称,可以通过密码或访问密钥等熟悉的安全证书来表明自己的身份。用户可以是需要访问 AWS 服务的个人、系统或应用程序。IAM 支持在 AWS 身份管理系统中管理的用户 (称为“IAM 用户”),也允许您将 AWS 资源的访问权限授予公司目录中在 AWS 以外管理的用户 (称为“联合用户”)。

问:用户能做什么?
用户可以向 Amazon S3 和 Amazon EC2 等 Web 服务提出请求。用户访问 Web 服务 API 的能力受到 AWS 账户的控制,并根据在 AWS 账户中的定义由 AWS 账户负责。您可以为用户授予许可,以便访问已经与 IAM 集成以及 AWS 账户已订阅的任意或全部 AWS 服务。在获得许可后,用户可以访问 AWS 账户的所有资源。此外,如果 AWS 账户可以访问其他 AWS 账户的资源,则其用户可能也可访问那些 AWS 账户下的数据。用户创建的 AWS 资源受由所属的 AWS 账户控制并其费用也有AWS 账户支付。用户不能单独订阅 AWS 服务或控制资源。

问:用户如何调用 AWS 服务?
用户可以使用安全证书请求 AWS 服务。用户调用 AWS 服务的能力受明确权限制约。在默认情况下,用户不能代表账户调用服务 API。

问:如何开始使用 IAM?
要开始使用 IAM,您必须至少订阅一项与 IAM 相集成的 AWS 服务。然后,您可以通过 IAM API、AWS CLI IAM 控制台 (提供基于 Web 的点选式界面) 创建和管理用户、组和权限。还可以使用 AWS Policy Generator 创建策略。


问:如何管理 IAM 用户?
IAM 支持多种方法可以实现以下操作:

  • 创建和管理 IAM 用户。
  • 创建和管理 IAM 组。
  • 管理用户的安全凭证。
  • 创建和管理授予 AWS 服务和资源访问权限的策略。

您可以使用 IAM API、AWS CLIIAM 控制台创建和管理用户、组和策略。您还可以使用可视化编辑器IAM 策略模拟器创建和测试策略。

问:什么是组?
组是一个IAM 用户集体。将组成员作为一个简单列表来进行管理:

  • 向组添加或删除用户。
  • 一位用户可从属于多个组。
  • 一个组无法从属于其他组。
  • 组可通过访问控制策略向获取权限。这样能更加轻松地管理一批用户的权限,而不必分别管理单个用户权限。
  • 组没有安全证书且不能直接获取 Web 服务;组仅仅是为了更轻松地管理用户权限。有关详情,请参阅 Working with Groups and Users

问:IAM 用户可以拥有哪些安全证书?
IAM 用户可以将 AWS 支持的凭证随意组合使用,例如 AWS 访问密钥、X.509 凭证、SSH 密钥、Web 应用程序登录密码或 MFA 设备。这样一来,用户就可以通过他们认为方便的任何方式来使用 AWS 的服务。某名员工可能同时拥有 AWS 访问密钥和密码;某个软件系统可能只有用于编程调用的 AWS 访问密钥;IAM 用户可能有用于访问 AWS CodeCommit 存储库的私有 SSH 密钥;而外部承包商可能只有用于使用 EC2 命令行界面的 X.509 凭证。有关详细信息,请参阅 IAM 文档中的“临时安全证书”。

问:哪些 AWS 服务支持 IAM 用户?
IAM 文档的“使用 IAM 的 AWS 服务”部分提供了支持 IAM 用户的 AWS 服务的完整清单。AWS 将逐步增加对其他服务的支持。

问:可否启用和禁用用户访问?
是的。您可以通过 IAM API、AWS CLIIAM 控制台来启用和禁用 IAM 用户的访问密钥。禁用访问密钥意味着该用户将无法通过编程方式访问 AWS 服务。

问:哪些人可以管理 AWS 账户的用户?
AWS 账户持有者可以管理用户、组、安全证书和权限。此外,您也可以向单个用户授予权限,以便他们能通过调用 IAM API 管理其他用户。例如,可以创建管理员用户为公司管理用户,这也是推荐的做法。用户获得您授予的管理其他用户的权限后,可通过 IAM API、AWS CLIIAM 控制台执行管理。

问:是否可以按级别建立用户群 (如采用 LDAP)?
是的。您可以按路径组织用户和组,与 Amazon S3 中的数据元路径相似,例如 /mycompany/division/project/joe。

问:是否可以根据地区定义用户?
一开始不可以。用户是全局性的实体,就如现在的 AWS 账户一样。定义用户权限时不需要指定地区。用户可以在任何地理区域内使用 AWS 服务。

问:如何为 IAM 用户配置 MFA 设备?
您 (AWS 账户持有者) 可以指挥多个 MFA 设备。然后可以通过 IAM API、AWS CLIIAM 控制台将这些设备分配给各个 IAM 用户。

问:IAM 用户支持哪种密钥轮换?
用户访问密钥和 X.509 证书可以实现轮换,因为他们都是 AWS 账户的根访问识别符。您可以通过 IAM API、AWS CLIIAM 控制台,以编程的方式管理和轮换用户的访问密钥或 X.509 证书。

问:IAM 用户能否拥有个人 EC2 SSH 密钥?
最初发行版本中没有。IAM 并不会影响 EC2 SSH 密钥或 Windows RDP 证书。这表示,虽然各个用户需使用单独的证书来访问 Web 服务 API,但他们必须共享在用户的指定 AWS 账户下的通用 SSH 密钥。

问:在哪里可以使用我的 SSH 密钥?

目前,IAM 用户只能将其 SSH 密钥与 AWS CodeCommit 结合使用才能访问自己的存储库。

问:IAM 用户名是否必须为电子邮件地址?
不需要,但可以使用电子邮件地址。用户名仅仅是特定 AWS 账户中唯一的 ASCII 字符串。您可以使用所选的任何命名约定发布名称,包括电子邮件地址。

问:哪些字符集可用于 IAM 用户名称?
对于 IAM 实体,您仅能使用 ASCII 字符。

问:是否支持除用户名称之外的其他用户属性?
目前不可以。

问:如何设置用户密码?
您可以通过 IAM 控制台AWS CLI 或 IAM API,为 IAM 用户设置初始密码。完成初始预置后,用户密码便不再以明文形式显示,而且也无法通过 API 调用显示或取回。IAM 用户可以在 IAM 控制台的 My Password 页面中管理其密码。用户可通过从 AWS 管理控制台右上角的下拉列表中选择 Security Credentials 选项,来访问这一页面。

问:我是否能为我的用户密码定义密码策略?
可以,您可以强制实施安全性高的密码,例如要求最短长度或至少包含一个数字。您还可以强制自动执行密码过期、阻止旧密码复用和要求下次登录 AWS 时重置密码。更多详情请参见 Setting an Account Policy Password for IAM Users

问:能否设置 IAM 用户的使用定额?
不能。对 AWS 账户的所有限制是一个整体。例如,如果您的 AWS 账户限定为包含 20 个 Amazon EC2 实例,具有 EC2 权限的 IAM 用户才可以启动最高 20 个实例。您不能限制单个用户可执行哪些操作。


问:什么是 IAM 角色?
IAM 角色是 IAM 实体,它可以为提交 AWS 服务请求定义一组权限。IAM 角色与特定的用户或组无关。相反,可信实体可以担任角色,例如 IAM 用户、应用程序或 EC2 等 AWS 服务。

问:IAM 角色能帮助解决什么问题?
IAM 角色使您能够通过已定义的权限来委派可信任实体的访问权限,而无需共享长期访问密钥。您可以使用 IAM 角色来委派对您账户内管理的 IAM 用户、其他 AWS 账户下的 IAM 用户以及 EC2 等 AWS 服务的访问权限。

问:如何开始使用 IAM 角色?
您可以用类似于创建用户的方式来创建角色,给角色命名并附加策略。更多详情请参见 Creating IAM Roles

问:如何担任 IAM 角色?
您可通过调用 AWS Security Token Service (STS) AssumeRole API (或者叫 AssumeRole、AssumeRoleWithWebIdentity 和 AssumeRoleWithSAML) 担任 IAM 角色。这些 API 会返回一组临时安全证书,应用程序之后可使用这些证书来签署对 AWS 服务 API 的请求。

问:可以担任多少个 IAM 角色?
您能担任的 IAM 角色的数量没有限制,但是当您向 AWS 服务提交请求时,只能用一个 IAM 角色进行操作。

问:IAM 角色的目标用户是谁?
任何 AWS 用户都可使用 IAM 角色。

问:IAM 角色需要多少成本?
IAM 角色是免费的。您将继续为您 AWS 账户耗费的所有资源付费。

问:如何管理 IAM 角色?
您可以通过 IAM API、AWS CLI,或 IAM 控制台 (提供基于 Web 的点选式界面) 创建和管理 IAM 角色。

问:IAM 角色和 IAM 用户之间有什么区别?
IAM 用户拥有永久性证书,用来直接与 AWS 服务交互。IAM 角色没有任何证书,不能直接提出 AWS 服务请求。IAM 角色必须由获得授权的实体担任,如 IAM 用户、应用程序或 EC2 等 AWS 服务。

问:何时应使用 IAM 用户、IAM 组或 IAM 角色?

IAM 用户拥有永久性证书,用来直接与 AWS 服务交互。IAM 组的主要为了方便管理一组 IAM 用户的同一组权限。IAM 角色是一种 AWS Identity and Access Management (IAM) 实体,有权限提出 AWS 服务请求。IAM 角色无法直接提出 AWS 服务请求,它们必须由获得授权的实体担任,如 IAM 用户、应用程序或 EC2 等 AWS 服务。IAM 角色用于在 AWS 账户内部或 AWS 账户之间委派访问权限。

问:是否支持向 IAM 组添加 IAM 角色?
目前不可以。

问:IAM 角色可以附加多少个策略?

对于内联策略:您可以向用户、角色或组添加尽可能多的内联策略,但是每个实体的策略大小总计 (所有内联策略的总大小) 不能超过以下限制:

  • 用户策略大小不得超过 2048 个字符。
  • 角色策略大小不得超过 10240 个字符。
  • 组策略大小不得超过 5120 个字符。

对于托管策略您最多可以向用户、角色或组添加 10 个托管策略。每个托管策略的大小不得超过 6144 个字符。

问:我可以创建多少个 IAM 角色?
您的 AWS 账户最多只能创建 1000 个 IAM 角色。如果您需要更多角色,请提交 IAM 提高限额申请表并附上您的使用案例,我们将会考虑您的请求。

问:我的应用程序可以请求哪些服务?
您的应用程序可以向所有支持角色会话的 AWS 服务提出请求

问:什么是适用于 EC2 实例的 IAM 角色?
通过针对 EC2 实例的 IAM 角色,您可以让运行于 EC2 的应用程序向 AWS 服务 (如 Amazon S3、Amazon SQS 和 Amazon SNS) 发出请求,而不必将 AWS 访问密钥复制到每个实例。有关详细信息,请参阅适用于 Amazon EC2 的 IAM 角色

问:适用于 EC2 实例的 IAM 角色具有哪些功能?

适用于 EC2 实例的 IAM 角色提供下列功能:

  • 从运行中的 EC2 实例向 AWS 服务提交请求时要使用的 AWS 临时安全证书。
  • 自动循环使用 AWS 临时安全证书。
  • 精确控制对 EC2 实例上运行的应用程序的权限。

问:适用于 EC2 实例的 IAM 角色可以解决什么问题?
适用于 EC2 实例的 IAM 角色让管理和部署AWS 访问密钥至 EC2 实例更简单。借助这一功能,您可以将 IAM 角色与实例相关联。然后,您的 EC2 实例将为运行在实例上的应用程序提供临时安全证书,且应用程序可以用这些证书对角色中定义的 AWS 服务资源安全地提交请求。

问:如何开始使用适用于 EC2 实例的 IAM 角色?
为了理解角色如何在 EC2 实例中起作用,您需要使用 IAM 控制台创建一个角色,启动使用该角色的 EC2 实例,然后检查所运行的实例。您可以检查实例元数据以了解如何将角色凭证提供给实例使用,也可以了解实例上运行的应用程序如何使用该角色。有关更多详细信息,请参阅如何入门?

问:多个 EC2 实例能使用同一个 IAM 角色?
能。

问:是否能在运行中的 EC2 实例上更改 IAM 角色?
可以。虽然角色通常是在您启动 EC2 实例时分配给该实例的,但也可以分配给正在运行的 EC2 实例。要了解如何为正在运行的实例分配角色,请参阅适用于 Amazon EC2 的 IAM 角色。 此外,您还可以更改与正在运行的实例关联的 IAM 角色的权限,更新后的权限几乎能立即生效。

问:可否将 IAM 角色与已在运行的 EC2 实例关联?
可以。您可以将角色分配给已在运行的 EC2 实例。要了解如何为已在运行的实例分配角色,请参阅适用于 Amazon EC2 的 IAM 角色

问:可否将 IAM 角色与 Auto Scaling 组关联?

可以。您可以将 IAM 角色作为额外参数添加到 Auto Scaling 启动配置中,再使用该启动配置创建 Auto Scaling 组。与 IAM 角色关联的 Auto Scaling 组中启动的所有 EC2 实例都会以该角色作为输入参数进行启动。更多信息请参见 What Is Auto Scaling?Auto Scaling Developer Guide 中。

问:可否将多个 IAM 角色与一个 EC2 实例关联?
否。目前一个 EC2 实例只能关联一个 IAM 角色。 每个实例只能有一个角色的这一限制并不会增加。

问:如果删除了与正在运行的 EC2 实例关联的 IAM 角色,会出现什么情况?
使用该角色的实例上运行的任何应用程序都会立即被拒绝访问。

问:是否能控制 IAM 用户可以将哪些 IAM 角色与 EC2 实例相关联?
能。有关详细信息,请参阅在 Amazon EC2 中使用角色所需的权限

问:启动带有 IAM 角色的 EC2 实例需要什么权限?
要成功启动带有角色的 EC2 实例,IAM 用户必须被授予两个不同的权限:

  • 启动 EC2 实例的权限。
  • 将 IAM 角色与 EC2 实例相联和的权限。

有关详细信息,请参阅在 Amazon EC2 中使用角色所需的权限

问:谁可以访问 EC2 实例上的访问密钥?
实例上的任何本地用户可以访问与相关 IAM 角色关联的访问密钥。

问:如何将 IAM 角色与 EC2 实例上的应用程序配合使用?
如果您使用 AWS 软件开发工具包开发应用程序,AWS 软件开发工具包将会自动使用 EC2 实例中提供的 AWS 访问密钥。如果您没有使用 AWS 软件开发工具包,则可以通过 EC2 实例元数据服务获取访问密钥。有关详细信息,请参阅“使用 IAM 角色向在 Amazon EC2 实例上运行的应用程序授予权限”。

问:如何在 EC2 实例上交替临时安全组证书?
与 IAM 角色相关的 AWS 临时安全凭证每天会自动进行多次交替。新的临时安全证书将在现有临时安全证书到期前 5 分钟内可用。

问:是否可以对任何实例类型或 Amazon 系统映像使用适用于 EC2 实例的 IAM 角色?
可以。适用于 EC2 实例的 IAM 角色也可在 Amazon Virtual Private Cloud (VPC) 中与竞价型实例和预留实例配合使用。

问:什么是与服务关联的角色?
与服务关联的角色是关联到某种 AWS 服务 (也称为关联服务) 的一类角色,只有关联的服务才能承担该角色。您可以使用这种角色向各种 AWS 服务委派权限,让其能够代表您创建和管理 AWS 资源。

问:我自己能不能承担与服务关联的角色?
不能。与服务关联的角色只能由关联的服务承担。这也是与服务关联的角色的信任策略无法修改的原因。

问:是否可以删除与服务关联的角色?
可以。如果不再需要某项 AWS 服务代表您执行操作,则可删除与该服务关联的角色。删除该角色之前,您必须删除依赖于该角色的所有 AWS 资源。此步骤可以确保您不会意外删除您的 AWS 资源正常运行所需的角色。

问:如何删除与服务关联的角色?
您可以从 IAM 控制台删除与服务关联的角色。在导航窗格中选择角色,然后选择要删除的服务关联角色,再选择删除角色。 (注意:对于 Amazon Lex,您必须使用 Amazon Lex 控制台才能删除服务关联的角色。)


问:权限是如何执行的?

将访问控制策略挂载到用户、组和角色,以便分配对 AWS 资源的权限。默认情况下,IAM 用户、组和角色没有权限;拥有充分权限的用户必须使用策略授予所需的权限。

问:如何使用策略分配权限?

要设置权限,您可以使用 AWS 管理控制台、IAM API 或 AWS CLI 创建并挂载策略。已被授予必要权限的用户可以创建策略并将其分配给 IAM 用户、组和角色。

问:什么是托管策略?

托管策略是使用 IAM 策略语言表达权限的 IAM 资源。您可以将之与所关联的 IAM 用户、组和角色分开创建、修改和管理。您将托管策略关联到多个 IAM 用户、组或角色后,可以在一个位置更新该策略并将权限自动扩展到所有关联的实体。托管策略由您管理 (称为客户管理的策略) 或 AWS 管理 (称为 AWS 管理的策略)。更多有关托管策略的信息,请参见“Managed Policies and Inline Policies”部分。

问:如何创建客户管理策略?

您可以使用可视化编辑器或 IAM 控制台中的 JSON 编辑器。可视化编辑器是一个点选式编辑器,可全程指导您利用策略授予权限,使您无需再以 JSON 格式编写策略。您可以使用 CLI 和 SDK 创建 JSON 策略。

问:如何分配常用权限?

AWS 提供了一套常用权限,您可以将它们关联到您账户中的 IAM 用户、组和角色。这些策略称为 AWS 管理的策略。Amazon S3 的只读访问权限就是一个例子。当 AWS 更新这些策略时,权限会自动应用到策略关联的用户、组和角色。AWS 管理的策略自动显示在 IAM 控制台的 Policies 部分。分配权限时,您可以使用 AWS 托管策略,也可以创建您自己的客户托管策略。您可根据现有的 AWS 托管策略创建新的策略或定义您自己的策略。

问:基于组的权限是如何实施的?

使用 IAM 组将同一组权限分配给多个 IAM 用户。此外,还可以为用户分配单独的权限。结合使用将权限挂载到用户的这两种方法,以设置整体权限。

问:使用 IAM 组指派权限与使用托管策略指派权限有什么区别?

您可以使用 IAM 组收集 IAM 用户并为这些用户定义常用权限。您可以使用托管策略在 IAM 用户、组和角色之间共享权限。例如,如果您希望一组用户能够启动一个 Amazon EC2 实例,并且还希望该实例上的角色与组中的用户拥有相同的权限,则可以创建一个托管策略并将它指派给上述用户组和 Amazon EC2 实例上的角色。

问:如何将 IAM 策略连同 Amazon S3、Amazon SQS、Amazon SNS, 和 AWS KMS 基于资源的策略一起评估?

IAM 策略是与服务的基于资源的策略一起评估的。当任何策略类型授予了访问权限 (没有直接拒绝) 时,则此操作是被允许的。更多有关策略评估逻辑的信息,请参见“IAM Policy Evaluation Logic”部分。

问:我能否将托管策略用作基于资源的策略?

托管策略只能挂载到 IAM 用户、组或角色。您不可以将其用作基于资源的策略。

问:我如何使用策略设置精细权限?

使用策略,您可以指定若干权限粒度层级。首先,您可以定义想要允许或明确拒绝访问的特定 AWS 服务操作。其次,根据具体操作,您可以定义可对其执行这些操作的特定 AWS 资源。第三,您可以定义指定策略何时生效的条件 (例如,是否启用了 MFA)。

问:如何轻松地移除不必要的权限?

为了帮助您确定所需的权限,IAM 控制台现在可显示服务上次访问数据,以显示 IAM 实体 (用户、组或角色) 上次访问某项 AWS 服务的时间。了解 IAM 实体上次使用权限的方式和时间可帮助您删除不必要的权限并轻松加强 IAM 策略。

问:我是否可以授予权限以访问或更改账户级信息 (例如,付款方式、联系电子邮件地址和账单历史记录)?

可以,您可以向 IAM 用户或联合身份用户授予查看 AWS 账单数据和修改 AWS 账户信息的权限。有关如何控制账单信息的访问权限的更多信息,请参阅“Controlling Access”。

问:谁可以在 AWS 账户中创建并管理访问密钥?

只有 AWS 账户所有人可以管理根账户的访问密钥。账户所有人和已被授予必要权限的 IAM 用户与角色可以管理 IAM 用户的访问密钥。

问:我是否可以授予权限以访问归其他 AWS 账户所有的 AWS 资源?
可以。通过使用 IAM 角色,IAM 用户和关联用户可以通过 AWS 管理控制台、AWS CLI 或 API 访问其他 AWS 账户中的资源。请参阅“Manage IAM Roles”,了解更多信息。

问:策略是什么样的?

以下策略授予访问权限以便在特定存储桶 example_bucket 中的特定文件夹 example_folder 中添加、更新和删除对象。

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect": "Allow",
         "Action":[
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource":"arn:aws:s3:::example_bucket/example_folder/*"
      }
   ]
}

问:什么是策略摘要?

如果您在使用 IAM 控制台并选择了一项策略,您就会看到策略摘要。策略摘要中列出了策略中定义的每项服务的访问级别、资源和条件 (参见以下屏幕截图中的示例)。访问级别 (查看、读取、写入或权限管理) 根据策略中针对每项服务授予的操作来确定。您可以选择 JSON 按钮,以 JSON 格式查看策略。

策略摘要的屏幕截图

问:IAM 策略模拟器是什么?
IAM 策略模拟器是一种工具,可帮助您了解、测试和验证您的访问控制策略的效果。

问:策略模拟器有哪些用途?
您可以将策略模拟器用于多种用途。您可以测试策略更改以确保其具有所需的效果,然后再将其用于生产环境。您可以验证已挂载到用户、组和角色的现有策略,以验证权限并进行问题排查。您还可以使用策略模拟器来了解理解 IAM 策略和基于资源的策略如何协同工作以允许或拒绝对 AWS 资源的访问。

问:谁可以使用策略模拟器?
策略模拟器可供所有 AWS 客户使用。

问:策略模拟器的费用是多少?
策略模拟器是免费提供的。

问:如何开始使用?
请访问 https://policysim.aws.amazon.com,或单击 IAM 控制台中“Additional Information”下的相应链接。指定新的策略,或者从您想要评估的用户、组或角色中选择一个现有的策略集合。随后,从 AWS 服务列表中选择一组操作,提供模拟访问请求所需的所有信息,然后运行模拟以确定策略是否能够允许或拒绝对所选操作和资源的访问。要了解有关 IAM 策略模拟器的更多信息,请观看我们的入门视频或参阅文档

问:IAM 策略模拟器支持哪些类型的策略?
策略模拟器支持测试新输入的策略以及用户、组或角色所附加的现有策略。此外,您还可以模拟资源级策略是否授予对 Amazon S3 存储桶、Amazon Glacier 文件库、Amazon SNS 主题和 Amazon SQS 队列特定资源的访问权限。在支持资源策略的服务的模拟设置中,如果资源字段指定了 Amazon 资源名称 (ARN),则模拟包含上述内容。

问:如果我在策略模拟器中更改了策略,这些更改是否会保留在生产环境中?
不会。要将更改应用到生产环境,请复制您已在策略模拟器中修改的策略,并将其附加到所需的 IAM 用户、组或角色。

问:是否可以通过编程方式使用策略模拟器?
可以。除了策略模拟器控制台之外,您还可以通过 AWS 开发工具包或 AWS CLI 使用策略模拟器。您可使用 iam:SimulatePrincipalPolicy API 以编程方式测试现有的 IAM 策略。要测试尚未挂载到用户、组或角色的新策略或更新策略的效果,请调用 iam:SimulateCustomPolicy API。


问:IAM 用户如何登录?

要以 IAM 用户身份登录 AWS 管理控制台,除用户名和密码外,您还必须提供账户 ID 或账户别名。当管理员在控制台中创建 IAM 用户后,他们应该已经为您提供了用户名和账户登录页面的 URL。该 URL 包含您的账户 ID 或账户别名。

https://My_AWS_Account_ID.signin.aws.amazon.com/console/

您还可以在以下通用登录终端节点登录,并手动输入您的账户 ID 或账户别名:

https://console.aws.amazon.com/

为方便起见,AWS 登录页面使用浏览器 Cookie 来记忆 IAM 用户名和账户信息。当用户下次在 AWS 管理控制台中访问任何页面时,控制台可使用 Cookie 将用户重定向至账户登录页面。

注意:IAM 用户仍可以使用其管理员提供的 URL 链接登录到 AWS 管理控制台。

问:什么是 AWS 账户别名?

账户别名是您定义的名称,以方便识别您的账户。您可以通过 IAM API、AWS 命令行工具IAM 控制台创建别名。您可为每个 AWS 账户取一个别名。

问:IAM 用户可以访问哪些 AWS 站点?

IAM 用户可以登录以下 AWS 站点:

问:IAM 用户能否使用其凭证登录其他 Amazon.com 属性?
不需要。只有 AWS 服务和应用程序才能识别通过 IAM 创建的用户。

问:是否有任何认证 API 来验证 IAM 用户登录?
没有。没有用于验证用户登录的编程方式。

问:用户可否使用其 AWS 用户名和密码通过 SSH 连接 EC2 实例?
不可以。使用 IAM 创建的用户安全证书不支持直接用于对客户的 EC2 实例进行身份验证。管理 EC2 SSH 证书是客户的责任,且可在 EC2 控制台内进行。


问:什么是临时安全证书?
临时安全凭证包括 AWS 访问密钥 ID、秘密访问密钥和安全令牌。临时安全证书在一定期限内有效,并具有一组特定的权限。临时安全证书有时简称为令牌。您可以为 IAM 用户或自己公司目录中管理的联合用户请求令牌。有关更多信息,请参阅“临时证书的常见情形”。

问:临时安全证书有什么好处?
临时安全证书有以下功能:

  • 扩展您的内部用户目录以启用至 AWS 的联合,从而使您的员工和应用程序能够安全地访问 AWS 服务 API,而无需为其创建 AWS 身份。
  • 为无限数量的联合用户申请临时安全证书。
  • 配置临时安全证书的失效时间,当您通过移动设备访问 AWS 服务 API 有遗失设备的风险时提供更高安全保障。

问:如何为联合用户请求临时安全证书?
您可以调用 GetFederationTokenAssumeRoleAssumeRoleWithSAMLAssumeRoleWithWebIdentity STS API。

问:IAM 用户如何为自己申请临时安全证书?
IAM 用户可通过调用 AWS STS GetSessionToken API 为自己请求临时安全证书。这些临时证书的默认有效期是 12 小时,最短为 15 分钟,最长为 36 小时。

临时证书也可以与 Multi-Factor Authentication (MFA) 保护的 API 访问权限配合使用。

问:如何使用临时安全证书调用 AWS 服务 API?
如果您要向 AWS 发出直接 HTTPS API 请求,可以使用从 AWS Security Token Service (AWS STS) 获得的临时安全凭证签署这些请求。为此,请执行以下操作:

  • 像您使用长期凭证那样,使用与临时安全凭证一起提供的访问密钥 ID 和秘密访问密钥签署请求。有关签署 HTTPS API 请求的更多信息,请参阅“AWS 一般参考”中的签署 AWS API 请求
  • 使用与临时安全凭证一起提供的会话令牌。将该会话令牌添加到“x-amz-security-token”标头中。请参阅以下示例请求。
    • 对于 Amazon S3,请使用“x-amz- security-token”HTTP 标头。 
    • 对于其他 AWS 服务,请使用 SecurityToken 参数。

问:哪些 AWS 服务接受临时安全证书?
有关受支持服务的列表,请参阅“使用 IAM 的 AWS 服务”。

问:在请求临时安全证书 (GetFederationToken 或 AssumeRole) 时,访问策略最大不能超过多少字节?
策略的纯文本内容不得超过 2048 个字节。但是,内部转换功能会将其压缩为打包二进制格式,而后者具有不同的长度限制。

问:是否能在到期前撤消临时安全证书?
不能。请求临时证书时,我们推荐以下操作:

  • 创建临时安全证书时,请将过期设置为适合您的应用程序的值。
  • 由于无法限制根账户的权限,因此建议您在创建临时安全证书时使用 IAM 用户,不要使用根账户。您可以撤销 IAM 用户的发布源调用以请求该证书的权限。此操作几乎会立即撤消由该 IAM 用户颁发的所有临时安全证书的特权。

问:临时安全证书是否可以重新激活或是否可以延长其有效期?
不可以。最好主动检查过期并在旧的证书过期前申请新的临时安全证书。当在适用于 EC2 实例的角色中使用临时证书时,系统会自动为您管理此循环过程。

问:临时安全证书是否在所有区域都可用?
客户可以从所有区域的 AWS STS 终端节点请求令牌,包括 AWS GovCloud (美国) 和中国 (北京) 区域。来自 AWS GovCloud (美国) 和中国 (北京) 的临时证书仅可在它们起源的区域使用。从美国东部 (弗吉尼亚北部) 或欧洲 (爱尔兰) 等其他任何地区请求的临时证书都可以在除 AWS GovCloud (美国) 和中国 (北京) 以外的所有区域使用。

问:我能否将临时安全证书限制为仅一个区域或区域的一个子网使用?

不能。您不能将临时安全证书限制为一个特定区域或区域子网使用,除非该临时安全证书请求自 AWS GovCloud (美国) 和中国 (北京),因为来自这两个地区的临时证书只能在各自的签发地使用。

问:在开始使用 AWS STS 终端节点之前,我需要做些什么?

AWS STS 终端节点在所有区域默认处于活动状态,您无需执行任何进一步操作即可开始使用这些终端节点。

问:如果我尝试使用已对我的 AWS 账户停用的区域 AWS STS 终端节点,会出现什么情况?

如果您尝试使用已对您的 AWS 账户停用的区域 AWS STS 终端节点,您将看到 AWS STS 发出的 AccessDenied 异常提示,通知您以下消息:“尚未在本区域中为账户:AccountID 激活 AWS STS。您的账户管理员可以使用 IAM 控制台在本区域激活 AWS STS。”

问:从“Account Settings”页激活或禁用 AWS STS 区域需要什么权限?

仅至少具有 iam:* 权限的用户可以从 IAM 控制台的 Account Settings 页面激活或禁用 AWS STS 区域。请注意,美国东部 (弗吉尼亚北部)、AWS GovCloud (美国) 和中国 (北京) 三个区域中的 AWS STS 终端节点始终处于活动状态并且无法禁用。

问:我能否使用 API 或 CLI 来激活或禁用 AWS STS 区域?

不能。目前没有激活或禁用 AWS STS 区域的 API 或 CLI 支持。我们打算在未来的发行版中提供 API 和 CLI 支持。


问:什么是联合身份验证?
AWS Identity and Access Management (IAM) 支持联合身份验证,用于实现对 AWS 管理控制台或 AWS API 的授权访问。使用联合身份验证,外部身份可以安全访问您 AWS 账户中的资源,而无需创建 IAM 用户。这些外部身份可能来自您的企业身份提供商 (如 Microsoft Active Directory 或来自 AWS Directory Service) 或来自某个 Web 身份提供商 (如 Amazon CognitoLogin with AmazonFacebookGoogle 或任何 OpenID Connect 兼容提供商)。

问:什么是联合身份用户?
联合身份用户 (外部身份) 是指您的企业目录中在 AWS 外部管理的用户,但是这些用户已获得授权,可以使用临时安全凭证访问您的 AWS 账户。它们与 IAM 用户不同,后者在 AWS 账户中进行创建和维护。

问:是否支持 SAML?
是的,AWS 支持安全断言标记语言 (SAML) 2.0。

问:AWS 支持哪些 SAML 配置文件?
AWS 单点登录 (SSO) 终端节点支持 IdP 启动的 HTTP-POST 绑定 WebSSO SAML 配置文件。这样,联合用户就可以使用 SAML 断言登录到 AWS 管理控制台。SAML 断言还可用于使用 AssumeRoleWithSAML API 请求临时安全证书。有关更多信息,请参阅“关于基于 SAML 2.0 的联合身份验证”。

问:联合用户能否访问 AWS API?
能。您可以通过编程方式为联合用户提出临时安全证书请求,使之能安全地直接访问 AWS API。我们提供了一份示例应用程序并展示了如何启用身份联合,让通过 Microsoft Active Directory 维护的用户可以访问 AWS 服务 API。有关更多信息,请参阅“使用临时安全凭证以请求对 AWS 资源进行访问”。

问:联合用户能否访问 AWS 管理控制台?
能。可通过多种方式实现此目的。一种方式是通过编程为您的联合用户请求临时安全证书 (例如 GetFederationToken 或 AssumeRole),并将这些证书作为 AWS 管理控制台登录请求的一部分。当您验证了用户身份并授予其临时安全证书后,您可以生成登录令牌,以便在 AWS 单点登录 (SSO) 终端节点使用。在此控制台中,用户的操作仅限于与临时安全证书关联的访问控制策略所规定的范围。 有关更多详细信息,请参阅创建一个使联合身份用户能够访问 AWS 管理控制台 (自定义联合代理) 的 URL

或者,您可以将 SAML 断言直接发布到 AWS 登录 (https://signin.aws.amazon.com/saml)。在此控制台中,用户的操作仅限于与使用 SAML 断言承担的 IAM 角色关联的访问控制策略所规定的范围。有关更多详细信息,请参阅“使 SAML 2.0 联合身份用户能够访问 AWS 管理控制台”。

使用以上任一方法,联合身份用户都可直接访问控制台,而不必使用用户名和密码登录。我们提供了一份示例应用程序并展示了如何启用联合身份验证,让通过 Microsoft Active Directory 维护的用户可以访问 AWS 管理控制台。

问:如何控制联合用户登录控制台以后能够实施哪些操作?
当您使用 AssumeRole API 为联合用户请求临时安全证书时,您可以选择将访问策略包含在请求中。联合用户的特权是通过该请求传递的访问策略所授予的权限与担任的 IAM 角色所附访问策略授予的权限的交集。通过该请求传递的访问策略不能提升与所承担的 IAM 角色相关的特权。当您使用 GetFederationToken API 为联合用户请求临时安全证书时,您必须在请求中提供访问控制策略。联合用户的特权是通过该请求传递的访问策略所授予的权限与发出请求的 IAM 用户所附访问策略授予的权限的交集。通过请求传递的访问策略不能提升与发出请求的 IAM 用户相关的特权。这些联合用户权限适用于在 AWS 管理控制台内进行的 API 访问和操作。

问:联合用户需要具有什么权限才能使用控制台?
用户需要具有 AWS 管理控制台所调用的 AWS 服务 API 的权限。访问 AWS 服务所需的常用权限记录在“使用临时安全凭证以请求对 AWS 资源的访问权限”中。

问:如何控制联合身份用户访问 AWS 管理控制台的期限?
根据创建临时安全凭证时所用的 API,您可以将会话限制指定为 15 分钟到 36 小时 (对于 GetFederationToken 和 GetSessionToken) 和 15 到 12 小时 (对于 AssumeRole* API),联合身份用户可以在这一时间内访问控制台。会话过期时,联合身份用户必须返回您的身份提供商请求新的会话,您可以通过身份提供商再次授予其访问权限。了解有关设定会话期限的更多信息。

问:联合身份验证控制台会话超时会怎么样?
用户将会收到消息,表示该控制台会话已超时并且他们需要请求新的会话。您可以指定 URL 将用户定向到您的本地内部网页面,供他们请求新的会话。将 Issuer 参数指定为登录请求的一部分时,添加这一 URL。有关更多信息,请参阅“使 SAML 2.0 联合身份用户能够访问 AWS 管理控制台”。

问:可以向多少联合用户授予 AWS 管理控制台的访问权限?
访问该控制台的联合身份用户数量没有限制。

问:什么是 Web 联合身份验证?

Web 联合身份验证使您可以创建由 AWS 提供支持的移动应用程序,这些应用程序使用公共身份提供商 (如 Amazon CognitoLogin with AWSFacebookGoogle 或任何 OpenID Connect 兼容提供商) 进行身份验证。使用 Web 联合身份验证,无需写入任何服务器端代码,无需为应用程序分配长期 AWS 安全证书,即可将公共身份提供商 (IdP) 轻松集成到您的应用程序中。

有关 Web 联合身份验证及使用方法的更多信息,请参阅“关于 Web 联合身份验证”。

 

问:如何对来自公共 IdP 的账户启用联合身份验证?

为了获得最佳结果,请使用 Amazon Cognito 作为绝大部分 Web 联合身份验证方案的身份代理。Amazon Cognito 易于使用,并且提供了多种附加功能,例如匿名 (未经身份验证的) 访问,以及跨设备和提供商同步用户数据。但是,如果您已通过手动调用 AssumeRoleWithWebIdentity API 创建了使用 Web 联合身份验证的应用程序,也可继续使用它,您的应用程序仍能正常工作。

以下是使用某个受支持的 Web IdP 启用联合身份验证的基本步骤:

  1. 以开发人员身份注册到 IdP,然后使用向您提供应用程序的唯一 ID 的 IdP 来配置您的应用程序。
  2. 如果您使用与 OIDC 兼容的 IdP,请在 IAM 中为其创建身份提供商实体。
  3. 在 AWS 中,您可以创建一个或多个 IAM 角色。 
  4. 在应用程序中,使用公共 IdP 验证用户身份。
  5. 在应用程序中,对 AssumeRoleWithWebidentity API 进行未签名调用以请求临时安全凭证。 
  6. 使用您在 AssumeRoleWithWebidentity 响应中获得的临时安全证书,您的应用程序就可对 AWS API 发出已签名的请求。
  7. 您的应用程序会缓存临时安全证书,这样您就不需要每次在应用程序需要对 AWS 发出请求时获取新证书。

有关更多详细步骤,请参阅对移动应用程序使用 Web 联合身份验证 API

问:使用 AWS Directory Service 的联合身份验证与使用第三方身份管理解决方案的联合身份验证有何区别?

如果您只是想让联合用户访问 AWS 管理控制台,则 AWS Directory Service 提供的功能与第三方身份管理解决方案类似。终端用户可以使用现有的企业证书登录和访问 AWS 管理控制台。由于 AWS Directory Service 是一项托管服务,因此客户不需要设置或管理联合基础设施,而只需要创建一个 AD Connector 目录来与其内部的目录进行整合即可。如果您对向联合用户提供 AWS API 访问权限有兴趣,则您需要使用一种第三方产品或部署自己的代理服务器


问:AWS 账单是否提供用户的使用总量和费用明细?
不,当前不支持。

问:IAM 服务是否收费?
不收费。这是 AWS 账户提供的一项功能,不另外收费。

问:AWS 账户的用户产生的使用费由谁负责支付?
AWS 账户所有人控制账户中的所有用量、数据和资源并负责支付相关费用。

问:应计费用户的行为是否会记录在 AWS 使用数据中?
目前不会。但我们计划在今后推出这项功能。

问:IAM 和整合账单有什么异同?
IAM 和综合账单是互为补充的功能。整合账单让您可以通过指定一个付款账户,为公司中的多个 AWS 账户合并付款。IAM 的范畴与综合账单无关。受 AWS 账户制约的用户不能具有关联账户的权限。有关更多详细信息,请参阅“Paying Bills for Multiple Accounts Using Consolidated Billing”。

问:用户能否访问 AWS 账户的账单信息?
可以,唯一的前提是您允许他们这样做。为了使 IAM 用户能够访问账单信息,您必须首先授予对“Account Activity”或“Usage Reports”的访问权限。请参阅“Controlling Access”。


问:用户尝试访问尚未与 IAM 集成的服务时会发生什么情况?
服务会返回“访问被拒”错误。

问:是否已记录 IAM 操作以供审计使用?
是。通过激活 AWS CloudTrail,可记录 IAM 操作、STS 操作和 AWS 管理控制台登录。要了解 AWS 记录的更多信息,请参阅“AWS CloudTrail”。

问:人员和作为 AWS 实体的软件代理是否有什么区别?
没有区别,这两个实体可以像处理具有安全证书和权限的用户一样进行处理。然而,只有人可以使用在 AWS 管理控制台中使用密码。

问:用户是否可以使用 AWS Support 中心和 Trusted Advisor?
可以,IAM 用户能够创建和修改支持案例,并使用 Trusted Advisor。

问:IAM 是否有任何相关的默认配额限制?
是的。默认情况下,AWS 账户为所有 IAM 相关实体都设置了原始定额。有关详细信息,请参阅“针对 IAM 实体和对象的限制”。

这些配额会随时发生变化。如果您要求提升配额,可访问“联系我们”页面上的服务上限提升表,然后从上限类型下拉列表中选择 IAM 组和用户


问:什么是 AWS MFA?
AWS Multi-Factor Authentication (AWS MFA) 提供了额外的安全级别,可以应用于您的 AWS 环境。您可以为 AWS 账户以及在该账户下创建的各个 AWS Identity and Access Management (IAM) 用户启用 AWS MFA。

问:AWS MFA 的运行原理是什么?
AWS MFA 使用身份验证设备来连续生成一次性使用的随机六位数身份验证代码。使用 AWS MFA 设备进行身份验证主要有两种方式:

  • AWS 管理控制台用户:当已启用 MFA 的用户 登录 AWS 网站时,系统会要求他们输入 用户名 和密码 (第一安全要素 – 用户已知),以及来自其 AWS MFA 设备的身份验证代码 (第二安全要素 – 用户已有)。所有要求登录的 AWS 网站 (例如 AWS 管理控制台) 都完全支持 AWS MFA。此外,您也可以将 AWS MFA 与 Amazon S3 Secure Delete 配合使用,以便为 S3 存储版本获得额外保护。
  • AWS API 用户:可以通过在 IAM 策略中添加 MFA 限制来执行 MFA 身份验证。要访问以此方式加以保护的 API 和资源,开发人员可以请求临时安全证书并在其 AWS Security Token Service (STS) API 请求 (授予临时安全证书的服务) 中传递可选的 MFA 参数。可以使用经 MFA 验证的临时安全证书来调用 MFA 保护的 API 和资源。

问:如何使用 MFA 保护我的 AWS 资源?
请按以下两个简单步操作:

1. 获取身份验证设备。您有两种选择:

  • 从第三方提供商 Gemalto 购买硬件设备。
  • 在设备 (如智能手机) 上安装与 MFA 兼容的虚拟应用程序。

访问 AWS MFA 页面了解有关如何购置硬件或虚拟 MFA 设备的详细信息。

2. 拥有身份验证设备后,您必须在 IAM 控制台中将其激活。您也可以使用 IAM CLI 为 IAM 用户激活设备。

问:使用 AWS MFA 是否会产生相关费用?
AWS 不会因为 AWS 账户使用 AWS MFA 而额外收取任何费用。但是,如果要使用物理身份验证设备,则您需要通过第三方提供商 Gemalto 购买与 AWS MFA 兼容的身份验证设备。有关更多详细信息,请访问 Gemalto 的网站

问:是否可为 AWS 账户激活多个身份验证设备?
可以。每位 IAM 用户都拥有自己的身份验证设备。不过,每个身份 (IAM 用户或根账户) 只能与一个身份验证设备关联。

问:是否可将我的身份验证设备用于多个 AWS 账户?
不可以。身份验证设备或手机绑定到了各个 AWS 身份 (IAM 用户或根账户)。如果您的智能手机上安装了兼容 TOTP 的应用程序,则可以在相同的智能手机上创建多个虚拟 MFA 设备。就像硬件设备一样,每个虚拟 MFA 设备都绑定到了单个身份。如果您解除绑定 (停用) 身份验证设备,则可以通过另一个 AWS 身份来重新使用。身份验证设备无法同时被多个身份使用。

问:我在工作场所或使用的其他服务已拥有硬件身份验证设备,是否可将此设备重复用于 AWS MFA?
不可以。为支持身份验证设备的使用,AWS MFA 依赖于知道与身份验证设备关联的唯一密钥。由于控制此密钥的安全限制条件从不在多方之间共享,因此 AWS MFA 无法支持使用现有的硬件身份验证设备。AWS MFA 只能使用通过第三方提供商 Gemalto 购买的兼容硬件身份验证设备。

问:我在使用第三方提供商 Gemalto 的网站下达身份验证设备订单时遇到问题。从哪里可以获得帮助?
Gemalto 的客户服务可以为您提供帮助。

问:我从第三方提供商 Gemalto 收到的身份验证设备存在缺陷或已受损。从哪里可以获得帮助?
Gemalto 的客户服务可以为您提供帮助。

问:我刚从第三方提供商 Gemalto 收到身份验证设备。我应该怎么办?
您只需激活身份验证设备,为您的 AWS 账户启用 AWS MFA 即可。 请打开 IAM 控制台来执行这一任务。

问:什么是虚拟 MFA 设备?
虚拟 MFA 设备是在兼容 TOTP 的软件应用程序中创建的条目,可生成六位数身份验证代码。该软件应用程序可在任何兼容的计算设备 (如智能手机) 上运行。

问:虚拟 MFA 设备与物理 MFA 设备有何不同?
虚拟 MFA 设备与物理 MFA 设备采用相同的协议。虚拟 MFA 设备基于软件,可在您现有的设备 (例如,智能手机) 上运行。大多数虚拟 MFA 应用程序还允许您启用多个虚拟 MFA 设备,这使得它们比物理 MFA 设备更加方便。

问:哪些虚拟 MFA 应用程序可与 AWS MFA 配合使用?
可生成与 TOTP 兼容的身份验证代码的应用程序 (如 Google Authenticator 应用程序) 能够与 AWS MFA 配合使用。您可以使用两种虚拟 MFA 设备预配置方法:使用设备摄像头自动扫描 QR 代码,或通过虚拟 MFA 应用程序中的手动种子条目。

访问 MFA 页面获得支持的虚拟 MFA 应用程序列表。

问:什么是 QR 代码?
QR 代码是二维条形码,可由专门的 QR 条形码阅读器和大多数智能手机进行读取。该代码由白色背景下的大方形图案中排列的黑色方块组成。QR 代码包含在虚拟 MFA 应用程序中预配置虚拟 MFA 设备所需的安全配置信息。

问:如何预配置新的虚拟 MFA 设备?
您可以在 IAM 控制台中为 IAM 用户以及 AWS 根账户配置新的虚拟 MFA 设备。此外,还可以在 AWS CLI 中使用 aws iam create-virtual-mfa-device 命令或使用 CreateVirtualMFADevice API 在您的账户下预配置新的虚拟 MFA 设备。aws iam create-virtual-mfa-device 和 CreateVirtualMFADevice API 将返回所需的配置信息 (称为“种子”),以便在您与 AWS MFA 兼容的应用程序中配置虚拟 MFA 设备。您可以授予 IAM 用户直接调用此 API 的权限,或者为其执行初始预配置。

 

问:如何为虚拟 MFA 设备处理和分配种子材料?
您应将种子材料视为与任何其他密钥一样 (例如 AWS 密钥和密码)。

问:如何使 IAM 用户可以管理我账户下的虚拟 MFA 设备?
授予 IAM 用户调用 CreateVirtualMFADevice API 的权限。您可以使用此 API 预置新的虚拟 MFA 设备。

问:我是否仍可以申请对 SMS MFA 的预览使用权限?

对于 SMS MFA 预览版,我们不再接受新的参与者。我们鼓励您使用硬件或虚拟 MFA 设备在 AWS 账户上使用 MFA。

问:如何在预览时开始使用 SMS 选项?

如果您是现有 SMS MFA 参与者,可以导航至 IAM 控制台并为 IAM 用户启用 SMS MFA。此过程需要输入各 IAM 用户的电话号码。接下来,当 IAM 用户登录 AWS 管理控制台时,他们会通过标准 SMS 文本消息收到一个六位数的安全代码,且必须在登录过程中输入该代码。

问:从哪里启用 AWS MFA?
您可以在 IAM 控制台、AWS CLI 或通过调用 AWS API 来为 AWS 账户和您的 IAM 用户启用 AWS MFA。

问:要激活硬件或虚拟身份验证设备,需要哪些信息?
如果使用 IAM 控制台激活 MFA 设备,则只需该设备。如果使用 AWS CLI 或 IAM API,则需要以下信息:

1. 身份验证设备的序列号。序列号格式取决于您使用的是硬件设备还是虚拟设备:

– 硬件 MFA 设备:序列号位于设备背面的条形码标签上。
– 虚拟 MFA 设备:序列号为您在 AWS CLI 中运行 iam-virtualmfadevicecreate 命令或调用 CreateVirtualMFADevice API 时,所返回的 Amazon 资源名称 (ARN) 值。

2. 身份验证设备显示的两个连续的身份验证代码。

问:我的身份验证设备看起来运行正常,但我无法激活它。我应该怎么办?
联系我们获取帮助。

问:如果我为 AWS 根账户或 IAM 用户启用了 AWS MFA,他们是否始终需要使用身份验证代码才能登录 AWS 管理控制台?
是。无论何时需要登录任何 AWS 站点,AWS 根凭证用户和 IAM 用户都必须使用其 MFA 设备。

如果您的 MFA 设备丢失、受损、被盗或无法运行,您可以使用其他身份验证方式登录停用该 MFA 设备以及激活新的设备。作为一种安全性最佳实践,我们建议您更改您的根账户密码。

借助虚拟 MFA 和硬件 MFA,如果您的 IAM 用户丢失或损坏其身份验证设备,或者设备被盗或停止运行,您可以使用 IAM 控制台或 AWS CLI 自行禁用 AWS MFA。

问:如果我为 AWS 根账户或 IAM 用户启用了 AWS MFA,他们是否始终需要输入 MFA 代码才能直接调用 AWS API?
不是,它是可选的。不过,如果您计划调用由 MFA 保护的 API 访问保证安全的 API,则必须输入 MFA 代码。

如果使用 AWS 根账户或 IAM 的访问密钥调用 AWS API,则无需输入 MFA 代码。出于安全方面的原因,我们建议您删除 AWS 根账户的所有访问密钥,而使用具有所需权限的 IAM 用户的访问密钥调用 AWS API。

问:如何使用身份验证设备登录 AWS 门户网站或 AWS 管理控制台?
请遵循以下两个步骤:

如果您以 AWS 根账户身份登录,请在出现提示时像往常一样使用 用户名 和密码登录。要以 IAM 用户身份登录,请使用特定于账户的 URL,并在出现提示时提供 用户名 和密码。

在下一页,输入身份验证设备上显示的六位数身份验证代码。

问:AWS MFA 是否会影响我使用 AWS 服务 API 的方式?
仅在账户管理员选择启用 MFA 保护的 API 访问时,AWS MFA 才会更改 IAM 用户访问 AWS 服务 API 的方式。管理员可启用此功能,通过要求发起人使用 AWS MFA 设备进行身份验证对访问敏感 API 添加额外安全层。有关更多信息,请参阅 MFA 保护的 API 访问文档,了解详细信息。

其他例外情况包括 S3 PUT 存储桶版本控制、GET 存储桶版本控制和DELETE object API,它们可让您请求 MFA 身份验证来删除或更改存储桶的版本控制状态。有关更多信息,请参阅讨论使用 MFA Delete 配置存储段的 S3 文档,了解详细信息。

对于所有其他案例,AWS MFA 当前不会更改您访问 AWS 服务 API 的方式。

问:是否可多次使用给定的身份验证代码?
不可以。出于安全考虑,每个身份验证代码只能使用一次。

问:由于我的身份验证代码被拒,我最近被要求重新同步身份验证设备。这有问题吗?
不必担心,这种情况时而发生。AWS MFA 依赖于身份验证设备中的时钟与我们服务器中的时钟同步。有时,这些时钟会发生偏离。如果发生这种情况,当您使用身份验证设备登录以访问 AWS 网站或 AWS 管理控制台上的安全页面时,AWS 会通过请求您提供两个连续的身份验证代码来自动尝试重新同步身份验证设备 (与激活时的操作相同)。

问:我的身份验证设备看起来运行正常,但我无法使用它登录 AWS 管理控制台。我应该怎么办?
我们建议您重新同步 MFA 设备,以便获取您的 IAM 用户凭证。如果您已尝试重新同步,但仍然无法登录,您可以使用其他身份验证方式登录,并重置您的 MFA 设备。如果仍遇到问题,请联系我们以获取帮助。

问:如果由于我的身份验证设备丢失、受损、被盗或无法运行,而导致我现在无法登录 AWS 管理控制台。我应该怎么办?
如果您的身份验证设备已与 AWS 根账户关联:

问:如何禁用 AWS MFA?

要为 AWS 账户禁用 AWS MFA,您可以使用安全证书页面取消激活身份验证设备。要为 IAM 用户禁用 AWS MFA,您需要使用 IAM 控制台或 AWS CLI。

问:是否可在 GovCloud 中使用 AWS MFA。
是的,您可以在 GovCloud 中使用 AWS 虚拟 MFA 和硬件 MFA 设备。

问:什么是 MFA 保护的 API 访问?
MFA 保护的 API 访问是一种可选功能,可让账户管理员要求用户提供除密码以外的第二种身份验证要素,从而为特定于客户的 API 实施额外的身份验证。具体而言,管理员可通过该功能在其 IAM 策略中加入相应的条件,以便为访问所选 API 检查和要求 MFA 身份验证。调用这些 API 的用户必须首先获得表明用户已输入有效 MFA 代码的临时证书。

问:MFA 保护的 API 访问可解决什么问题?
之前,客户可以要求使用 MFA 来访问 AWS 管理控制台,但无法对直接与 AWS 产品 API 交互的开发人员和应用程序执行 MFA 要求。受 MFA 保护的 API 访问可确保普遍执行 IAM 策略,无论 访问路径 如何。因此,您现在可以开发自己的使用 AWS 的应用程序,并在调用功能强大的 API 或访问敏感资源之前提示用户进行 MFA 身份验证。

问:如何开始使用 MFA 保护的 API 访问?
您可以通过两个简单步骤开始使用:

  1. 为 IAM 用户分配 MFA 设备。您可以为智能手机、平板电脑或计算机购买硬件密钥卡或下载免费的 TOTP 兼容应用程序。请参阅 MFA 详情页面了解有关 AWS MFA 设备的更多信息。
  2. 通过为您希望要求 MFA 身份验证的 IAM 用户和/或 IAM 组创建权限策略,启用 MFA 保护的 API 访问。要了解更多有关访问策略语法的信息,请参阅访问策略语言文档。

问:开发人员和用户如何访问受 MFA 保护的 API 访问保护的 API?
开发人员和用户可在 AWS 管理控制台中以及使用 API 时与 MFA 保护的 API 访问交互。

在 AWS 管理控制台中,任何启用 MFA 的 IAM 用户必须使用其设备通过身份验证才能登录。没有 MFA 的用户不能获得 MFA 保护的 API 和资源的访问权限。

在 API 级别,开发人员可将 AWS MFA 与其应用程序集成,以便在调用功能强大的 API 或访问敏感资源之前提示用户使用其分配的 MFA 设备进行身份验证。开发人员启用此功能的方法为,向请求中添加可选的 MFA 参数 (序列号和 MFA 代码),获取临时安全证书 (此类请求也称为“会话请求”)。如果参数有效,将会返回表明 MFA 状态的临时安全证书。请参阅临时安全证书文档了解更多信息。

问:谁可以使用 MFA 保护的 API 访问?
所有 AWS 客户都可以免费使用 MFA 保护的 API 访问。

问:MFA 保护的 API 访问可用于哪些服务?
支持临时安全证书的所有 AWS 服务均支持 MFA 保护的 API 访问。要获得所支持服务的列表,请参阅“与 IAM 配合使用的 AWS 服务”,并查看标有“支持临时安全证书”的列。

问:当请求临时安全证书时,如果用户提供了错误的 MFA 设备信息,会怎么样?
针对发放临时安全证书的请求将会失败。指定 MFA 参数的临时安全证书请求必须提供与该 IAM 用户关联的设备的正确序列号以及有效的 MFA 代码。

问:MFA 保护的 API 访问是否控制 AWS 根账户的 API 访问?
不是,MFA 保护的 API 访问仅控制 IAM 用户的访问。根账户不受 IAM 策略约束,因此我们建议您创建 IAM 用户 (而不是使用 AWS 根账户证书) 与 AWS 服务 API 交互。

问:用户是否必须分配有 MFA 设备才能使用 MFA 保护的 API 访问?
是的,用户必须首先分配有唯一的硬件或虚拟 MFA 设备。

问:MFA 保护的 API 访问是否与 S3 数据元、SQS 队列以及 SNS 主题兼容?
是。

问:MFA 保护的 API 访问如何与现有的 MFA 使用案例 (例如 S3 MFA Delete) 交互?
MFA 保护的 API 访问与 S3 MFA Delete 彼此不进行交互。S3 MFA Delete 当前不支持临时安全证书。相反,要调用 S3 MFA Delete API,必须使用长期访问密钥。

问:MFA 保护的 API 访问是否可以在 GovCloud (美国) 地区中运行?
可以。

问:MFA 保护的 API 访问是否适用于联合用户?
客户无法使用 MFA 保护的 API 访问来控制联合用户的访问。GetFederatedSession API 不接受 MFA 参数。由于联合用户不能使用 AWS MFA 设备进行身份验证,因此他们无法访问使用 MFA 保护的 API 访问指定的资源。

问:使用 AWS IAM 时,我是否需要支付费用?

IAM 是 AWS 账户提供的一项功能,因此您无需支付额外费用。您只需为用户所用的其他 AWS 服务付费。