建立儀表板 IAM 角色 - AWS IoT TwinMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立儀表板 IAM 角色

使用此功能AWS IoT TwinMaker,您可以在 Grafana 儀表板上控制資料存取。Grafana 儀表板使用者應該有不同的權限範圍才能檢視資料,而在某些情況下,則需要寫入資料。例如,警報操作員可能沒有觀看視頻的權限,而管理員則具有所有資源的權限。Grafana 透過資料來源定義許可,其中提供了登入資料和 IAM 角色。AWS IoT TwinMaker資料來源會擷取具有該角色權限的AWS認證。如果未提供 IAM 角色,Grafana 會使用登入資料的範圍,此範圍無法縮減。AWS IoT TwinMaker

若要在 Grafana 中使用AWS IoT TwinMaker儀表板,您需要建立 IAM 角色並附加政策。您可以使用下列範本來協助您建立這些原則。

建立 IAM 政策

建立在 IAM 主控台YourWorkspaceIdDashboardPolicy中呼叫的 IAM 政策。此政策可讓您的工作區存取 Amazon S3 儲存貯體和AWS IoT TwinMaker資源。您也可以決定針對 Amazon Kinesis Video Streams 使用AWS IoT Greengrass邊緣連接器,這需要 Kinesis 影片串流的許可,以及為元件設定的AWS IoT SiteWise資產。若要符合您的使用案例,請選擇下列其中一個原則範本。

1。沒有視頻權限政策

如果您不想使用 Grafana 視訊播放器面板,請使用下列範本建立原則。

{ "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": "*" } ] }

系統會為每個工作區建立一個 Amazon S3 儲存貯體。它包含要在儀表板上檢視的 3D 模型和場景。面SceneViewer板會從此值區載入項目。

2. 限定範圍的視訊權限原則

若要限制 Grafana 中「視訊播放器」面板上的存取,請依標籤將 Amazon Kinesis Video Streams 的AWS IoT Greengrass邊緣連接器分組。如需關閉影片資源的限定範圍權限的詳細資訊,請參閱。建立AWS IoT TwinMaker視訊播放程式政策

3. 所有影片權限

如果您不想將視頻分組,則可以使所有視頻都可以從 Grafana 視頻播放器訪問。任何擁有 Grafana 工作區存取權的人都可以播放您帳戶中任何串流的影片,而且可以唯讀存取任AWS IoT SiteWise何資產。這包括 future 建立的任何資源。

使用下列範本建立策略:

{ "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*" } } } ] }

此原則範本提供下列權限:

  • S3 儲存貯體的唯讀存取權以載入場景。

  • 工作區中所有實體和元件的唯讀存取權。AWS IoT TwinMaker

  • 以唯讀存取權來串流您帳戶中所有 Kinesis 影片串流影片。

  • 只讀訪問您帳戶中所有AWS IoT SiteWise資產的財產價值歷史記錄。

  • 將資料擷取至以金鑰EdgeConnectorForKVS和值workspaceId標記的AWS IoT SiteWise資產的任何屬性。

標記您的相機AWS IoT SiteWise資產請求從邊緣上傳視頻

使用 Grafana 中的視訊播放器,使用者可以手動要求將視訊從邊緣快取上傳到 Kinesis Video Streams。您可以針對與 Amazon Kinesis 影片串流的AWS IoT Greengrass邊緣連接器相關聯且已標記金鑰EdgeConnectorForKVS的任何AWS IoT SiteWise資產開啟此功能。

標籤值可以是以下列任何字元分隔的工作區域清單:. : + = @ _ / -例如,如果您想要跨AWS IoT TwinMaker工作區使用與 Amazon Kinesis Video Streams 的AWS IoT Greengrass邊緣連接器相關聯的AWS IoT SiteWise資產,則可以使用遵循以下模式的標籤:WorkspaceA/WorkspaceB/WorkspaceC。Grafana 外掛程式會強制使用AWS IoT TwinMaker工作區 ID 來分組資產資料擷取。AWS IoT SiteWise

將更多權限新增至儀表板原則

AWS IoT TwinMakerGrafana 外掛程式會使用您的驗證提供者來呼叫您建立 AssumeRole 的儀表板角色。在內部,插件通過在調用中使用會 AssumeRole 話策略來限制您可以訪問的最高權限範圍。如需階段作業原則的詳細資訊,請參閱工作階段原則

這是您在工作區的儀表板角色上可以擁有的最大寬容政策: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*" } } } ] }

如果您添加了Allow更多權限的語句,則它們將無法在AWS IoT TwinMaker插件上使用。這是通過設計來確保插件使用的最低必要權限。

但是,您可以進一步縮小權限的範圍。如需相關資訊,請參閱 建立AWS IoT TwinMaker視訊播放程式政策

建立 Grafana 儀表板 IAM 角色

在 IAM 主控台中,建立名為的 IAM 角色YourWorkspaceIdDashboardRole。附加YourWorkspaceIdDashboardPolicy至角色。

若要編輯儀表板角色的信任原則,您必須授與 Grafana 驗證提供者呼叫儀表板角色AssumeRole的權限。使用下列範本更新信任原則:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "ARN of Grafana authentication provider" }, "Action": "sts:AssumeRole" } ] }

如需建立 Grafana 環境及尋找驗證提供者的詳細資訊,請參閱。設定您的 Grafana 環境