

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 離線時驗證用戶端
<a name="offline-authentication"></a>

透過*離線身分驗證*，您可以設定您的 AWS IoT Greengrass Core 裝置，讓用戶端裝置可以連線至核心裝置，即使核心裝置未連線至雲端也一樣。當您使用離線身分驗證時，您的 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`組態選項，將逾時從一分鐘設定為 2，147，483，647 分鐘。預設值為一分鐘，可有效關閉離線身分驗證。當您設定此逾時時，我們建議您考慮安全需求。您也應該考慮在與雲端中斷連線時，預期核心裝置執行的時間長度。

核心裝置會更新其登入資料儲存三次：

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 帳戶 角色 AWS IoT Greengrass。如需詳細資訊，請參閱[授權核心裝置與 AWS 服務互動](device-service-role.md)。