針對 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的識別和存取問題進行故障診斷

使用下列資訊可協助您診斷和修正使用和 IAM 時可能會遇到的 AWS IoT Greengrass 常見問題。

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

我沒有執行動作的授權 AWS IoT Greengrass

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

mateojackson IAM 使用者嘗試檢視核心定義版本的詳細資料,但沒有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 服務角色 (主控台)

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

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

裝置陰影與雲端不同步。

解決方案:確定 AWS IoT Greengrass 具有 Greengrass 服務角色中的權限iot:UpdateThingShadowiot:GetThingShadow動作。如果服務角色使用 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,您必須將權限授與需要存取權的人員或應用程式。如果您使用 AWS IAM Identity Center 來管理人員和應用程式,您可以將權限集指派給使用者或群組,以定義其存取層級。權限集會自動建立 IAM 政策,並將其指派給與個人或應用程式相關聯的 IAM 角色。如需詳細資訊,請參閱《AWS IAM Identity Center 使用指南》中的〈權限集

如果您未使用 IAM 身分中心,則必須為需要存取的人員或應用程式建立 IAM 實體 (使用者或角色)。您接著必須將政策連接到實體,在 AWS IoT Greengrass中授予他們正確的許可。授與權限後,將認證提供給使用者或應用程式開發人員。他們將使用這些憑據來訪問 AWS。若要進一步了解如何建立 IAM 使用者、群組、政策和許可,請參閱 IAM 使用者指南中的 IAM 身分和政策和許可。

我想允許我以外的人訪 AWS 帳戶 問我的 AWS IoT Greengrass 資源

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

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