サポート終了通知: 2026 年 10 月 7 日、 AWS はサポートを終了します AWS IoT Greengrass Version 1。2026 年 10 月 7 日以降、 AWS IoT Greengrass V1 リソースにアクセスできなくなります。詳細については、「 からの移行 AWS IoT Greengrass Version 1」を参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
が IAM と AWS IoT Greengrass 連携する方法
IAM を使用して へのアクセスを管理する前に AWS IoT Greengrass、 で使用できる IAM の機能を理解しておく必要があります AWS IoT Greengrass。
IAM の機能 |
Greengrass によってサポートされていますか。 |
|---|---|
| あり | |
| なし | |
| なし | |
| なし | |
| あり | |
| なし | |
| あり |
他の AWS のサービスが IAM と連携する方法の概要については、「IAM ユーザーガイド」のAWS 「IAM と連携する のサービス」を参照してください。
のアイデンティティベースのポリシー AWS IoT Greengrass
IAM アイデンティティベースのポリシーでは、許可または拒否されたアクションとリソース、およびアクションが許可または拒否される条件を指定できます。 は、特定のアクション、リソース、および条件キー AWS IoT Greengrass をサポートします。ポリシーで使用するすべての要素については、「IAM ユーザーガイド」の「[IAM JSON policy elements reference] (IAM JSON ポリシーエレメントのリファレンス)」を参照してください。
アクション
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。
のポリシーアクションは、アクションの前に greengrass: プレフィックス AWS IoT Greengrass を使用します。たとえば、API ListGroupsオペレーションを使用してグループにグループを一覧表示できるようにするには AWS アカウント、ポリシーに greengrass:ListGroupsアクションを含めます。ポリシーステートメントには、Action 要素または NotAction 要素のいずれかを含める必要があります。 AWS IoT Greengrass は、このサービスで実行できるタスクを説明する独自の一連のアクションを定義します。
1 つのステートメントで複数のアクションを指定するには、次のようにアクションをカンマで区切って全体を括弧 ([ ]) で囲って表示します。
"Action": [ "greengrass:action1", "greengrass:action2", "greengrass:action3" ]
ワイルドカード (*) を使用して、複数のアクションを指定できます。例えば、List という単語で始まるすべてのアクションを指定するには次のアクションを含めます。
"Action": "greengrass:List*"
注記
サービスに対して使用可能なすべてのアクションを指定するには、ワイルドカードを使用しないことをお勧めします。ベストプラクティスとして、ポリシー内で最小限の特権と狭い範囲のアクセス許可を付与する必要があります。詳細については、「最小限のアクセス許可を付与する」を参照してください。
AWS IoT Greengrass アクションの完全なリストについては、IAM ユーザーガイドの「 で定義されるアクション AWS IoT Greengrass」を参照してください。
リソース
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしていないアクションの場合、ワイルドカード (*) を使用して、ステートメントがすべてのリソースに適用されることを示します。
"Resource": "*"
次の表に、ポリシーステートメントの Resource要素で使用できる AWS IoT Greengrass リソース ARNs を示します。 AWS IoT Greengrass アクションでサポートされているリソースレベルのアクセス許可のマッピングについては、IAM ユーザーガイドの「 で定義されるアクション AWS IoT Greengrass」を参照してください。
| リソース | ARN |
|---|---|
| Group |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}
|
| GroupVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/versions/${VersionId}
|
| CertificateAuthority |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/certificateauthorities/${CertificateAuthorityId}
|
| Deployment |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/deployments/${DeploymentId}
|
| BulkDeployment |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/bulk/deployments/${BulkDeploymentId}
|
| ConnectorDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/connectors/${ConnectorDefinitionId}
|
| ConnectorDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/connectors/${ConnectorDefinitionId}/versions/${VersionId}
|
| CoreDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}
|
| CoreDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}/versions/${VersionId}
|
| DeviceDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}
|
| DeviceDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}/versions/${VersionId}
|
| FunctionDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}
|
| FunctionDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}/versions/${VersionId}
|
| LoggerDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}
|
| LoggerDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}/versions/${VersionId}
|
| ResourceDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}
|
| ResourceDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}/versions/${VersionId}
|
| SubscriptionDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}
|
| SubscriptionDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}/versions/${VersionId}
|
| ConnectivityInfo |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/things/${ThingName}/connectivityInfo
|
次のResource要素の例では、 の米国西部 (オレゴン) リージョンにあるグループの ARN を指定します AWS アカウント 123456789012。
"Resource": "arn:aws:greengrass:us-west-2:123456789012:/greengrass/groups/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
または、特定の AWS アカウント の に属するすべてのグループを指定するには AWS リージョン、グループ ID の代わりにワイルドカードを使用します。
"Resource": "arn:aws:greengrass:us-west-2:123456789012:/greengrass/groups/*"
一部の AWS IoT Greengrass アクション (一部のリストオペレーションなど) は、特定のリソースで実行できません。このような場合は、ワイルドカードのみを使用する必要があります。
"Resource": "*"
ステートメントで複数のリソース ARN を指定するには、次のようにアクションをカンマで区切って全体を括弧 ([ ]) で囲って表示します。
"Resource": [ "resource-arn1", "resource-arn2", "resource-arn3" ]
ARN 形式の詳細については、の「Amazon リソースネーム (ARNs) と AWS サービス名前空間」を参照してくださいAmazon Web Services 全般のリファレンス。
条件キー
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Condition 要素は、定義された基準に基づいてステートメントが実行されるタイミングを指定します。イコールや未満などの 条件演算子 を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS 「グローバル条件コンテキストキー」を参照してください。
AWS IoT Greengrass は、次のグローバル条件キーをサポートしています。
| キー | 説明 |
|---|---|
aws:CurrentTime |
現在の日時の日付/時刻条件を確認してアクセスをフィルタリングします。 |
aws:EpochTime |
エポックまたは Unix 時間の現在の日時の日付/時刻条件を確認してアクセスをフィルタリングします。 |
aws:MultiFactorAuthAge |
リクエスト内の Multi-Factor Authentication (MFA) によって検証されたセキュリティ認証情報が MFA を使用して何秒前に発行されたかを確認して、アクセスをフィルタリングします。 |
aws:MultiFactorAuthPresent |
現在のリクエストで一時的なセキュリティ認証情報を検証するために Multi-Factor Authentication (MFA) が使用されたかどうかを確認して、アクセスをフィルタリングします。 |
aws:RequestTag/${TagKey} |
各必須タグで許可されている値のセットに基づいて作成リクエストをフィルタリングします。 |
aws:ResourceTag/${TagKey} |
リソースに関連付けられているタグ値に基づいてアクションをフィルタリングします。 |
aws:SecureTransport |
リクエストが SSL を使用して送信されたかどうかを確認して、アクセスをフィルタリングします。 |
aws:TagKeys |
リクエスト内の必須のタグの存在に基づいて作成リクエストをフィルタリングします。 |
aws:UserAgent |
リクエスタのクライアントアプリケーションによってアクセスをフィルタリングします。 |
条件キーの詳細については、IAM ユーザーガイド の「AWS グローバル条件コンテキストキー」 を参照してください。
例
AWS IoT Greengrass アイデンティティベースのポリシーの例を表示するには、「」を参照してくださいAWS IoT Greengrassのアイデンティティベースのポリシーの例。
のリソースベースのポリシー AWS IoT Greengrass
AWS IoT Greengrass はリソースベースのポリシーをサポートしていません。
アクセスコントロールリスト (ACL)
AWS IoT Greengrass は ACLs をサポートしていません。
AWS IoT Greengrass タグに基づく認可
AWS IoT Greengrass はタグベースの認可をサポートしていません。
の IAM ロール AWS IoT Greengrass
IAM ロールは、特定のアクセス許可 AWS アカウント を持つ 内のエンティティです。
での一時的な認証情報の使用 AWS IoT Greengrass
一時的な認証情報は、フェデレーションでサインイン、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けるために使用されます。一時的なセキュリティ認証情報を取得するには、AssumeRole や GetFederationToken などの AWS STS API オペレーションを呼び出します。
Greengrass コアでは、グループロールの一時的な認証情報がユーザー定義の Lambda 関数とコネクタで使用できるようになります。Lambda 関数が AWS SDK を使用している場合は、 AWS SDK によって自動的に取得されるため、認証情報を取得するロジックを追加する必要はありません。
サービスにリンクされた役割
AWS IoT Greengrass は、サービスにリンクされたロールをサポートしていません。
サービス役割
この機能により、ユーザーに代わってサービスがサービスロールを引き受けることが許可されます。この役割により、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールはIAM アカウントに表示され、アカウントによって所有されます。つまり、IAM 管理者はこの役割の権限を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。
AWS IoT Greengrass はサービスロールを使用して、ユーザーに代わって一部の AWS リソースにアクセスします。詳細については、「Greengrass サービスロール」を参照してください。
AWS IoT Greengrass コンソールでの IAM ロールの選択
AWS IoT Greengrass コンソールでは、アカウントの IAM ロールのリストから Greengrass サービスロールまたは Greengrass グループロールを選択する必要があります。
-
Greengrass サービスロールにより AWS IoT Greengrass 、 はユーザーに代わって他の サービスの AWS リソースにアクセスできます。通常、サービスロールはコンソールで作成および設定できるため、サービスロールを選択する必要はありません。詳細については、「Greengrass サービスロール」を参照してください。
-
Greengrass グループロールは、グループ内の Greengrass Lambda 関数とコネクタが AWS リソースにアクセスできるようにするために使用されます。また、ストリームを AWS サービスにエクスポートし、CloudWatch ログを書き込む AWS IoT Greengrass アクセス許可を付与することもできます。詳細については、「Greengrass グループのロール」を参照してください。