翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS IoT Greengrass と IAM の連携方法
IAM を使用して AWS IoT Greengrass へのアクセスを管理するには、AWS IoT Greengrass で使用できる IAM の機能を理解しておく必要があります。
IAM の機能 |
Greengrass によってサポートされていますか。 |
|---|---|
| あり | |
| なし | |
| なし | |
| あり | |
| あり | |
| なし | |
| あり |
その他の AWS のサービスが IAM と連携する方法の概要を把握するには、「IAM ユーザーガイド」の「IAM と連携する AWS サービス」を参照してください。
AWS IoT Greengrass のアイデンティティベースのポリシー
IAM アイデンティティベースのポリシーでは、許可または拒否されたアクションとリソースを指定でき、さらにアクションが許可または拒否された条件を指定できます。AWS IoT Greengrass は、特定のアクション、リソース、および条件キーをサポートします。ポリシーで使用するすべての要素については、「IAM ユーザーガイド」の「[IAM JSON policy elements reference] (IAM JSON ポリシーエレメントのリファレンス)」を参照してください。
アクション
管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどんなリソースにどんな条件でアクションを実行できるかということです。
JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。
AWS IoT Greengrass のポリシーアクションは、アクションの前に greengrass: プレフィックスを使用します。例えば、ListCoreDevices API オペレーションを使用して AWS アカウント のコアデバイスを一覧表示するには、ポリシーに greengrass:ListCoreDevices アクションを含めます。ポリシーステートメントには、Action 要素または NotAction 要素のいずれかを含める必要があります。AWS IoT Greengrass は、このサービスで実行できるタスクを説明する独自の一連のアクションを定義します。
1 つのステートメントで複数のアクションを指定するには、次のようにアクションをカンマで区切って全体を括弧 ([ ]) で囲って表示します。
"Action": [ "greengrass:action1", "greengrass:action2", "greengrass:action3" ]
ワイルドカード (*) を使用して、複数のアクションを指定できます。例えば、List という単語で始まるすべてのアクションを指定するには次のアクションを含めます。
"Action": "greengrass:List*"
注記
サービスに対して使用可能なすべてのアクションを指定するには、ワイルドカードを使用しないことをお勧めします。ベストプラクティスとして、ポリシー内で最小限の特権と狭い範囲のアクセス許可を付与する必要があります。詳細については、「最小限のアクセス許可を付与する」を参照してください。
AWS IoT Greengrass アクションの詳細な一覧については、「IAM ユーザーガイド」の「Actions Defined by AWS IoT Greengrass」を参照してください。
リソース
管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどんなリソースにどんな条件でアクションを実行できるかということです。
Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。
"Resource": "*"
次の表に、ポリシーステートメントの AWS IoT Greengrass 要素で使用できる Resource リソース ARN を示します。AWS IoT Greengrass アクションでサポートされるリソースレベルのアクセス許可のマッピングについては、「IAM ユーザーガイド」の「Actions Defined by AWS IoT Greengrass」を参照してください。
一部の AWS IoT Greengrass アクション (一部のリストオペレーションなど) は、特定のリソースに対して実行できません。このような場合は、ワイルドカードのみを使用する必要があります。
"Resource": "*"
ステートメントで複数のリソース ARN を指定するには、次のようにアクションをカンマで区切って全体を括弧 ([ ]) で囲って表示します。
"Resource": [ "resource-arn1", "resource-arn2", "resource-arn3" ]
ARN 形式の詳細については、「Amazon Web Services 全般のリファレンス」の「Amazon リソースネーム (ARN) と AWS サービスの名前空間」を参照してください。
条件キー
管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Condition 要素は、定義された基準に基づいてステートメントが実行されるタイミングを指定します。イコールや未満などの 条件演算子 を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、IAM ユーザーガイドのAWS グローバル条件コンテキストキーを参照してください。
例
AWS IoT Greengrass アイデンティティベースのポリシーの例を表示するには、「AWS IoT Greengrass のアイデンティティベースのポリシーの例」を参照してください。
AWS IoT Greengrass のリソースベースのポリシー
AWS IoT Greengrass では、リソースベースのポリシーはサポートされていません。
アクセスコントロールリスト (ACL)
AWS IoT Greengrass では ACL はサポートされません。
AWS IoT Greengrass タグに基づく認可
タグをサポートされている AWS IoT Greengrass リソースにアタッチするか、AWS IoT Greengrass へのリクエストでタグを渡すことができます。タグに基づいてアクセスを管理するには、aws:ResourceTag/${TagKey}、aws:RequestTag/${TagKey}、または aws:TagKeys の条件キーを使用して、ポリシーの [Condition element] (条件要素) でタグ情報を提供します。詳細については、「AWS IoT Greengrass Version 2 リソースにタグを付ける」を参照してください。
AWS IoT Greengrass の IAM ロール
IAM ロール は、特定のアクセス許可を持つ、AWS アカウント 内のエンティティです。
AWS IoT Greengrass での一時的な認証情報の使用
一時的な認証情報は、フェデレーションでサインイン、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けるために使用されます。一時的なセキュリティ認証情報を取得するには、AssumeRole または GetFederationToken などの AWS STS API オペレーションを呼び出します。
Greengrass コアでは、[device role] (デバイスロール) の一時的な認証情報が Greengrass コンポーネントで利用可能になります。コンポーネントが AWS SDK を使用している場合、AWS SDK がこれを行うため、認証情報を取得するためのロジックを追加する必要はありません。
サービスリンクロール
AWS IoT Greengrass では、サービスにリンクされたロールがサポートされていません。
サービス役割
この機能により、ユーザーに代わってサービスがサービスロールを引き受けることが許可されます。この役割により、サービスがお客様に代わって他のサービスのリソースにアクセスし、アクションを完了することが許可されます。サービスロールはIAM アカウントに表示され、アカウントによって所有されます。つまり、IAM 管理者はこの役割の権限を変更できます。ただし、それにより、サービスの機能が損なわれる場合があります。
AWS IoT Greengrass コアデバイスはサービスロールを使用して、Greengrass コンポーネントと Lambda 関数がユーザーに代わって AWS リソースの一部にアクセスできるようにします。詳細については、「コアデバイスが AWS サービスとやり取りできるように承認する」を参照してください。
AWS IoT Greengrass は、サービスロールを使用して、ユーザーに代わって AWS リソースの一部にアクセスします。詳細については、「Greengrass サービスロール」を参照してください。