建立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 中的視訊播放器面板可直接呼叫 Kinesis Video Streams 和 IoT, SiteWise 以提供完整的視訊播放體驗。若要避免未經授權存取與您的AWS IoT TwinMaker工作區無關聯的資源,請為您的工作區儀表板角色的 IAM 政策新增條件。

縮減 GET 權限的範圍

您可以標記資源來縮小 Amazon Kinesis Video Streams 和資AWS IoT SiteWise產的存取範圍。您可能已根據 AWS IoT TwinMaker WorkSpaceID 標記AWS IoT SiteWise相機資產,以啟用視訊上傳請求功能,請參閱從邊緣上傳視訊主題。您可以使用相同的標籤索引鍵值配對來限制對AWS IoT SiteWise資產的 GET 存取,也可以用相同的方式標記 Kinesis Video Streams。

然後,您可以將此條件添加到運動視頻和異位語句中:YourWorkspaceIdDashboardPolicy

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

真實使用案例:分組攝影機

在這種情況下,你有一個大陣列的攝像機監控烘烤餅乾的過程在一個工廠。在麵糊室製作一批餅乾麵糊,麵糊在冷凍室冷凍,並在烘烤室烘烤餅乾。這些房間中的每個房間都有攝像頭,由不同的操作員團隊分別監控每個過程。您希望每組運營商都可以為其各自的房間進行授權。當為 cookie 工廠構建數字孿生時,使用單個工作區,但攝像機權限需要按房間限定。

您可以根據相機的群組 ID 標記相機群組,以達到此權限分離。在這個案例中,群組 ID 為 BatterRoom FreezerRoom、和。 BakingRoom每個房間的攝影機都連接到 Kinesis Video Streams,並且應該有一個標籤,其中包含:鍵 = EdgeConnectorForKVS、值 = 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 控制面板上的「送出」來提交要求。

要授予物聯網站:BatchPutAssetPropertyValue 權限,請使用默認策略:

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

透過使用此原則,使用者可以呼叫 BatchPutAssetPropertyValue AWS IoT SiteWise攝影機資產上的任何屬性。您可以在陳述式的條件中指定特定 propertyId,以限制該特定 PropertyID 的授權。

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

Grafana 中的「視訊播放器」面板會將資料擷取至測量屬性 (名為) VideoUploadRequest,以啟動將視訊從邊緣快取上傳至 Kinesis Video Streams。在控制台中找到此屬性的屬性 propertyId。AWS IoT SiteWise要修改YourWorkspaceIdDashboardPolicy,請使用以下政策聲明:

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

此聲明會限制將資料擷取到已標記AWS IoT SiteWise相機資產的特定性質。如需詳細資訊,請參閱如AWS IoT SiteWise何使用 IAM