

终止支持通知：2026 年 10 月 7 日， AWS 将停止对的支持。 AWS IoT Greengrass Version 1 2026 年 10 月 7 日之后，您将无法再访问这些 AWS IoT Greengrass V1 资源。如需了解更多信息，请访问[迁移自 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

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

# 对身份和访问问题进行故障排除 AWS IoT Greengrass
<a name="security_iam_troubleshoot"></a>

使用以下信息来帮助您诊断和修复在使用 AWS IoT Greengrass 和 IAM 时可能遇到的常见问题。

**Topics**
+ [我无权在中执行操作 AWS IoT Greengrass](#security_iam_troubleshoot-no-permissions)
+ [错误：未授权 Greengrass 担任与该账户相关的服务角色，或错误：失败：TES 服务角色未与此账户关联。](#troubleshoot-assume-service-role)
+ [错误：尝试使用角色 arn:aws:iam::<account-id>:role/<role-name> 访问 s3 url 时权限被拒绝 https://<region>-greengrass-updates.s3.<region>.amazonaws.com/core/<architecture>/greengrass-core-<distribution-version>.tar.gz。](#troubleshoot-ota-region-access)
+ [设备影子未与云同步。](#troubleshoot-shadow-sync)
+ [我无权执行 iam：PassRole](#security_iam_troubleshoot-passrole)
+ [我是一名管理员，想允许其他人访问 AWS IoT Greengrass](#security_iam_troubleshoot-admin-delegate)
+ [我想允许我以外的人进入 AWS 账户 访问我的 AWS IoT Greengrass 资源](#security_iam_troubleshoot-cross-account-access)

有关一般故障排除帮助，请参阅[问题排查 AWS IoT Greengrass](gg-troubleshooting.md)。

## 我无权在中执行操作 AWS IoT Greengrass
<a name="security_iam_troubleshoot-no-permissions"></a>

如果您收到错误消息，提示您无权执行操作，必须联系您的管理员寻求帮助。您的管理员是指为您提供用户名和密码的那个人。

当 `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 请求他的管理员更新其策略，以允许他使用 `greengrass:GetCoreDefinitionVersion` 操作访问 `arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/cores/78cd17f3-bc68-ee18-47bd-5bda5EXAMPLE/versions/368e9ffa-4939-6c75-859c-0bd4cEXAMPLE` 资源。

## 错误：未授权 Greengrass 担任与该账户相关的服务角色，或错误：失败：TES 服务角色未与此账户关联。
<a name="troubleshoot-assume-service-role"></a>

**解决方案：**当部署失败时，您可能会看到此错误。检查 Greengrass 服务角色是否与您在当前 AWS 区域中的 AWS 账户 相关联。有关更多信息，请参阅 [管理 Greengrass 服务角色 (CLI)](service-role.md#manage-service-role-cli)或 [管理 Greengrass 服务角色（控制台）](service-role.md#manage-service-role-console)。

## 错误：尝试使用角色 arn:aws:iam::<account-id>:role/<role-name> 访问 s3 url 时权限被拒绝 https://<region>-greengrass-updates.s3.<region>.amazonaws.com/core/<architecture>/greengrass-core-<distribution-version>.tar.gz。
<a name="troubleshoot-ota-region-access"></a>

**解决方案：**当无线 (OTA) 更新失败时，您可能会看到此错误。在签署人角色策略中，将目标 AWS 区域 添加为 `Resource`。此签名者角色用于预签名 AWS IoT Greengrass 软件更新的 S3 URL。有关更多信息，请参阅 [S3 URL 签署人角色](core-ota-update.md#s3-url-signer-role)。

## 设备影子未与云同步。
<a name="troubleshoot-shadow-sync"></a>

**解决方案：**确保该角色 AWS IoT Greengrass 具有 [Greengrass](service-role.md) 服务角色的权限`iot:UpdateThingShadow`和`iot:GetThingShadow`操作。如果服务角色使用 `AWSGreengrassResourceAccessRolePolicy` 托管策略，则在默认情况下包含这些权限。

请参阅[影子同步超时问题排查](gg-troubleshooting.md#troubleshooting-shadow-sync)。

以下是您在使用 AWS IoT Greengrass时可能会遇到的一般 IAM 问题。

## 我无权执行 iam：PassRole
<a name="security_iam_troubleshoot-passrole"></a>

如果您收到一个错误，表明您无权执行 `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
<a name="security_iam_troubleshoot-admin-delegate"></a>

要允许其他人访问 AWS IoT Greengrass，您必须向需要访问的人员或应用程序授予权限。如果使用 AWS IAM Identity Center 管理人员和应用程序，则可以向用户或组分配权限集来定义其访问权限级别。权限集会自动创建 IAM 策略并将其分配给与人员或应用程序关联的 IAM 角色。有关更多信息，请参阅《AWS IAM Identity Center 用户指南》**中的[权限集](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)。

如果未使用 IAM Identity Center，则必须为需要访问的人员或应用程序创建 IAM 实体（用户或角色）。然后，您必须将策略附加到实体，以便在 AWS IoT Greengrass中向其授予正确的权限。授予权限后，向用户或应用程序开发人员提供凭证。他们将使用这些凭证访问 AWS。要了解有关创建 IAM 用户、组、策略和权限的更多信息，请参阅《IAM 用户指南》**中的 [IAM 身份](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)和 [IAM 中的策略和权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。

## 我想允许我以外的人进入 AWS 账户 访问我的 AWS IoT Greengrass 资源
<a name="security_iam_troubleshoot-cross-account-access"></a>

您可以创建一个 IAM 角色，其他账户中的用户或组织以外的人员可以使用该角色来访问您的 AWS 资源。您可以指定谁值得信赖，可以带入角色。有关更多信息，请参阅 [IAM 用户指南中的向您拥有的另一个 AWS 账户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) *IAM 用户提供访问权限和提供第三方拥有的 A* [mazon Web Services 账户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)的访问权限。

AWS IoT Greengrass 不支持基于基于资源的策略或访问控制列表 (ACL) 的跨账户访问。