

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在离线时对客户端进行身份验证
<a name="offline-authentication"></a>

通过*离线身份验证*，您可以配置您的 AWS IoT Greengrass 核心设备，以便即使核心设备未连接到云端，客户端设备也可以连接到核心设备。当您使用离线身份验证时，Greengrass 设备可以在部分离线环境中继续工作。

要对连接到云的客户端设备使用离线身份验证，需要满足以下条件：
+ 部署了[客户端设备身份验证](client-device-auth-component.md)组件的 AWS IoT Greengrass 核心设备。必须使用版本 2.3.0 或更高版本才能进行离线身份验证。
+ 在客户端设备初始连接期间，对核心设备进行云连接。

## 存储客户端凭证
<a name="offline-auth-store-credentials"></a>

当客户端设备首次连接到核心设备时，核心设备会调用该 AWS IoT Greengrass 服务。当被调用时，Greengrass 会将客户端设备的注册作为 AWS IoT 事物进行验证。它还会验证设备是否具有有效证书。然后，核心设备将这些信息存储在本地。

设备下次连接时，Greengrass 核心设备会尝试使用服务验证客户端设备。 AWS IoT Greengrass 如果无法连接 AWS IoT Greengrass，则核心设备将使用其本地存储的设备信息来验证客户端设备。

您可以配置 Greengrass 核心设备存储凭证的时长。通过在[客户端设备身份验证组件配置](https://docs.aws.amazon.com//greengrass/v2/developerguide/client-device-auth-component.html#client-device-auth-component-configuration)中设置 `clientDeviceTrustDurationMinutes` 配置选项，您可以将超时时间从 1 分钟设置为 2,147,483,647 分钟。默认值为 1 分钟，这实际上会关闭离线身份验证。在设置此超时时，建议您考虑安全需求。您还应该考虑核心设备在与云断开连接时预计能运行多长时间。

核心设备会三次更新其凭证存储：

1. 当设备首次连接到核心设备时。

1. 如果核心设备已连接到云，则当客户端设备重新连接到核心设备时。

1. 如果核心设备已连接到云，则每天一次刷新整个凭证存储。

当 Greengrass 核心设备刷新其凭据存储区时，它会使用该操作。[ ListClientDevicesAssociatedWithCoreDevice](https://docs.aws.amazon.com//greengrass/v2/APIReference/API_ListClientDevicesAssociatedWithCoreDevice.html)Greengrass 仅刷新此操作返回的设备。要将客户端设备与核心设备关联，请参阅[关联客户端设备](associate-client-devices.md)。

要使用该`ListClientDevicesAssociatedWithCoreDevice`操作，您必须向与运行的关联的 AWS Identity and Access Management (IAM) 角色添加操作权限 AWS IoT Greengrass。 AWS 账户 有关更多信息，请参阅 [授权核心设备与 AWS 服务交互](device-service-role.md)。