針對 AWS IoT Greengrass 的識別和存取問題進行故障診斷 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 於 2023 年 6 月 30 日進入延長使用壽命階段。如需詳細資訊,請參閱AWS IoT Greengrass V1 維護政策。在此日期之後, AWS IoT Greengrass V1 將不會發行提供功能、增強功能、錯誤修正或安全性修補程式的更新。在上運行的設備 AWS IoT Greengrass V1 不會中斷,並將繼續運行並連接到雲。我們強烈建議您移轉至 AWS IoT Greengrass Version 2,這會增加重要的新功能,並支援其他平台

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

針對 AWS IoT Greengrass 的識別和存取問題進行故障診斷

請使用以下資訊來協助您診斷和修復使用 AWS IoT Greengrass 和 IAM 時發生的常見問題。

如需一般的故障診斷協助,請參閱 AWS IoT Greengrass 疑難排解

我未獲授權在 AWS IoT Greengrass 中執行動作

若您收到指出您未獲授權執行動作的錯誤,您必須聯絡管理員以取得協助。您的管理員是提供您使用者名稱和密碼的人員。

下面的例子發生錯誤時mateojacksonIAM 使用者嘗試檢視核心定義版本的詳細資料,但沒有greengrass:GetCoreDefinitionVersion許可。

User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: greengrass:GetCoreDefinitionVersion on resource: resource: arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/cores/78cd17f3-bc68-ee18-47bd-5bda5EXAMPLE/versions/368e9ffa-4939-6c75-859c-0bd4cEXAMPLE

在此情況下,Mateo 會請求管理員更新他的政策,允許他使用 arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/cores/78cd17f3-bc68-ee18-47bd-5bda5EXAMPLE/versions/368e9ffa-4939-6c75-859c-0bd4cEXAMPLE 動作存取 greengrass:GetCoreDefinitionVersion 資源。

錯誤:Greengrass 未獲授權承擔與此帳戶相關聯的服務角色,或出現以下錯誤:失敗:TES 服務角色與此帳戶沒有關聯。

解決方案:您可能會在部署失敗時看到此錯誤。檢查 Greengrass 服務角色是否已建立關聯AWS 帳戶在最新的AWS 區域。如需詳細資訊,請參閱管理 Greengrass 服務角色 (CLI)管理 Greengrass 服務角色 (主控台)

錯誤:當嘗試使用角色 arn: aw:iam::: 角色/<account-id><role-name>訪問 s3 網址 https: //-greengrass-更新.s3 時,權限被拒絕<region>。 <region>.亞馬遜<architecture><distribution-version>公司/核心//核心-核心-.

解決方案:您可能會看到此錯誤 over-the-air (OTA) 更新失敗。在簽署者角色原則中,新增目標AWS 區域作為Resource。簽署者角色用於預先簽署 S3 URL,以便進行 AWS IoT Greengrass 軟體更新。如需詳細資訊,請參閱 S3 URL 簽署者角色

裝置陰影與雲端不同步。

解決方案:確定已AWS IoT Greengrass具有的權限iot:UpdateThingShadowiot:GetThingShadow中的動作Greengrass 服務角色。如果服務角色使用 AWSGreengrassResourceAccessRolePolicy 受管政策,預設會包含這些權限。

請參閱陰影同步逾時問題故障診斷

以下是使用時可能遇到的 IAM 問題AWS IoT Greengrass。

我未獲授權執行 iam:PassRole

如果您收到錯誤,告知您未獲授權執行 iam:PassRole 動作,您的政策必須更新,允許您將角色傳遞給 AWS IoT Greengrass。

有些 AWS 服務 允許您傳遞現有的角色至該服務,而無須建立新的服務角色或服務連結角色。若要執行此作業,您必須擁有將角色傳遞至該服務的許可。

當名為 marymajor 的 IAM 使用者嘗試使用主控台在 AWS IoT Greengrass 中執行動作時,發生下列範例錯誤。但是,動作要求服務具備服務角色授予的許可。Mary 沒有將角色傳遞至該服務的許可。

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

在這種情況下,Mary 的政策必須更新,允許她執行 iam:PassRole 動作。

如需任何協助,請聯絡您的 AWS​ 管理員。您的管理員提供您的登入憑證。

我是管理員,並且想要允許其他人存取 AWS IoT Greengrass

若要允許其他人存取 AWS IoT Greengrass,您必須針對需要存取的人員或應用程式建立 IAM 實體 (使用者或角色)。他們將使用該實體的憑證來存取 AWS。您接著必須將政策連接到實體,在 AWS IoT Greengrass 中授予他們正確的許可。

若要立即開始使用,請參閱《IAM 使用者指南》中的建立您的第一個 IAM 委派使用者及群組

我想要允許 AWS 帳戶 外的人員存取我的 AWS IoT Greengrass 資源

您可以建立 IAM 角色,讓其他帳戶中的使用者或您組織外部的人員使用它來存取您的人員存取您的人員存取權AWS資源。您可以指定要允許哪些信任對象擔任該角色。如需詳細資訊,請參閱《》在另一個使用者中提供 IAM 使用者存取權AWS 帳戶您擁有的提供由第三方持有之 Amazon Web Services 帳戶的存取權限IAM User Guide

AWS IoT Greengrass 不支援以資源為基礎的政策或存取控制清單 (ACL) 為基礎的跨帳戶存取。