翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クライアントデバイス認証
クライアントデバイス認証コンポーネント (aws.greengrass.clientdevices.Auth
) がクライアントデバイスを認証し、クライアントデバイスのアクションを承認します。
注記
クライアントデバイスは、Greengrass コアデバイスに接続し、処理するために MQTT メッセージとデータを送信するローカル IoT デバイスです。詳細については、「ローカル IoT デバイスとやり取りする」を参照してください。
バージョン
注記
クライアントデバイス認証バージョン 2.3.0 は廃止されました。クライアントデバイス認証バージョン 2.3.1 以降にアップグレードすることを強くお勧めします。
このコンポーネントには、次のバージョンがあります。
-
2.5.x
-
2.4.x
-
2.3.x
-
2.2.x
-
2.1.x
-
2.0.x
タイプ
このコンポーネントはプラグインコンポーネント (aws.greengrass.plugin
) です。Greengrass nucleus は、nucleus と同じ Java バーチャルマシン (JVM) でこのコンポーネントを実行します。コアデバイスでこのコンポーネントのバージョンを変更するとき、nucleus が再起動します。
このコンポーネントは、Greengrass nucleus と同じログファイルを使用します。詳細については、「AWS IoT Greengrass ログのモニタリング」を参照してください。
詳細については、「コンポーネントタイプ」を参照してください。
オペレーティングシステム
このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
リナックス
Windows
要件
このコンポーネントには次の要件があります。
-
Greengrass サービスロールを に関連付け AWS アカウント 、 アクセス
iot:DescribeCertificate
許可を付与する必要があります。 -
コアデバイスの AWS IoT ポリシーでは、次のアクセス許可が付与されている必要があります。
-
greengrass:GetConnectivityInfo
。リソースには、このコンポーネントを実行するコアデバイスの ARN が含まれます。 -
greengrass:VerifyClientDeviceIoTCertificateAssociation
。リソースには、コアデバイスに接続する各クライアントデバイスの Amazon リソースネーム (ARN) が含まれます。 -
greengrass:VerifyClientDeviceIdentity
-
greengrass:PutCertificateAuthorities
-
iot:Publish
。リソースには、次の MQTT トピックの ARN が含まれます。-
$aws/things/
coreDeviceThingName
*-gci/shadow/get
-
-
iot:Subscribe
。リソースには、次の MQTT トピックフィルターの ARN が含まれます。-
$aws/things/
coreDeviceThingName
*-gci/shadow/update/delta -
$aws/things/
coreDeviceThingName
*-gci/shadow/get/accepted
-
-
iot:Receive
。リソースには、次の MQTT トピックの ARN が含まれます。-
$aws/things/
coreDeviceThingName
*-gci/shadow/update/delta -
$aws/things/
coreDeviceThingName
*-gci/shadow/get/accepted
-
詳細については、AWS IoT データプレーンオペレーションの ポリシーおよびクライアントデバイスをサポートする最小限の AWS IoT ポリシーを参照してください。
-
-
(オプション) オフライン認証を使用するには、サービスで使用される AWS Identity and Access Management (IAM) ロールに AWS IoT Greengrass 次のアクセス許可が含まれている必要があります。
-
コアデバイスでオフライン認証用のクライアントを一覧表示できるようにするための
greengrass:ListClientDevicesAssociatedWithCoreDevice
。
-
-
クライアントデバイスの認証コンポーネントは、VPC で実行できるようにサポートされています。このコンポーネントを VPC にデプロイするには、以下が必要です。
-
クライアントデバイス認証コンポーネントは AWS IoT data、、 AWS IoT 認証情報、および Amazon S3 に接続する必要があります。
-
エンドポイントおよびポート
このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「プロキシまたはファイアウォールを介したデバイストラフィックを許可する」を参照してください。
エンドポイント | ポート | 必要 | 説明 |
---|---|---|---|
|
443 | あり |
AWS IoT モノの証明書に関する情報を取得するために使用されます。 |
依存関係
コンポーネントをデプロイすると、 はその依存関係の互換性のあるバージョン AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントのリリースされたバージョンの依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、AWS IoT Greengrass コンソール
- 2.5.2
-
次の表に、このコンポーネントのバージョン 2.5.2 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.6.0 <2.15.0 ソフト - 2.5.1
-
次の表に、このコンポーネントのバージョン 2.5.1 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.6.0 <2.14.0 ソフト - 2.4.4 - 2.5.0
-
次の表に、このコンポーネントのバージョン 2.4.4 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.6.0 <2.13.0 ソフト - 2.4.3
-
次の表に、このコンポーネントのバージョン 2.4.3 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.6.0 <2.12.0 ソフト - 2.4.1 and 2.4.2
-
次の表に、このコンポーネントのバージョン 2.4.1 および 2.4.2 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.6.0 <2.11.0 ソフト - 2.3.0 – 2.4.0
-
次の表に、このコンポーネントのバージョン 2.3.0 から 2.4.0 までの依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.6.0 <2.10.0 ソフト - 2.3.0
-
次の表に、このコンポーネントのバージョン 2.3.0 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.6.0 <2.10.0 ソフト - 2.2.3
-
次の表に、このコンポーネントのバージョン 2.2.3 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.6.0 <=2.9.0 ソフト - 2.2.2
-
次の表に、このコンポーネントのバージョン 2.2.2 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.6.0 <=2.8.0 ソフト - 2.2.1
-
次の表に、このコンポーネントのバージョン 2.2.1 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.6.0 <2.8.0 ソフト - 2.2.0
-
次の表に、このコンポーネントのバージョン 2.2.0 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.6.0 <2.7.0 ソフト - 2.1.0
-
次の表に、このコンポーネントのバージョン 2.1.0 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.2.0 <2.7.0 ソフト - 2.0.4
-
次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.2.0 <2.6.0 ソフト - 2.0.2 and 2.0.3
-
次の表に、このコンポーネントのバージョン 2.0.2 および 2.0.3 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.2.0 <2.5.0 ソフト - 2.0.1
-
次の表に、このコンポーネントのバージョン 2.0.1 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.2.0 <2.4.0 ソフト - 2.0.0
-
次の表に、このコンポーネントのバージョン 2.0.0 の依存関係を示します。
依存関係 互換性のあるバージョン 依存関係タイプ Greengrass nucleus >=2.2.0 <2.3.0 ソフト
コンポーネントの依存関係の詳細については、「コンポーネント recipe のリファレンス」を参照してください。
設定
このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。
注記
サブスクライブアクセス許可は、ローカル MQTT ブローカーへのクライアントサブスクライブリクエスト中に評価されます。クライアントの既存のサブスクライブアクセス許可が取り消されると、クライアントはトピックをサブスクライブできなくなります。ただし、以前にサブスクライブしたトピックからのメッセージは引き続き受信されます。この動作を回避するには、クライアントの再認証を強制するサブスクライブアクセス許可を取り消した後、ローカル MQTT ブローカーを再起動する必要があります。
MQTT 5 ブローカー (EMQX) コンポーネントの場合は、restartIdentifier
設定を更新して MQTT 5 ブローカーを再起動します。
MQTT 3.1.1 ブローカー (Moquette) コンポーネントでは、サーバー証明書が変更されてクライアントへの再承認が必要になると、デフォルトで毎週再起動します。コアデバイスの接続情報 (IP アドレス) を変更するか、デプロイを実行してブローカーコンポーネントを削除し、後で再度デプロイすることで、強制的に再起動できます。
- v2.5.0
-
deviceGroups
-
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、クライアントデバイス認証ポリシーを定義します。
このオブジェクトには、次の情報が含まれます。
formatVersion
-
この設定オブジェクトの形式バージョン。
次のオプションから選択します。
-
2021-03-05
-
definitions
-
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する選択ルールを指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。
このオブジェクトには、次の情報が含まれます。
groupNameKey
-
このデバイスグループの名前。
GroupNameKey
を、このデバイスグループを識別しやすい名前に置き換えます。このオブジェクトには、次の情報が含まれます。
selectionRule
-
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。
各選択ルールは少なくとも 1 つの選択ルール句で設定されています。この句は、クライアントデバイスと一致させることができる 1 つの式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルールの構文に関する詳細については、「AWS IoT Core デベロッパーガイド」の「AWS IoT フリートのインデックス作成クエリ構文」を参照してください。
*
ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノの名前の先頭と末尾にこのワイルドカードを使用すると、指定した文字列で始まる、または終わる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。注記
コロン文字 (
:
) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (\
) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、thingName: MyTeam\\:ClientDevice1
がMyTeam:ClientDevice1
という名前のモノを選択するように指定する場合です。次のセレクターを指定できます。
-
thingName
– クライアントデバイスの AWS IoT モノの名前。
例 選択ルール例
次の選択ルールは、名前が
MyClientDevice1
またはMyClientDevice2
のクライアントデバイスと一致します。thingName: MyClientDevice1 OR thingName: MyClientDevice2
例 選択ルール例 (ワイルドカードを使用)
次の選択ルールは、名前が
MyClientDevice
で始まるクライアントデバイスと一致します。thingName: MyClientDevice*
例 選択ルール例 (ワイルドカードを使用)
次の選択ルールは、名前が
MyClientDevice
で始まるクライアントデバイスと一致します。thingName: *MyClientDevice
例 選択ルール例 (すべてのデバイスに一致)
次の選択ルールは、すべてのクライアントデバイスと一致します。
thingName: *
-
policyName
-
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。
policies
オブジェクトで定義するポリシーの名前を指定します。
policies
-
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。
このオブジェクトには、次の情報が含まれます。
policyNameKey
-
この承認ポリシーの名前。
policyNameKey
を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。このオブジェクトには、次の情報が含まれます。
statementNameKey
-
このポリシーステートメントの名前。
statementNameKey
を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。このオブジェクトには、次の情報が含まれます。
operations
-
このポリシーのリソースに許可する操作のリスト。
以下のすべての操作を含めることができます。
-
mqtt:connect
- コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。この操作は、次のリソースをサポートします。
-
mqtt:clientId:
- クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。deviceClientId
deviceClientId
を使用するクライアント ID に置き換えます。
-
-
mqtt:publish
- MQTT メッセージをトピックにパブリッシュする権限を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topic:
- クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。mqttTopic
mqttTopic
を使用するトピックに置き換えます。このリソースは MQTT トピックのワイルドカードをサポートしていません。
-
-
mqtt:subscribe
- メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topicfilter:
- クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。mqttTopicFilter
mqttTopicFilter
を使用するトピックフィルターに置き換えます。このリソースは MQTT トピックのワイルドカードをサポートしていません。
-
-
resources
-
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、
mqtt:publish
操作を指定するポリシーで、MQTT トピックリソース (mqtt:topic:
) のリストを指定することができます。mqttTopic
リソースの変数ないの任意の場所で
*
ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。例えば、mqtt:topic:my*
を指定して、その入力に一致するリソースへのアクセスを許可できます。次のリソース変数がサポートされています。
-
mqtt:topic:${iot:Connection.Thing.ThingName}
これは、ポリシーが評価されている AWS IoT Core レジストリ内のモノの名前に解決されます。 は、デバイスが認証するときに提示する証明書 AWS IoT Core を使用して、接続の検証に使用するモノを決定します。このポリシー変数は、デバイスが MQTT または MQTT over WebSocket プロトコルに接続するときにのみ使用できます。
-
statementDescription
-
(オプション) このポリシーステートメントの説明。
certificates
-
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。
serverCertificateValiditySeconds
-
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。Moquette MQTT ブローカーコンポーネントなどの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。
デフォルト:
604800
(7 日)最小値:
172800
(2 日)最大値:
864000
(10 日)
performance
-
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。
maxActiveAuthTokens
-
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。
デフォルト:
2500
cloudRequestQueueSize
-
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでにキューに入れるリクエストの最大数。
デフォルト:
100
maxConcurrentCloudRequests
-
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。
デフォルト:
1
certificateAuthority
-
(オプション) コアデバイスの中間認証機関を独自の中間認証機関に置き換える認証機関設定オプション。
注記
Greengrass コアデバイスをカスタム認証局 (CA) で設定し、同じ CA を使用してクライアントデバイス証明書を発行する場合、Greengrass はクライアントデバイス MQTT オペレーションの承認ポリシーチェックをバイパスします。クライアントデバイス認証コンポーネントは、使用するように設定された CA によって署名された証明書を使用してクライアントを完全に信頼します。
カスタム CA を使用する際にこの動作を制限するには、別の CA または中間 CA を使用してクライアントデバイスを作成して署名し、正しい中間 CA を指すように
certificateUri
およびcertificateChainUri
フィールドを調整します。このオブジェクトには、次の情報が含まれます。
- certificateUri
-
証明書の位置。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書をポイントする URI にすることができます。
certificateChainUri
-
コアデバイス CA の証明書チェーンの場所。これは、ルート CA に対する完全な証明書チェーンとなります。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書チェーンをポイントする URI にすることができます。
privateKeyUri
-
コアデバイスのプライベートキーの場所。これは、ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書プライベートキーをポイントする URI にすることができます。
security
-
(オプション) このコアデバイスのセキュリティ設定オプション。このオブジェクトには、次の情報が含まれます。
clientDeviceTrustDurationMinutes
-
クライアントデバイスの認証情報を信頼できる時間 (分)。この時間が経過すると、コアデバイスでの再認証が必要となります。デフォルト値は 1 です。
metrics
-
(オプション) このコアデバイスのメトリックオプション。エラーメトリックは、クライアントデバイスの認証にエラーがある場合にのみ表示されます。このオブジェクトには、次の情報が含まれます。
disableMetrics
-
disableMetrics
フィールドがtrue
に設定されている場合、クライアントデバイス認証はメトリックを収集しません。デフォルト:
false
aggregatePeriodSeconds
-
クライアントデバイス認証がメトリクスを集約してテレメトリエージェントに送信する頻度を決定する集計期間 (秒単位)。テレメトリエージェントは依然として 1 日に 1 回メトリクスを公開するので、メトリクスの公開頻度は変わりません。
デフォルト:
3600
- startupTimeoutSeconds
-
(オプション) コンポーネントが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が
ERRORED
に変わります。デフォルト:
120
例: 設定マージの更新 (制限ポリシーを使用)
次の設定例では、名前が
MyClientDevice
で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
例: 設定マージの更新 (許容ポリシーを使用)
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
例: 設定マージの更新 (モノの名前のポリシーを使用)
次の設定例では、クライアントデバイスがクライアントデバイスのモノの名前で始まり、文字列
topic
で終わるトピックに発行できるようにします。{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "myThing": { "selectionRule": "thingName: *", "policyName": "MyThingNamePolicy" } }, "policies": { "MyThingNamePolicy": { "policyStatement": { "statementDescription": "mqtt publish", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:${iot:Connection.Thing.ThingName}/*/topic" ] } } } } }
- v2.4.5
-
deviceGroups
-
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、クライアントデバイス認証ポリシーを定義します。
このオブジェクトには、次の情報が含まれます。
formatVersion
-
この設定オブジェクトの形式バージョン。
次のオプションから選択します。
-
2021-03-05
-
definitions
-
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する選択ルールを指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。
このオブジェクトには、次の情報が含まれます。
groupNameKey
-
このデバイスグループの名前。
GroupNameKey
を、このデバイスグループを識別しやすい名前に置き換えます。このオブジェクトには、次の情報が含まれます。
selectionRule
-
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。
各選択ルールは少なくとも 1 つの選択ルール句で設定されています。この句は、クライアントデバイスと一致させることができる 1 つの式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルールの構文に関する詳細については、「AWS IoT Core デベロッパーガイド」の「AWS IoT フリートのインデックス作成クエリ構文」を参照してください。
*
ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノの名前の先頭と末尾にこのワイルドカードを使用すると、指定した文字列で始まる、または終わる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。注記
コロン文字 (
:
) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (\
) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、thingName: MyTeam\\:ClientDevice1
がMyTeam:ClientDevice1
という名前のモノを選択するように指定する場合です。次のセレクターを指定できます。
-
thingName
– クライアントデバイスの AWS IoT モノの名前。
例 選択ルール例
次の選択ルールは、名前が
MyClientDevice1
またはMyClientDevice2
のクライアントデバイスと一致します。thingName: MyClientDevice1 OR thingName: MyClientDevice2
例 選択ルール例 (ワイルドカードを使用)
次の選択ルールは、名前が
MyClientDevice
で始まるクライアントデバイスと一致します。thingName: MyClientDevice*
例 選択ルール例 (ワイルドカードを使用)
次の選択ルールは、名前が
MyClientDevice
で始まるクライアントデバイスと一致します。thingName: *MyClientDevice
例 選択ルール例 (すべてのデバイスに一致)
次の選択ルールは、すべてのクライアントデバイスと一致します。
thingName: *
-
policyName
-
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。
policies
オブジェクトで定義するポリシーの名前を指定します。
policies
-
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。
このオブジェクトには、次の情報が含まれます。
policyNameKey
-
この承認ポリシーの名前。
policyNameKey
を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。このオブジェクトには、次の情報が含まれます。
statementNameKey
-
このポリシーステートメントの名前。
statementNameKey
を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。このオブジェクトには、次の情報が含まれます。
operations
-
このポリシーのリソースに許可する操作のリスト。
以下のすべての操作を含めることができます。
-
mqtt:connect
- コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。この操作は、次のリソースをサポートします。
-
mqtt:clientId:
- クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。deviceClientId
deviceClientId
を使用するクライアント ID に置き換えます。
-
-
mqtt:publish
- MQTT メッセージをトピックにパブリッシュする権限を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topic:
- クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。mqttTopic
mqttTopic
を使用するトピックに置き換えます。このリソースは MQTT トピックのワイルドカードをサポートしていません。
-
-
mqtt:subscribe
- メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topicfilter:
- クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。mqttTopicFilter
mqttTopicFilter
を使用するトピックフィルターに置き換えます。このリソースは
+
および#
MQTT トピックのワイルドカードをサポートしています。詳細については、「AWS IoT Core デベロッパーガイド」の「MQTT トピック」を参照してください。クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに
mqtt:topicfilter:client/+/status
リソースへのサブスクライブを許可した場合、クライアントデバイスはclient/+/status
にサブスクライブできますが、client/client1/status
にはサブスクライブできません。
-
*
ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。 -
resources
-
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、
mqtt:publish
操作を指定するポリシーで、MQTT トピックリソース (mqtt:topic:
) のリストを指定することができます。mqttTopic
*
ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。*
ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、"resources": "*"
と指定することはできますが、"resources": "mqtt:clientId:*"
と指定することはできません。 statementDescription
-
(オプション) このポリシーステートメントの説明。
certificates
-
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。
serverCertificateValiditySeconds
-
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。Moquette MQTT ブローカーコンポーネントなどの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。
デフォルト:
604800
(7 日)最小値:
172800
(2 日)最大値:
864000
(10 日)
performance
-
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。
maxActiveAuthTokens
-
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。
デフォルト:
2500
cloudRequestQueueSize
-
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでにキューに入れるリクエストの最大数。
デフォルト:
100
maxConcurrentCloudRequests
-
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。
デフォルト:
1
certificateAuthority
-
(オプション) コアデバイスの中間認証機関を独自の中間認証機関に置き換える認証機関設定オプション。
注記
Greengrass コアデバイスをカスタム認証局 (CA) で設定し、同じ CA を使用してクライアントデバイス証明書を発行する場合、Greengrass はクライアントデバイス MQTT オペレーションの承認ポリシーチェックをバイパスします。クライアントデバイス認証コンポーネントは、使用するように設定された CA によって署名された証明書を使用してクライアントを完全に信頼します。
カスタム CA を使用する際にこの動作を制限するには、別の CA または中間 CA を使用してクライアントデバイスを作成して署名し、正しい中間 CA を指すように
certificateUri
およびcertificateChainUri
フィールドを調整します。このオブジェクトには、次の情報が含まれます。
- certificateUri
-
証明書の位置。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書をポイントする URI にすることができます。
certificateChainUri
-
コアデバイス CA の証明書チェーンの場所。これは、ルート CA に対する完全な証明書チェーンとなります。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書チェーンをポイントする URI にすることができます。
privateKeyUri
-
コアデバイスのプライベートキーの場所。これは、ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書プライベートキーをポイントする URI にすることができます。
security
-
(オプション) このコアデバイスのセキュリティ設定オプション。このオブジェクトには、次の情報が含まれます。
clientDeviceTrustDurationMinutes
-
クライアントデバイスの認証情報を信頼できる時間 (分)。この時間が経過すると、コアデバイスでの再認証が必要となります。デフォルト値は 1 です。
metrics
-
(オプション) このコアデバイスのメトリックオプション。エラーメトリックは、クライアントデバイスの認証にエラーがある場合にのみ表示されます。このオブジェクトには、次の情報が含まれます。
disableMetrics
-
disableMetrics
フィールドがtrue
に設定されている場合、クライアントデバイス認証はメトリックを収集しません。デフォルト:
false
aggregatePeriodSeconds
-
クライアントデバイス認証がメトリクスを集約してテレメトリエージェントに送信する頻度を決定する集計期間 (秒単位)。テレメトリエージェントは依然として 1 日に 1 回メトリクスを公開するので、メトリクスの公開頻度は変わりません。
デフォルト:
3600
- startupTimeoutSeconds
-
(オプション) コンポーネントが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が
ERRORED
に変わります。デフォルト:
120
例: 設定マージの更新 (制限ポリシーを使用)
次の設定例では、名前が
MyClientDevice
で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
例: 設定マージの更新 (許容ポリシーを使用)
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
- v2.4.2 - v2.4.4
-
deviceGroups
-
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、クライアントデバイス認証ポリシーを定義します。
このオブジェクトには、次の情報が含まれます。
formatVersion
-
この設定オブジェクトの形式バージョン。
次のオプションから選択します。
-
2021-03-05
-
definitions
-
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する選択ルールを指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。
このオブジェクトには、次の情報が含まれます。
groupNameKey
-
このデバイスグループの名前。
GroupNameKey
を、このデバイスグループを識別しやすい名前に置き換えます。このオブジェクトには、次の情報が含まれます。
selectionRule
-
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。
各選択ルールは少なくとも 1 つの選択ルール句で設定されています。この句は、クライアントデバイスと一致させることができる 1 つの式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルールの構文に関する詳細については、「AWS IoT Core デベロッパーガイド」の「AWS IoT フリートのインデックス作成クエリ構文」を参照してください。
*
ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。注記
コロン文字 (
:
) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (\\
) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、thingName: MyTeam\\\\:ClientDevice1
がMyTeam:ClientDevice1
という名前のモノを選択するように指定する場合です。次のセレクターを指定できます。
-
thingName
- クライアントデバイスの AWS IoT モノの名前。
例 選択ルール例
次の選択ルールは、名前が
MyClientDevice1
またはMyClientDevice2
のクライアントデバイスと一致します。thingName: MyClientDevice1 OR thingName: MyClientDevice2
例 選択ルール例 (ワイルドカードを使用)
次の選択ルールは、名前が
MyClientDevice
で始まるクライアントデバイスと一致します。thingName: MyClientDevice*
例 選択ルール例 (すべてのデバイスに一致)
次の選択ルールは、すべてのクライアントデバイスと一致します。
thingName: *
-
policyName
-
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。
policies
オブジェクトで定義するポリシーの名前を指定します。
policies
-
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。
このオブジェクトには、次の情報が含まれます。
policyNameKey
-
この承認ポリシーの名前。
policyNameKey
を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。このオブジェクトには、次の情報が含まれます。
statementNameKey
-
このポリシーステートメントの名前。
statementNameKey
を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。このオブジェクトには、次の情報が含まれます。
operations
-
このポリシーのリソースに許可する操作のリスト。
以下のすべての操作を含めることができます。
-
mqtt:connect
- コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。この操作は、次のリソースをサポートします。
-
mqtt:clientId:
- クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。deviceClientId
deviceClientId
を使用するクライアント ID に置き換えます。
-
-
mqtt:publish
- MQTT メッセージをトピックにパブリッシュする権限を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topic:
- クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。mqttTopic
mqttTopic
を使用するトピックに置き換えます。このリソースは MQTT トピックのワイルドカードをサポートしていません。
-
-
mqtt:subscribe
- メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topicfilter:
- クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。mqttTopicFilter
mqttTopicFilter
を使用するトピックフィルターに置き換えます。このリソースは
+
および#
MQTT トピックのワイルドカードをサポートしています。詳細については、「AWS IoT Core デベロッパーガイド」の「MQTT トピック」を参照してください。クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに
mqtt:topicfilter:client/+/status
リソースへのサブスクライブを許可した場合、クライアントデバイスはclient/+/status
にサブスクライブできますが、client/client1/status
にはサブスクライブできません。
-
*
ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。 -
resources
-
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、
mqtt:publish
操作を指定するポリシーで、MQTT トピックリソース (mqtt:topic:
) のリストを指定することができます。mqttTopic
*
ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。*
ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、"resources": "*"
と指定することはできますが、"resources": "mqtt:clientId:*"
と指定することはできません。 statementDescription
-
(オプション) このポリシーステートメントの説明。
certificates
-
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。
serverCertificateValiditySeconds
-
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。Moquette MQTT ブローカーコンポーネントなどの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。
デフォルト:
604800
(7 日)最小値:
172800
(2 日)最大値:
864000
(10 日)
performance
-
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。
maxActiveAuthTokens
-
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。
デフォルト:
2500
cloudRequestQueueSize
-
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでにキューに入れるリクエストの最大数。
デフォルト:
100
maxConcurrentCloudRequests
-
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。
デフォルト:
1
certificateAuthority
-
(オプション) コアデバイスの中間認証機関を独自の中間認証機関に置き換える認証機関設定オプション。
注記
Greengrass コアデバイスをカスタム認証局 (CA) で設定し、同じ CA を使用してクライアントデバイス証明書を発行する場合、Greengrass はクライアントデバイス MQTT オペレーションの承認ポリシーチェックをバイパスします。クライアントデバイス認証コンポーネントは、使用するように設定された CA によって署名された証明書を使用してクライアントを完全に信頼します。
カスタム CA を使用する際にこの動作を制限するには、別の CA または中間 CA を使用してクライアントデバイスを作成して署名し、正しい中間 CA を指すように
certificateUri
およびcertificateChainUri
フィールドを調整します。このオブジェクトには、次の情報が含まれます。
- certificateUri
-
証明書の位置。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書をポイントする URI にすることができます。
certificateChainUri
-
コアデバイス CA の証明書チェーンの場所。これは、ルート CA に対する完全な証明書チェーンとなります。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書チェーンをポイントする URI にすることができます。
privateKeyUri
-
コアデバイスのプライベートキーの場所。これは、ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書プライベートキーをポイントする URI にすることができます。
security
-
(オプション) このコアデバイスのセキュリティ設定オプション。このオブジェクトには、次の情報が含まれます。
clientDeviceTrustDurationMinutes
-
クライアントデバイスの認証情報を信頼できる時間 (分)。この時間が経過すると、コアデバイスでの再認証が必要となります。デフォルト値は 1 です。
metrics
-
(オプション) このコアデバイスのメトリックオプション。エラーメトリックは、クライアントデバイスの認証にエラーがある場合にのみ表示されます。このオブジェクトには、次の情報が含まれます。
disableMetrics
-
disableMetrics
フィールドがtrue
に設定されている場合、クライアントデバイス認証はメトリックを収集しません。デフォルト:
false
aggregatePeriodSeconds
-
クライアントデバイス認証がメトリクスを集約してテレメトリエージェントに送信する頻度を決定する集計期間 (秒単位)。テレメトリエージェントは依然として 1 日に 1 回メトリクスを公開するので、メトリクスの公開頻度は変わりません。
デフォルト:
3600
- startupTimeoutSeconds
-
(オプション) コンポーネントが起動する最大時間 (秒)。このタイムアウトを超えている場合、コンポーネントの状態が
ERRORED
に変わります。デフォルト:
120
例: 設定マージの更新 (制限ポリシーを使用)
次の設定例では、名前が
MyClientDevice
で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
例: 設定マージの更新 (許容ポリシーを使用)
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
- v2.4.0 - v2.4.1
-
deviceGroups
-
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、クライアントデバイス認証ポリシーを定義します。
このオブジェクトには、次の情報が含まれます。
formatVersion
-
この設定オブジェクトの形式バージョン。
次のオプションから選択します。
-
2021-03-05
-
definitions
-
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する選択ルールを指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。
このオブジェクトには、次の情報が含まれます。
groupNameKey
-
このデバイスグループの名前。
GroupNameKey
を、このデバイスグループを識別しやすい名前に置き換えます。このオブジェクトには、次の情報が含まれます。
selectionRule
-
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。
各選択ルールは少なくとも 1 つの選択ルール句で設定されています。この句は、クライアントデバイスと一致させることができる 1 つの式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルールの構文に関する詳細については、「AWS IoT Core デベロッパーガイド」の「AWS IoT フリートのインデックス作成クエリ構文」を参照してください。
*
ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。注記
コロン文字 (
:
) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (\\
) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、thingName: MyTeam\\\\:ClientDevice1
がMyTeam:ClientDevice1
という名前のモノを選択するように指定する場合です。次のセレクターを指定できます。
-
thingName
- クライアントデバイスの AWS IoT モノの名前。
例 選択ルール例
次の選択ルールは、名前が
MyClientDevice1
またはMyClientDevice2
のクライアントデバイスと一致します。thingName: MyClientDevice1 OR thingName: MyClientDevice2
例 選択ルール例 (ワイルドカードを使用)
次の選択ルールは、名前が
MyClientDevice
で始まるクライアントデバイスと一致します。thingName: MyClientDevice*
例 選択ルール例 (すべてのデバイスに一致)
次の選択ルールは、すべてのクライアントデバイスと一致します。
thingName: *
-
policyName
-
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。
policies
オブジェクトで定義するポリシーの名前を指定します。
policies
-
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。
このオブジェクトには、次の情報が含まれます。
policyNameKey
-
この承認ポリシーの名前。
policyNameKey
を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。このオブジェクトには、次の情報が含まれます。
statementNameKey
-
このポリシーステートメントの名前。
statementNameKey
を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。このオブジェクトには、次の情報が含まれます。
operations
-
このポリシーのリソースに許可する操作のリスト。
以下のすべての操作を含めることができます。
-
mqtt:connect
- コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。この操作は、次のリソースをサポートします。
-
mqtt:clientId:
- クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。deviceClientId
deviceClientId
を使用するクライアント ID に置き換えます。
-
-
mqtt:publish
- MQTT メッセージをトピックにパブリッシュする権限を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topic:
- クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。mqttTopic
mqttTopic
を使用するトピックに置き換えます。このリソースは MQTT トピックのワイルドカードをサポートしていません。
-
-
mqtt:subscribe
- メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topicfilter:
- クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。mqttTopicFilter
mqttTopicFilter
を使用するトピックフィルターに置き換えます。このリソースは
+
および#
MQTT トピックのワイルドカードをサポートしています。詳細については、「AWS IoT Core デベロッパーガイド」の「MQTT トピック」を参照してください。クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに
mqtt:topicfilter:client/+/status
リソースへのサブスクライブを許可した場合、クライアントデバイスはclient/+/status
にサブスクライブできますが、client/client1/status
にはサブスクライブできません。
-
*
ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。 -
resources
-
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、
mqtt:publish
操作を指定するポリシーで、MQTT トピックリソース (mqtt:topic:
) のリストを指定することができます。mqttTopic
*
ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。*
ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、"resources": "*"
と指定することはできますが、"resources": "mqtt:clientId:*"
と指定することはできません。 statementDescription
-
(オプション) このポリシーステートメントの説明。
certificates
-
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。
serverCertificateValiditySeconds
-
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。Moquette MQTT ブローカーコンポーネントなどの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。
デフォルト:
604800
(7 日)最小値:
172800
(2 日)最大値:
864000
(10 日)
performance
-
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。
maxActiveAuthTokens
-
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。
デフォルト:
2500
cloudRequestQueueSize
-
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでにキューに入れるリクエストの最大数。
デフォルト:
100
maxConcurrentCloudRequests
-
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。
デフォルト:
1
certificateAuthority
-
(オプション) コアデバイスの中間認証機関を独自の中間認証機関に置き換える認証機関設定オプション。このオブジェクトには、次の情報が含まれます。
このオブジェクトには、次の情報が含まれます。
- certificateUri
-
証明書の位置。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書をポイントする URI にすることができます。
certificateChainUri
-
コアデバイス CA の証明書チェーンの場所。これは、ルート CA に対する完全な証明書チェーンとなります。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書チェーンをポイントする URI にすることができます。
privateKeyUri
-
コアデバイスのプライベートキーの場所。これは、ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書プライベートキーをポイントする URI にすることができます。
security
-
(オプション) このコアデバイスのセキュリティ設定オプション。このオブジェクトには、次の情報が含まれます。
clientDeviceTrustDurationMinutes
-
クライアントデバイスの認証情報を信頼できる時間 (分)。この時間が経過すると、コアデバイスでの再認証が必要となります。デフォルト値は 1 です。
metrics
-
(オプション) このコアデバイスのメトリックオプション。エラーメトリックは、クライアントデバイスの認証にエラーがある場合にのみ表示されます。このオブジェクトには、次の情報が含まれます。
disableMetrics
-
disableMetrics
フィールドがtrue
に設定されている場合、クライアントデバイス認証はメトリックを収集しません。デフォルト:
false
aggregatePeriodSeconds
-
クライアントデバイス認証がメトリクスを集約してテレメトリエージェントに送信する頻度を決定する集計期間 (秒単位)。テレメトリエージェントは依然として 1 日に 1 回メトリクスを公開するので、メトリクスの公開頻度は変わりません。
デフォルト:
3600
例: 設定マージの更新 (制限ポリシーを使用)
次の設定例では、名前が
MyClientDevice
で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
例: 設定マージの更新 (許容ポリシーを使用)
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
- v2.3.x
-
deviceGroups
-
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、クライアントデバイス認証ポリシーを定義します。
このオブジェクトには、次の情報が含まれます。
formatVersion
-
この設定オブジェクトの形式バージョン。
次のオプションから選択します。
-
2021-03-05
-
definitions
-
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する選択ルールを指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。
このオブジェクトには、次の情報が含まれます。
groupNameKey
-
このデバイスグループの名前。
GroupNameKey
を、このデバイスグループを識別しやすい名前に置き換えます。このオブジェクトには、次の情報が含まれます。
selectionRule
-
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。
各選択ルールは少なくとも 1 つの選択ルール句で設定されています。この句は、クライアントデバイスと一致させることができる 1 つの式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルールの構文に関する詳細については、「AWS IoT Core デベロッパーガイド」の「AWS IoT フリートのインデックス作成クエリ構文」を参照してください。
*
ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。注記
コロン文字 (
:
) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (\\
) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、thingName: MyTeam\\\\:ClientDevice1
がMyTeam:ClientDevice1
という名前のモノを選択するように指定する場合です。次のセレクターを指定できます。
-
thingName
- クライアントデバイスの AWS IoT モノの名前。
例 選択ルール例
次の選択ルールは、名前が
MyClientDevice1
またはMyClientDevice2
のクライアントデバイスと一致します。thingName: MyClientDevice1 OR thingName: MyClientDevice2
例 選択ルール例 (ワイルドカードを使用)
次の選択ルールは、名前が
MyClientDevice
で始まるクライアントデバイスと一致します。thingName: MyClientDevice*
例 選択ルール例 (すべてのデバイスに一致)
次の選択ルールは、すべてのクライアントデバイスと一致します。
thingName: *
-
policyName
-
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。
policies
オブジェクトで定義するポリシーの名前を指定します。
policies
-
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。
このオブジェクトには、次の情報が含まれます。
policyNameKey
-
この承認ポリシーの名前。
policyNameKey
を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。このオブジェクトには、次の情報が含まれます。
statementNameKey
-
このポリシーステートメントの名前。
statementNameKey
を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。このオブジェクトには、次の情報が含まれます。
operations
-
このポリシーのリソースに許可する操作のリスト。
以下のすべての操作を含めることができます。
-
mqtt:connect
- コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。この操作は、次のリソースをサポートします。
-
mqtt:clientId:
- クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。deviceClientId
deviceClientId
を使用するクライアント ID に置き換えます。
-
-
mqtt:publish
- MQTT メッセージをトピックにパブリッシュする権限を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topic:
- クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。mqttTopic
mqttTopic
を使用するトピックに置き換えます。このリソースは MQTT トピックのワイルドカードをサポートしていません。
-
-
mqtt:subscribe
- メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topicfilter:
- クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。mqttTopicFilter
mqttTopicFilter
を使用するトピックフィルターに置き換えます。このリソースは
+
および#
MQTT トピックのワイルドカードをサポートしています。詳細については、「AWS IoT Core デベロッパーガイド」の「MQTT トピック」を参照してください。クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに
mqtt:topicfilter:client/+/status
リソースへのサブスクライブを許可した場合、クライアントデバイスはclient/+/status
にサブスクライブできますが、client/client1/status
にはサブスクライブできません。
-
*
ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。 -
resources
-
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、
mqtt:publish
操作を指定するポリシーで、MQTT トピックリソース (mqtt:topic:
) のリストを指定することができます。mqttTopic
*
ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。*
ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、"resources": "*"
と指定することはできますが、"resources": "mqtt:clientId:*"
と指定することはできません。 statementDescription
-
(オプション) このポリシーステートメントの説明。
certificates
-
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。
serverCertificateValiditySeconds
-
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。Moquette MQTT ブローカーコンポーネントなどの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。
デフォルト:
604800
(7 日)最小値:
172800
(2 日)最大値:
864000
(10 日)
performance
-
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。
maxActiveAuthTokens
-
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。
デフォルト:
2500
cloudRequestQueueSize
-
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでにキューに入れるリクエストの最大数。
デフォルト:
100
maxConcurrentCloudRequests
-
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。
デフォルト:
1
certificateAuthority
-
(オプション) コアデバイスの中間認証機関を独自の中間認証機関に置き換える認証機関設定オプション。このオブジェクトには、次の情報が含まれます。
- certificateUri
-
証明書の位置。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書をポイントする URI にすることができます。
certificateChainUri
-
コアデバイス CA の証明書チェーンの場所。これは、ルート CA に対する完全な証明書チェーンとなります。ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書チェーンをポイントする URI にすることができます。
privateKeyUri
-
コアデバイスのプライベートキーの場所。これは、ファイルシステム URI、またはハードウェアセキュリティモジュールに保存されている証明書プライベートキーをポイントする URI にすることができます。
security
-
(オプション) このコアデバイスのセキュリティ設定オプション。このオブジェクトには、次の情報が含まれます。
clientDeviceTrustDurationMinutes
-
クライアントデバイスの認証情報を信頼できる時間 (分)。この時間が経過すると、コアデバイスでの再認証が必要となります。デフォルト値は 1 です。
例: 設定マージの更新 (制限ポリシーを使用)
次の設定例では、名前が
MyClientDevice
で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
例: 設定マージの更新 (許容ポリシーを使用)
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
- v2.2.x
-
deviceGroups
-
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、クライアントデバイス認証ポリシーを定義します。
このオブジェクトには、次の情報が含まれます。
formatVersion
-
この設定オブジェクトの形式バージョン。
次のオプションから選択します。
-
2021-03-05
-
definitions
-
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する選択ルールを指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。
このオブジェクトには、次の情報が含まれます。
groupNameKey
-
このデバイスグループの名前。
GroupNameKey
を、このデバイスグループを識別しやすい名前に置き換えます。このオブジェクトには、次の情報が含まれます。
selectionRule
-
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。
各選択ルールは少なくとも 1 つの選択ルール句で設定されています。この句は、クライアントデバイスと一致させることができる 1 つの式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルールの構文に関する詳細については、「AWS IoT Core デベロッパーガイド」の「AWS IoT フリートのインデックス作成クエリ構文」を参照してください。
*
ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。注記
コロン文字 (
:
) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (\\
) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、thingName: MyTeam\\\\:ClientDevice1
がMyTeam:ClientDevice1
という名前のモノを選択するように指定する場合です。次のセレクターを指定できます。
-
thingName
- クライアントデバイスの AWS IoT モノの名前。
例 選択ルール例
次の選択ルールは、名前が
MyClientDevice1
またはMyClientDevice2
のクライアントデバイスと一致します。thingName: MyClientDevice1 OR thingName: MyClientDevice2
例 選択ルール例 (ワイルドカードを使用)
次の選択ルールは、名前が
MyClientDevice
で始まるクライアントデバイスと一致します。thingName: MyClientDevice*
例 選択ルール例 (すべてのデバイスに一致)
次の選択ルールは、すべてのクライアントデバイスと一致します。
thingName: *
-
policyName
-
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。
policies
オブジェクトで定義するポリシーの名前を指定します。
policies
-
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。
このオブジェクトには、次の情報が含まれます。
policyNameKey
-
この承認ポリシーの名前。
policyNameKey
を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。このオブジェクトには、次の情報が含まれます。
statementNameKey
-
このポリシーステートメントの名前。
statementNameKey
を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。このオブジェクトには、次の情報が含まれます。
operations
-
このポリシーのリソースに許可する操作のリスト。
以下のすべての操作を含めることができます。
-
mqtt:connect
- コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。この操作は、次のリソースをサポートします。
-
mqtt:clientId:
- クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。deviceClientId
deviceClientId
を使用するクライアント ID に置き換えます。
-
-
mqtt:publish
- MQTT メッセージをトピックにパブリッシュする権限を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topic:
- クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。mqttTopic
mqttTopic
を使用するトピックに置き換えます。このリソースは MQTT トピックのワイルドカードをサポートしていません。
-
-
mqtt:subscribe
- メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topicfilter:
- クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。mqttTopicFilter
mqttTopicFilter
を使用するトピックフィルターに置き換えます。このリソースは
+
および#
MQTT トピックのワイルドカードをサポートしています。詳細については、「AWS IoT Core デベロッパーガイド」の「MQTT トピック」を参照してください。クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに
mqtt:topicfilter:client/+/status
リソースへのサブスクライブを許可した場合、クライアントデバイスはclient/+/status
にサブスクライブできますが、client/client1/status
にはサブスクライブできません。
-
*
ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。 -
resources
-
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、
mqtt:publish
操作を指定するポリシーで、MQTT トピックリソース (mqtt:topic:
) のリストを指定することができます。mqttTopic
*
ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。*
ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、"resources": "*"
と指定することはできますが、"resources": "mqtt:clientId:*"
と指定することはできません。 statementDescription
-
(オプション) このポリシーステートメントの説明。
certificates
-
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。
serverCertificateValiditySeconds
-
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。Moquette MQTT ブローカーコンポーネントなどの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。
デフォルト:
604800
(7 日)最小値:
172800
(2 日)最大値:
864000
(10 日)
performance
-
(オプション) このコアデバイスのパフォーマンス設定オプション。このオブジェクトには、次の情報が含まれます。
maxActiveAuthTokens
-
(オプション) アクティブなクライアントデバイス認可トークンの最大数。この数を増やすと、より多くのクライアントデバイスが、再認証せずに単一のコアデバイスに接続できるようになります。
デフォルト:
2500
cloudRequestQueueSize
-
(オプション) このコンポーネントが AWS クラウド リクエストを拒否するまでにキューに入れるリクエストの最大数。
デフォルト:
100
maxConcurrentCloudRequests
-
(オプション) AWS クラウドに同時に送信できるリクエストの最大数。この数を増やすと、多数のクライアントデバイスを接続するコアデバイスで、認証のパフォーマンスを向上させることができます。
デフォルト:
1
例: 設定マージの更新 (制限ポリシーを使用)
次の設定例では、名前が
MyClientDevice
で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
例: 設定マージの更新 (許容ポリシーを使用)
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
- v2.1.x
-
deviceGroups
-
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、クライアントデバイス認証ポリシーを定義します。
このオブジェクトには、次の情報が含まれます。
formatVersion
-
この設定オブジェクトの形式バージョン。
次のオプションから選択します。
-
2021-03-05
-
definitions
-
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する選択ルールを指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。
このオブジェクトには、次の情報が含まれます。
groupNameKey
-
このデバイスグループの名前。
GroupNameKey
を、このデバイスグループを識別しやすい名前に置き換えます。このオブジェクトには、次の情報が含まれます。
selectionRule
-
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。
各選択ルールは少なくとも 1 つの選択ルール句で設定されています。この句は、クライアントデバイスと一致させることができる 1 つの式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルールの構文に関する詳細については、「AWS IoT Core デベロッパーガイド」の「AWS IoT フリートのインデックス作成クエリ構文」を参照してください。
*
ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。注記
コロン文字 (
:
) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (\\
) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、thingName: MyTeam\\\\:ClientDevice1
がMyTeam:ClientDevice1
という名前のモノを選択するように指定する場合です。次のセレクターを指定できます。
-
thingName
- クライアントデバイスの AWS IoT モノの名前。
例 選択ルール例
次の選択ルールは、名前が
MyClientDevice1
またはMyClientDevice2
のクライアントデバイスと一致します。thingName: MyClientDevice1 OR thingName: MyClientDevice2
例 選択ルール例 (ワイルドカードを使用)
次の選択ルールは、名前が
MyClientDevice
で始まるクライアントデバイスと一致します。thingName: MyClientDevice*
例 選択ルール例 (すべてのデバイスに一致)
次の選択ルールは、すべてのクライアントデバイスと一致します。
thingName: *
-
policyName
-
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。
policies
オブジェクトで定義するポリシーの名前を指定します。
policies
-
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。
このオブジェクトには、次の情報が含まれます。
policyNameKey
-
この承認ポリシーの名前。
policyNameKey
を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。このオブジェクトには、次の情報が含まれます。
statementNameKey
-
このポリシーステートメントの名前。
statementNameKey
を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。このオブジェクトには、次の情報が含まれます。
operations
-
このポリシーのリソースに許可する操作のリスト。
以下のすべての操作を含めることができます。
-
mqtt:connect
- コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。この操作は、次のリソースをサポートします。
-
mqtt:clientId:
- クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。deviceClientId
deviceClientId
を使用するクライアント ID に置き換えます。
-
-
mqtt:publish
- MQTT メッセージをトピックにパブリッシュする権限を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topic:
- クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。mqttTopic
mqttTopic
を使用するトピックに置き換えます。このリソースは MQTT トピックのワイルドカードをサポートしていません。
-
-
mqtt:subscribe
- メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topicfilter:
- クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。mqttTopicFilter
mqttTopicFilter
を使用するトピックフィルターに置き換えます。このリソースは
+
および#
MQTT トピックのワイルドカードをサポートしています。詳細については、「AWS IoT Core デベロッパーガイド」の「MQTT トピック」を参照してください。クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに
mqtt:topicfilter:client/+/status
リソースへのサブスクライブを許可した場合、クライアントデバイスはclient/+/status
にサブスクライブできますが、client/client1/status
にはサブスクライブできません。
-
*
ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。 -
resources
-
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、
mqtt:publish
操作を指定するポリシーで、MQTT トピックリソース (mqtt:topic:
) のリストを指定することができます。mqttTopic
*
ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。*
ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、"resources": "*"
と指定することはできますが、"resources": "mqtt:clientId:*"
と指定することはできません。 statementDescription
-
(オプション) このポリシーステートメントの説明。
certificates
-
(オプション) このコアデバイスの証明書設定オプション。このオブジェクトには、次の情報が含まれます。
serverCertificateValiditySeconds
-
(オプション) ローカル MQTT サーバー証明書の有効期限が切れるまでの時間 (秒単位)。このオプションを設定すれば、クライアントデバイスがコアデバイスから切断し、また再接続する回数をカスタマイズすることができます。
このコンポーネントは、有効期限が切れる 24 時間前に、ローカル MQTT サーバー証明書をローテーションします。Moquette MQTT ブローカーコンポーネントなどの MQTT ブローカーで、新しい証明書を生成して再起動します。これが実行されると、このコアデバイスに接続されているすべてのクライアントデバイスが切断されます。クライアントデバイスは、短時間待機した後に、コアデバイスに再度接続できます。
デフォルト:
604800
(7 日)最小値:
172800
(2 日)最大値:
864000
(10 日)
例: 設定マージの更新 (制限ポリシーを使用)
次の設定例では、名前が
MyClientDevice
で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
例: 設定マージの更新 (許容ポリシーを使用)
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
- v2.0.x
-
deviceGroups
-
デバイスグループは、コアデバイスに接続して通信する権限を持つクライアントデバイスのグループです。選択ルールを使用してクライアントデバイスのグループを特定し、各デバイスグループにアクセス許可を指定する、クライアントデバイス認証ポリシーを定義します。
このオブジェクトには、次の情報が含まれます。
formatVersion
-
この設定オブジェクトの形式バージョン。
次のオプションから選択します。
-
2021-03-05
-
definitions
-
このコアデバイスのデバイスグループ。各定義では、クライアントデバイスがグループのメンバーであるかどうかを評価する選択ルールを指定します。各定義では、選択ルールに一致するクライアントデバイスに適用するアクセス権限ポリシーも指定します。クライアントデバイスが複数のデバイスグループのメンバーである場合、デバイスのアクセス許可は各グループのアクセス許可ポリシーで設定されます。
このオブジェクトには、次の情報が含まれます。
groupNameKey
-
このデバイスグループの名前。
GroupNameKey
を、このデバイスグループを識別しやすい名前に置き換えます。このオブジェクトには、次の情報が含まれます。
selectionRule
-
このデバイスグループのメンバーであるクライアントデバイスを指定するクエリ。クライアントデバイスが接続されると、コアデバイスはこの選択ルールを評価して、クライアントデバイスがこのデバイスグループのメンバーであるかどうかを判断します。クライアントデバイスがメンバーである場合、コアデバイスはこのデバイスグループのポリシーを使用して、クライアントデバイスのアクションを承認します。
各選択ルールは少なくとも 1 つの選択ルール句で設定されています。この句は、クライアントデバイスと一致させることができる 1 つの式クエリです。選択ルールは、 AWS IoT フリートインデックス作成と同じクエリ構文を使用します。選択ルールの構文に関する詳細については、「AWS IoT Core デベロッパーガイド」の「AWS IoT フリートのインデックス作成クエリ構文」を参照してください。
*
ワイルドカードを使用して、複数のクライアントデバイスを 1 つの選択ルール句と一致させます。モノ名の末尾にこのワイルドカードを使用すると、指定した文字列で始まる名前のクライアントデバイスと一致させることができます。このワイルドカードを使用して、すべてのクライアントデバイスと一致させることもできます。注記
コロン文字 (
:
) を含む値を選択する場合は、コロン文字にバックスラッシュ文字 (\\
) を使用してエスケープします。JSON などの形式では、バックスラッシュ文字をエスケープする必要があるため、コロン文字の前に 2 つのバックスラッシュ文字を入力する必要があります。例えば、thingName: MyTeam\\\\:ClientDevice1
がMyTeam:ClientDevice1
という名前のモノを選択するように指定する場合です。次のセレクターを指定できます。
-
thingName
- クライアントデバイスの AWS IoT モノの名前。
例 選択ルール例
次の選択ルールは、名前が
MyClientDevice1
またはMyClientDevice2
のクライアントデバイスと一致します。thingName: MyClientDevice1 OR thingName: MyClientDevice2
例 選択ルール例 (ワイルドカードを使用)
次の選択ルールは、名前が
MyClientDevice
で始まるクライアントデバイスと一致します。thingName: MyClientDevice*
例 選択ルール例 (すべてのデバイスに一致)
次の選択ルールは、すべてのクライアントデバイスと一致します。
thingName: *
-
policyName
-
このデバイスグループ内のクライアントデバイスに適用されるアクセス許可ポリシー。
policies
オブジェクトで定義するポリシーの名前を指定します。
policies
-
コアデバイスに接続するクライアントデバイス用の、クライアントデバイス認可ポリシー。各承認ポリシーは、クライアントデバイスがこれらのアクションを実行できるアクションセットとリソースを指定しています。
このオブジェクトには、次の情報が含まれます。
policyNameKey
-
この承認ポリシーの名前。
policyNameKey
を、この承認ポリシーを識別するのに役立つ名前に置き換えます。このポリシー名を使用して、デバイスグループに適用するポリシーを定義します。このオブジェクトには、次の情報が含まれます。
statementNameKey
-
このポリシーステートメントの名前。
statementNameKey
を、このポリシーステートメントを識別するのに役立つ名前に置き換えます。このオブジェクトには、次の情報が含まれます。
operations
-
このポリシーのリソースに許可する操作のリスト。
以下のすべての操作を含めることができます。
-
mqtt:connect
- コアデバイスに接続するアクセス許可を付与します。コアデバイスに接続するには、クライアントデバイスにこのアクセス許可が必要です。この操作は、次のリソースをサポートします。
-
mqtt:clientId:
- クライアントデバイスがコアデバイスの MQTT ブローカーへの接続に使用するクライアント ID に基づいて、アクセスを制限します。deviceClientId
deviceClientId
を使用するクライアント ID に置き換えます。
-
-
mqtt:publish
- MQTT メッセージをトピックにパブリッシュする権限を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topic:
- クライアントデバイスがメッセージをパブリッシュする MQTT トピックに基づいて、アクセスを制限します。mqttTopic
mqttTopic
を使用するトピックに置き換えます。このリソースは MQTT トピックのワイルドカードをサポートしていません。
-
-
mqtt:subscribe
- メッセージを受信する MQTT トピックフィルターにサブスクライブする許可を付与します。この操作は、次のリソースをサポートします。
-
mqtt:topicfilter:
- クライアントデバイスがメッセージにサブスクライブできる MQTT トピックに基づいて、アクセスを制限します。mqttTopicFilter
mqttTopicFilter
を使用するトピックフィルターに置き換えます。このリソースは
+
および#
MQTT トピックのワイルドカードをサポートしています。詳細については、「AWS IoT Core デベロッパーガイド」の「MQTT トピック」を参照してください。クライアントデバイスは、許可を付与したトピックフィルターにのみサブスクライブできます。例えば、クライアントデバイスに
mqtt:topicfilter:client/+/status
リソースへのサブスクライブを許可した場合、クライアントデバイスはclient/+/status
にサブスクライブできますが、client/client1/status
にはサブスクライブできません。
-
*
ワイルドカードを指定すれば、すべてのアクションへのアクセスを許可することができます。 -
resources
-
このポリシーでの操作を許可するリソースのリスト。このポリシーでの操作に対応するリソースを指定します。例えば、
mqtt:publish
操作を指定するポリシーで、MQTT トピックリソース (mqtt:topic:
) のリストを指定することができます。mqttTopic
*
ワイルドカードを指定すれば、すべてのリソースへのアクセスを許可することができます。*
ワイルドカードを使用して、部分的なリソース識別子と一致させることはできません。例えば、"resources": "*"
と指定することはできますが、"resources": "mqtt:clientId:*"
と指定することはできません。 statementDescription
-
(オプション) このポリシーステートメントの説明。
例: 設定マージの更新 (制限ポリシーを使用)
次の設定例では、名前が
MyClientDevice
で始まるクライアントデバイスに対して、すべてのトピックの接続とパブリッシュ/サブスクライブを許可するように指定しています。{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }
例: 設定マージの更新 (許容ポリシーを使用)
次の設定例では、すべてのクライアントデバイスに対して、すべてのトピックに接続しパブリッシュ/サブスクライブすることを許可しています。
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
ローカルログファイル
このコンポーネントは、Greengrass nucleus コンポーネントと同じログファイルを使用します。
- Linux
-
/logs/greengrass.log/greengrass/v2
- Windows
-
C:\greengrass\v2
\logs\greengrass.log
このコンポーネントのログを確認するには
-
コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。
または/greengrass/v2
C:\greengrass\v2
を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。- Linux
-
sudo tail -f
/logs/greengrass.log/greengrass/v2
- Windows (PowerShell)
-
Get-Content
C:\greengrass\v2
\logs\greengrass.log -Tail 10 -Wait
変更ログ
次の表は、コンポーネントの各バージョンにおける変更を示します。
バージョン |
変更 |
---|---|
2.5.2 |
Greengrass nucleus バージョン 2.14.0 のリリース用にバージョンが更新されました。 |
2.5.1 |
|
2.5.0 |
|
2.4.5 |
|
2.4.4 |
Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 |
2.4.3 |
Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 |
2.4.2 |
|
2.4.1 |
Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 |
2.4.0 |
|
2.3.2 |
|
2.3.1 |
|
2.3.0 |
警告このバージョンは現在利用できません。このバージョンの改善は、このコンポーネントのそれ以降のバージョンで利用できます。 新機能
|
2.2.3 |
Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 |
2.2.2 |
|
2.2.1 |
Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。 |
2.2.0 |
|
2.1.0 |
|
2.0.4 |
Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。 |
2.0.3 |
|
2.0.2 |
Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。 |
2.0.1 |
Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。 |
2.0.0 |
当初のバージョン |