AWS IoT TwinMaker ビデオプレーヤーポリシーの作成 - AWS IoT TwinMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS IoT TwinMaker ビデオプレーヤーポリシーの作成

以下は、Grafana の AWS IoT TwinMaker プラグインに必要なすべての動画へのアクセス許可を含むポリシーのテンプレートです。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucketName/*", "arn:aws:s3:::bucketName" ] }, { "Effect": "Allow", "Action": [ "iottwinmaker:Get*", "iottwinmaker:List*" ], "Resource": [ "arn:aws:iottwinmaker:region:accountId:workspace/workspaceId", "arn:aws:iottwinmaker:region:accountId:workspace/workspaceId/*" ] }, { "Effect": "Allow", "Action": "iottwinmaker:ListWorkspaces", "Resource": "*" }, { "Effect": "Allow", "Action": [ "kinesisvideo:GetDataEndpoint", "kinesisvideo:GetHLSStreamingSessionURL" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iotsitewise:GetAssetPropertyValue", "iotsitewise:GetInterpolatedAssetPropertyValues" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iotsitewise:BatchPutAssetPropertyValue" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*workspaceId*" } } } ] }

ポリシー全体についての詳細については、IAM ポリシーを作成する トピックの「すべての動画へのアクセス許可ポリシーのテンプレート」を参照してください。

リソースへのアクセス範囲の絞り込み

Grafana の Video Player パネルは、Kinesis Video Streams と IoT SiteWise を直接呼び出して、完全な動画再生エクスペリエンスを提供します。AWS IoT TwinMaker ワークスペースに関連付けられていないリソースへの不正アクセスを防ぐには、ワークスペースダッシュボードロールの IAM ポリシーに条件を追加します。

GET アクセス許可の範囲の絞り込み

リソースにタグを付けることで、Amazon Kinesis Video Streamと AWS IoT SiteWise アセットへのアクセスを絞り込むことができます。動画のアップロードリクエスト機能を有効にするために、すでに AWS IoT TwinMaker WorkspaceID に基づいて AWS IoT SiteWise カメラアセットにタグを付けている場合があります。「エッジから動画をアップロード」のトピックを参照してください。同じタグキーと値のペアを使用して AWS IoT SiteWise アセットへの GET アクセスを制限したり、同じ方法で キネシス ビデオ ストリーム にタグを付けることができます。

その後、YourWorkspaceIdDashboardPolicy 内の kinesisvideo ステートメントと iotsitewise ステートメントにこの条件を追加できます。

"Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*workspaceId*" } }

実際の使用事例: カメラのグループ化

このシナリオには、工場でクッキーを焼くプロセスを監視するカメラが多数あります。クッキー生地の束は生地部屋で作られ、生地は冷凍部屋で冷凍され、クッキーは焼成部屋で焼かれます。これらの各部屋にはカメラがあり、異なるオペレーターチームが各プロセスを個別に監視しています。各グループのオペレーターに、それぞれの部屋の権限を与えたいと考えています。クッキー工場のデジタルツインを構築する場合、使用するワークスペースは 1 つだけですが、カメラのアクセス許可範囲は部屋ごとに設定する必要があります。

このようなアクセス許可の分離は、GroupingID に基づいてカメラのグループにタグを付けることで実現できます。このシナリオでは、groupingIds は BatterRoom、 FreezerRoom、および です BakingRoom。各部屋のカメラは キネシス ビデオ ストリーム に接続されており、Key = EdgeConnectorForKVS、Value = BatterRoom のタグが付いている必要があります。値には、次のいずれかの文字で区切られたグループのリストを指定できます: . : + = @ _ / -

YourWorkspaceIdDashboardPolicy を修正するには、以下のポリシーステートメントを使用します。

..., { "Effect": "Allow", "Action": [ "kinesisvideo:GetDataEndpoint", "kinesisvideo:GetHLSStreamingSessionURL" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*groupingId*" } } }, { "Effect": "Allow", "Action": [ "iotsitewise:GetAssetPropertyValue", "iotsitewise:GetInterpolatedAssetPropertyValues" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*groupingId*" } } }, ...

これらのステートメントは、グループ内の特定のリソースへのストリーミングビデオの再生と AWS IoT SiteWise プロパティ履歴へのアクセスを制限します。groupingId はユースケースによって定義されます。このシナリオでは、roomId になります。

スコープダウンAWS IoT SiteWise BatchPutAssetPropertyValue アクセス許可

このアクセス許可を与えると、ビデオプレーヤーの動画アップロードリクエスト機能が有効になります。動画をアップロードするときは、時間範囲を指定し 「Grafana ダッシュボード」 パネルで 「送信」 を選択してリクエストを送信できます。

iotsitewise:BatchPutAssetPropertyValue permissions を付与するには、デフォルトのポリシーを使用します。

..., { "Effect": "Allow", "Action": [ "iotsitewise:BatchPutAssetPropertyValue" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*workspaceId*" } } }, ...

このポリシーを使用すると、ユーザーはAWS IoT SiteWiseカメラアセット上の任意のプロパティ BatchPutAssetPropertyValue に対して を呼び出すことができます。ステートメントの条件で指定することで、特定の PropertyId の認証を制限できます。

{ ... "Condition": { "StringEquals": { "iotsitewise:propertyId": "propertyId" } } ... }

Grafana の Video Player パネルは、 という名前の測定プロパティにデータを取り込み VideoUploadRequest、エッジキャッシュから Kinesis Video Streams へのビデオのアップロードを開始します。「AWS IoT SiteWise」 コンソールでこのプロパティの PropertyId を検索します。YourWorkspaceIdDashboardPolicy を修正するには、次のポリシーステートメントを使用します。

..., { "Effect": "Allow", "Action": [ "iotsitewise:BatchPutAssetPropertyValue" ], "Resource": "*", "Condition": { "StringLike": { "aws:ResourceTag/EdgeConnectorForKVS": "*workspaceId*" }, "StringEquals": { "iotsitewise:propertyId": "VideoUploadRequestPropertyId" } } }, ...

このステートメントは、データの取り込みをタグ付けされた AWS IoT SiteWise カメラアセットの特定のプロパティに制限します。詳細については、「AWS IoT SiteWise と IAM の連携」を参照してください。