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 でアクションを実行する権限がありません。
アクションを実行する権限がないというエラーが表示された場合、管理者に問い合わせてサポートを依頼する必要があります。お客様のユーザー名とパスワードを発行したのが、担当の管理者です。
以下の例のエラーは、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 is not authorized to assume the Service Role associated with this account, or the error: Failed: TES service role is not associated with this account.
解決策: デプロイに失敗した場合に、このエラーが表示されることがあります。Greengrass サービスロールが、現在の AWS リージョンの AWS アカウントに関連付けられていることを確認します。詳細については、「Greengrass サービスロールの管理 (CLI)」または「Greengrass サービスロールの管理 (コンソール)」を参照してください。
エラー: Permission denied when attempting to use role arn:aws:iam::<account-id>:role/<role-name> to access s3 url https://<region>-greengrass-updates.s3.<region>.amazonaws.com/core/<architecture>/greengrass-core-<distribution-version>.tar.gz.
解決策: 無線通信 (OTA) での更新が失敗した場合に、このエラーが表示されることがあります。署名者ロールポリシーで、ターゲット AWS リージョンを Resource
として追加します。この署名者ロールは、AWS IoT Greengrass ソフトウェア更新の S3 URL の事前署名に使用されます。詳細については、「S3 URL の署名者ロール」を参照してください。
デバイスシャドウがクラウドと同期していない。
解決策: Greengrass サービスロールで AWS IoT Greengrass に iot:UpdateThingShadow
および iot:GetThingShadow
アクションへのアクセス許可があることを確認します。サービスロールで AWSGreengrassResourceAccessRolePolicy
管理ポリシーを使用している場合は、これらのアクセス許可はデフォルトで含まれています。
「シャドウ同期タイムアウト問題のトラブルシューティング」を参照してください。
以下は、AWS IoT Greengrass を操作するときに発生する可能性がある一般的な IAM の問題です。
iam: PassRole を実行する権限がない
iam:PassRole
アクションを実行する権限がないというエラーが表示された場合は、ポリシーを更新して AWS IoT Greengrass にロールを渡すことができるようにする必要があります。
一部の AWS のサービスでは、新しいサービスロールやサービスリンクロールを作成せずに、既存のロールをサービスに渡すことができます。そのためには、サービスにロールを渡す権限が必要です。
以下の例のエラーは、marymajor
という IAM ユーザーがコンソールを使用して AWS IoT Greengrass でアクションを実行しようする場合に発生します。ただし、このアクションをサービスが実行するには、サービスロールから付与された権限が必要です。メアリーには、ロールをサービスに渡す許可がありません。
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 アイデンティティ」および「IAM でのポリシーとアクセス許可」を参照してください。
自分の AWS アカウント 以外のユーザーに AWS IoT Greengrass リソースへのアクセスを許可したい
他のアカウントのユーザーや組織外のユーザーが、AWS リソースへのアクセスに使用できる IAM ロールを作成できます。ロールを引き受けるように信頼されたユーザーを指定することができます。詳細については、「IAM ユーザーガイド」の「所有している別の AWS アカウント へのアクセス権を IAM ユーザーに提供」と「Providing access to Amazon Web Services accounts owned by third parties」(第三者が所有するアマゾン ウェブ サービスアカウントへのアクセスを提供) を参照してください。
AWS IoT Greengrass は、リソースベースのポリシーまたはアクセスコントロールリスト (ACL) に基づくクロスアカウントアクセスをサポートしていません。