在 Amazon CLI 或 Amazon API 中分配 MFA 设备
您可以使用 Amazon CLI 命令或 Amazon API 操作为 IAM 用户启用虚拟 MFA 设备。您无法使用 Amazon CLI、Amazon API、Tools for Windows PowerShell 或任何其他命令行工具为 Amazon Web Services 账户根用户 启用 MFA 设备。不过,可以使用 Amazon Web Services Management Console 为根用户启用 MFA 设备。
当您从 Amazon Web Services Management Console启用 MFA 设备时,控制台会为您执行多个步骤。如果您改用 Amazon CLI、Tools for Windows PowerShell 或 Amazon API 创建虚拟设备,则必须按正确的顺序手动执行这些步骤。例如,要创建虚拟 MFA 设备,您必须创建 IAM 对象,将代码提取为字符串或 QR 代码图形。然后,您必须同步该设备并将其与 IAM 用户关联。有关更多详细信息,请参阅 New-IAMVirtualMFADevice 的 Examples(示例)部分。对于物理设备,您可以跳过创建步骤,直接同步该设备并将其与用户关联。
您可以将标签附加到 IAM 资源(包括虚拟 MFA 设备),以识别、组织和控制对这些资源的访问。只有在使用 Amazon CLI 或 Amazon API 时,才能标记虚拟 MFA 设备。
使用 SDK 或 CLI 的 IAM 用户可以通过调用 EnableMFADevice
来启用其他 MFA 设备,也可以通过调用 DeactivateMFADevice
来停用现有的 MFA 设备。要成功执行此操作,用户必须首先调用 GetSessionToken
并使用一个现有的 MFA 设备提交 MFA 代码。此调用将会返回临时安全凭证,然后才可以使用这些凭证对需要 MFA 身份验证的 API 操作进行签名。有关示例请求和响应,请参阅 GetSessionToken
– 不可信环境中用户的临时凭证。
在 IAM 中创建虚拟设备实体来代表虚拟 MFA 设备
这些命令提供在以下很多命令中代替序列号的设备 ARN。
-
Amazon CLI:
aws iam create-virtual-mfa-device
-
Amazon API:
CreateVirtualMFADevice
启用 MFA 设备,以便在 Amazon 上使用
这些命令将设备与 Amazon 同步,并将其与用户关联。如果设备是虚拟设备,则将虚拟设备的 ARN 用作序列号。
重要
在生成身份验证代码后立即提交您的请求。如果生成代码后等待很长时间才提交请求,MFA 设备会成功与用户关联,但 MFA 设备无法同步。这是因为基于时间的一次性密码 (TOTP) 很快会过期。如果发生这种情况,可以使用下面介绍的命令重新同步设备。
-
Amazon CLI:
aws iam enable-mfa-device
-
Amazon API:
EnableMFADevice
停用设备
使用这些命令可取消设备与用户的关联并停用设备。如果设备是虚拟设备,则将虚拟设备的 ARN 用作序列号。您还必须单独删除虚拟设备实体。
-
Amazon CLI:
aws iam deactivate-mfa-device
-
Amazon API:
DeactivateMFADevice
列出虚拟 MFA 设备实体
使用以下命令列出虚拟 MFA 设备实体。
-
Amazon CLI:
aws iam list-virtual-mfa-devices
-
Amazon API:
ListVirtualMFADevices
要标记虚拟 MFA 设备
使用这些命令来标记虚拟 MFA 设备。
-
Amazon CLI:
aws iam tag-mfa-device
-
Amazon API:
TagMFADevice
要为虚拟 MFA 设备列出标签
使用这些命令列出附加到虚拟 MFA 设备的标签。
-
Amazon CLI:
aws iam list-mfa-device-tags
-
Amazon API:
ListMFADeviceTags
要取消虚拟 MFA 设备的标签
使用这些命令删除附加到虚拟 MFA 设备的标签。
-
Amazon CLI:
aws iam untag-mfa-device
-
Amazon API:
UntagMFADevice
重新同步 MFA 设备
如果设备生成的代码不被 Amazon 接受,则使用这些命令。如果设备是虚拟设备,则将虚拟设备的 ARN 用作序列号。
-
Amazon CLI:
aws iam resync-mfa-device
-
Amazon API:
ResyncMFADevice
删除 IAM 中的虚拟 MFA 设备实体
在取消设备与用户的关联后,可以删除设备实体。
-
Amazon CLI:
aws iam delete-virtual-mfa-device
-
Amazon API:
DeleteVirtualMFADevice
恢复丢失或无法正常工作的虚拟 MFA 设备
有时,托管虚拟 MFA 应用程序的用户设备丢失、更换或无法正常工作。在这种情况下,用户无法自行将其恢复。该用户必须与管理员联系,才能将设备停用。有关更多信息,请参阅 在 IAM 中恢复受 MFA 保护的身份。