建立儀表板 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 面板,請使用下列範本建立政策。

{ "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 資產的唯讀存取權。這包括未來建立的任何資源。

使用下列範本建立政策:

{ "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 工作區儀表板角色上可以擁有的最大允許政策:

{ "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呼叫儀表板角色。使用下列範本更新信任政策:

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

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