建立儀表板 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 。您也可以決定使用 AWS IoT Greengrass Edge Connector for Amazon Kinesis Video Streams,這需要針對元件設定的 Kinesis Video Streams 和 AWS IoT SiteWise 資產的許可。若要符合您的使用案例,請選擇下列其中一個政策範本。

1。沒有影片許可政策

如果您不想使用 Grafana Video Player 面板,請使用下列範本建立政策。

JSON
{ "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 中影片播放器面板的存取,請依標籤將您的 AWS IoT Greengrass Edge Connector for Amazon Kinesis Video Streams 資源分組。如需縮小影片資源許可範圍的詳細資訊,請參閱建立 AWS IoT TwinMaker 影片播放器政策

3. 所有影片許可

如果您不想將影片分組,您可以從 Grafana Video Player 存取所有影片。有權存取 Grafana 工作區的任何人都可以播放您帳戶中任何串流的影片,並具有對任何 AWS IoT SiteWise 資產的唯讀存取權。這包括未來建立的任何資源。

使用下列範本建立政策:

JSON
{ "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 Video Streams 影片。

  • 唯讀存取您帳戶中所有 AWS IoT SiteWise 資產的屬性值歷史記錄。

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

從邊緣標記您的攝影機 AWS IoT SiteWise 資產請求影片上傳

在 Grafana 中使用影片播放器,使用者可以手動請求將影片從邊緣快取上傳到 Kinesis Video Streams。您可以為與 AWS IoT Greengrass Edge Connector for Amazon Kinesis Video Streams 相關聯的任何 AWS IoT SiteWise 資產,以及以金鑰 標記的任何資產開啟此功能EdgeConnectorForKVS

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

將更多許可新增至儀表板政策

AWS IoT TwinMaker Grafana 外掛程式會使用身分驗證提供者,在您建立的儀表板角色上呼叫 AssumeRole。在內部,外掛程式會使用 AssumeRole 呼叫中的工作階段政策來限制您有權存取的最高許可範圍。如需工作階段政策的詳細資訊,請參閱工作階段政策

這是您在 AWS IoT TwinMaker 工作區的儀表板角色上可以擁有的最大允許政策:

JSON
{ "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 Dashboard IAM 角色

在 IAM 主控台中,建立名為 的 IAM 角色YourWorkspaceIdDashboardRole。將 YourWorkspaceIdDashboardPolicy連接至角色。

若要編輯儀表板角色的信任政策,您必須授予 Grafana 身分驗證提供者在儀表板角色AssumeRole上呼叫 的許可。使用下列範本更新信任政策:

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

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