

# 使用密钥或安全密钥的受支持配置
<a name="id_credentials_mfa_fido_supported_configurations"></a>

您可以通过使用当前支持的配置，将 FIDO2 设备绑定密钥（也称为安全密钥）配置为 IAM 的多重身份验证（MFA）方法。这包括 IAM 支持的 FIDO2 设备及支持 FIDO2 的浏览器。在注册 FIDO2 设备之前，请确认您使用的是最新版本的浏览器和操作系统（OS）。相关功能在不同的浏览器、身份验证器和操作系统客户端上可能有不同的行为。如果您的设备在一种浏览器上注册失败，则可以尝试使用其他浏览器注册。

FIDO2 是开放身份验证标准，作为 FIDO U2F 的扩展，基于公有密钥加密提供同样高级别的安全性。FIDO2 由 W3C Web 身份验证规范（WebAuthn API）和 FIDO 联盟客户端到身份验证器协议（CTAP，一种应用程序层协议）组成。CTAP 支持客户端或平台（如浏览器或操作系统）与外部身份验证器之间进行通信。当您在 AWS 中启用经 FIDO 认证的身份验证器时，安全密钥会创建仅适用于 AWS 的新密钥对。首先，输入您的凭证。出现提示时，点击安全密钥，这会响应 AWS 发出的身份验证质询。要了解有关 FIDO2 标准的更多信息，请参阅 [FIDO2 项目](https://en.wikipedia.org/wiki/FIDO2_Project)。

## AWS 支持的 FIDO2 设备
<a name="id_credentials_mfa_fido_supported_devices"></a>

IAM 支持 FIDO2 安全设备，这些设备可通过 USB、Bluetooth或 NFC 连接到您的设备。IAM 还支持 TouchID 或 FaceID 等平台身份验证器。IAM 不支持 Windows Hello 的本地密钥注册。若要创建和使用密钥，Windows 用户应使用[跨设备身份验证](https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda)，即使用来自一台设备（例如移动设备）的密钥或硬件安全密钥在另一台设备（如笔记本电脑）上登录。

**注意**  
AWS 需要访问您的计算机上的物理 USB 端口以验证您的 FIDO2 设备。安全密钥不支持虚拟机、远程连接或浏览器的无痕模式。

FIDO 联盟维护一份与 FIDO 规范兼容的所有 [FIDO2 产品](https://fidoalliance.org/certification/fido-certified-products/)的列表。

## 支持 FIDO2 的浏览器
<a name="id_credentials_mfa_fido_browsers"></a>

FIDO2 安全设备能否在 Web 浏览器中运行，取决于具体的浏览器和操作系统组合。以下浏览器当前支持使用安全密钥：


****  

| Web 浏览器 | macOS 10.15\$1 | Windows 10 | Linux | iOS 14.5\$1 | Android 7\$1 | 
| --- | --- | --- | --- | --- | --- | 
| Chrome | 支持 | 是 | 是 | 是 | 否 | 
| Safari | 是 | 否 | 否 | 是 | 否 | 
| Edge | 是 | 是 | 否 | 是 | 否 | 
| Firefox | 支持 | 是 | 否 | 是 | 否 | 

**注意**  
当前支持 FIDO2 的大多数 Firefox 版本默认情况下不会启用支持。有关在 Firefox 中启用 FIDO2 支持的说明，请参阅 [排查通行密钥和 FIDO 安全密钥问题](troubleshoot_mfa-fido.md)。  
macOS 上的 Firefox 可能不完全支持通行密钥的跨设备身份验证工作流程。系统可能会提示您触摸安全密钥，而不是继续进行跨设备身份验证。建议使用其他浏览器（例如 Chrome 或 Safari）在 macOS 上使用通行密钥登录。

要详细了解支持 FIDO2 认证设备（如 YubiKey）的浏览器，请参阅 [Operating system and web browser support for FIDO2 and U2F](https://support.yubico.com/hc/en-us/articles/360016615020-Operating-system-and-web-browser-support-for-FIDO2-and-U2F)。

### 浏览器插件
<a name="id_credentials_mfa_fido_plugins"></a>

AWS 仅支持原生支持 FIDO2 的浏览器。AWS 不支持使用插件来添加 FIDO2 浏览器支持。某些浏览器插件与 FIDO2 标准不兼容，这可能会导致 FIDO2 安全密钥产生意外结果。

有关禁用浏览器插件和其他问题排查提示的信息，请参阅[我无法启用我的 FIDO 安全密钥](troubleshoot_mfa-fido.md#troubleshoot_mfa-fido-cant-enable)。

## 设备认证
<a name="id_credentials_mfa_fido_certifications"></a>

我们仅在注册安全密钥期间捕获和分配与设备相关的认证，例如 FIPS 验证和 FIDO 认证级别。从 [FIDO Alliance Metadata Service（MDS）](https://fidoalliance.org/metadata/)获取设备认证。如果您的安全密钥的认证状态或级别发生变化，则不会自动反映在设备标签中。要更新设备的认证信息，请再次注册设备，以获取更新的认证信息。

AWS 在设备注册期间提供以下认证类型作为条件密钥，从 FIDO MDS 获得：FIPS-140-2、FIPS-140-3 和 FIDO 认证级别。您可以根据首选认证类型和级别，在其 IAM policy 中指定特定身份验证器的注册。有关更多信息，请参阅下面的策略。

### 设备认证策略示例
<a name="id_credentials_mfa_fido_certifications_policies"></a>

以下用例显示允许您为 MFA 设备注册 FIPS 认证的示例策略。

**Topics**
+ [用例 1：只允许注册通过 FIPS-140-2 L2 认证的设备](#id_credentials_mfa_fido_certifications_policies_use_case_1)
+ [用例 2：允许注册通过 FIPS-140-2 L2 和 FIDO L1 认证的设备](#id_credentials_mfa_fido_certifications_policies_use_case_2)
+ [用例 3：允许注册通过 FIPS-140-2 L2 或 FIPS-140-3 L2 认证的设备](#id_credentials_mfa_fido_certifications_policies_use_case_3)
+ [使用案例 4：允许已通过 FIPS-140-2 L2 认证并支持其他 MFA 类型（例如虚拟身份验证器和硬件 TOTP）的设备注册](#id_credentials_mfa_fido_certifications_policies_use_case_4)

#### 用例 1：只允许注册通过 FIPS-140-2 L2 认证的设备
<a name="id_credentials_mfa_fido_certifications_policies_use_case_1"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2"
                }
            }
        }
    ]
}
```

------

#### 用例 2：允许注册通过 FIPS-140-2 L2 和 FIDO L1 认证的设备
<a name="id_credentials_mfa_fido_certifications_policies_use_case_2"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2",
                    "iam:FIDO-certification": "L1"
                }
            }
        }
    ]
}
```

------

#### 用例 3：允许注册通过 FIPS-140-2 L2 或 FIPS-140-3 L2 认证的设备
<a name="id_credentials_mfa_fido_certifications_policies_use_case_3"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-3-certification": "L2"
                }
            }
        }
    ]
}
```

------

#### 使用案例 4：允许已通过 FIPS-140-2 L2 认证并支持其他 MFA 类型（例如虚拟身份验证器和硬件 TOTP）的设备注册
<a name="id_credentials_mfa_fido_certifications_policies_use_case_4"></a>

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:RegisterSecurityKey": "Create"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:RegisterSecurityKey": "Activate",
          "iam:FIDO-FIPS-140-2-certification": "L2"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "Null": {
          "iam:RegisterSecurityKey": "true"
        }
      }
    }
  ]
}
```

------

## AWS CLI 和 AWS API
<a name="id_credentials_mfa_fido_cliapi"></a>

AWS 支持仅在 AWS 管理控制台 中使用密钥或安全密钥。在 [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/) 和 [AWS API](https://aws.amazon.com/tools/) 中不支持使用密钥和安全密钥进行 MFA，也不支持使用密钥和安全密钥访问 [MFA 保护的 API 操作](id_credentials_mfa_configure-api-require.md)。

## 其他资源
<a name="id_credentials_mfa_fido_additional_resources"></a>
+ 有关在 AWS 中使用密钥和安全密钥的更多信息，请参阅 [在 AWS 管理控制台 中分配密钥或安全密钥](id_credentials_mfa_enable_fido.md)。
+ 有关在 AWS 中对密钥和安全密钥进行故障排除的帮助信息，请参阅 [排查通行密钥和 FIDO 安全密钥问题](troubleshoot_mfa-fido.md)。
+ 有关 FIDO2 支持的一般行业信息，请参阅 [FIDO2 项目](https://en.wikipedia.org/wiki/FIDO2_Project)。