

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS IoT TwinMaker Grafana 控制面板集成
<a name="grafana-integration"></a>

AWS IoT TwinMaker 通过应用程序插件支持 Grafana 集成。使用 Grafana 版本 10.4.0 及更高版本与您的数字双胞胎应用程序进行交互。该 AWS IoT TwinMaker 插件提供了自定义面板、仪表板模板和用于连接到数字双胞胎数据的数据源。

有关如何使用 Grafana 搭载并为控制面板设置权限的更多信息，请参阅以下主题：

**Topics**
+ [Grafana 场景查看器的 CORS 配置](cors-configuration-grafana.md)
+ [设置 Grafana 环境](grafana-environment.md)
+ [创建控制面板 IAM 角色](dashboard-IAM-role.md)
+ [创建 AWS IoT TwinMaker 视频播放器政策](tm-video-policy.md)

**注意**  
您需要修改 Amazon S3 存储桶的 CORS（跨源资源共享）配置，以便 Grafana 用户界面能从存储桶加载资源。有关说明，请参阅 [Grafana 场景查看器的 CORS 配置](cors-configuration-grafana.md)。

[有关 AWS IoT TwinMaker Grafana 插件的更多信息，请参阅AWS IoT TwinMaker 应用程序文档。](https://grafana.com/grafana/plugins/grafana-iot-twinmaker-app/)

有关 Grafana 插件关键组件的更多信息，请参阅以下内容：
+ [AWS IoT TwinMaker 数据源](https://github.com/grafana/grafana-iot-twinmaker-app/blob/main/src/datasource/README.md)
+ [控制面板模板](https://github.com/grafana/grafana-iot-twinmaker-app/blob/main/src/datasource/dashboards/README.md)
+ [场景查看器面板](https://github.com/grafana/grafana-iot-twinmaker-app/blob/main/src/panels/scene-viewer/README.md)
+ [视频播放器面板](https://github.com/grafana/grafana-iot-twinmaker-app/blob/main/src/panels/video-player/README.md)

# Grafana 场景查看器的 CORS 配置
<a name="cors-configuration-grafana"></a>

 AWS IoT TwinMaker Grafana 插件需要 CORS（跨源资源共享）配置，这允许 Grafana 用户界面从 Amazon S3 存储桶加载资源。如果没有 CORS 配置，您将在场景查看器上收到一条错误消息，即“由于网络故障，加载 3D 场景失败”，因为 Grafana 域无法访问 Amazon S3 存储桶中的资源。

要使用 CORS 配置 Amazon S3 存储桶，请按以下步骤操作：

1. 登录 IAM 控制台并打开[ Amazon S3 控制台](https://console.aws.amazon.com/s3/)。

1. 在 **Buckets** 列表中，选择您用作 AWS IoT TwinMaker 工作空间资源存储桶的存储桶的名称。

1. 请选择**Permissions（权限）**。

1. 在 **跨源资源共享 (CORS)** 部分中，请选择**编辑**。

1.  在 **CORS configuration editor（CORS 配置编辑器）**文本框中，键入或复制并粘贴以下 JSON CORS 配置，方法是将 Grafana 工作空间域 `GRAFANA-WORKSPACE-DOMAIN` 替换为您的域。
**注意**  
您需要在 `"AllowedOrigins":` JSON 元素的开头保留星号 `*` 字符。

   ```
           [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "GET",
               "PUT",
               "POST",
               "DELETE",
               "HEAD"
           ],
           "AllowedOrigins": [
               "*GRAFANA-WORKSPACE-DOMAIN"
           ],
           "ExposeHeaders": [
               "ETag"
           ]
       }
   ]
   ```

1. 选择**保存更改**以完成 CORS 配置。

有关使用 Amazon S3 存储桶的 CORS 的更多信息，请参阅[使用跨源资源共享 (](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html)CORS)。

# 设置 Grafana 环境
<a name="grafana-environment"></a>

您可以将 Amazon Managed Grafana 用于完全托管的服务，也可以设置由您自己管理的 Grafana 环境。借助 Amazon Managed Grafana，您可以根据自己的需求快速部署、操作和扩展开源 Grafana。或者，您也可以设置自己的基础设施来管理 Grafana 服务器。

有关 Grafana 环境选项的更多信息，请参阅以下主题：
+ [Amazon Managed Grafana](amazon-managed-grafana.md)
+ [自行管理的 Grafana](self-managed-grafana.md)

# Amazon Managed Grafana
<a name="amazon-managed-grafana"></a>

亚马逊托管 Grafana 提供了 AWS IoT TwinMaker 一个插件，因此您可以快速与 Grafana 集成 AWS IoT TwinMaker 。由于 Amazon Managed Grafana 为您管理 Grafana 服务器，因此您无需构建、封装或部署任何硬件或任何其他 Grafana 基础设施即可实现数据可视化。有关 Amazon Managed Grafana 的更多信息，请参阅 [ 什么是 Amazon Managed Grafana？](https://docs.aws.amazon.com//grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html)

**注意**  
亚马逊托管 Grafana 目前支持 Grafana 插件**的 1.3.1 版**。 AWS IoT TwinMaker 

## Amazon Managed Grafana 的先决条件
<a name="amazon-managed-grafana-prereqs"></a>

要 AWS IoT TwinMaker 在 Amazon Managed Grafana 控制面板中使用，请先完成以下先决条件：
+ 创建 AWS IoT TwinMaker 工作空间。有关创建工作区的更多信息，请参阅[入门](https://docs.aws.amazon.com/iot-twinmaker/latest/guide/twinmaker-gs.html)。 AWS IoT TwinMaker

**注意**  
当您首次在管理控制台中 AWS 创建 Amazon Managed Grafana 工作区时 AWS IoT TwinMaker ，未列出。但该插件已安装在所有工作区中。您可以在开源 Grafana 插件列表中找到 AWS IoT TwinMaker 插件。您可以找到 AWS IoT TwinMaker 数据源，方法是在“数据源”页面上选择**添加数据源**。

在创建 Amazon Managed Grafana 工作区时，系统会自动创建一个 IAM 角色来管理 Grafana 实例的权限。这称为**工作区 IAM 角色**。这是身份验证提供程序选项，将用于为 Grafana 配置所有 AWS IoT TwinMaker 数据源。Amazon Managed Grafana 不支持自动为 AWS IoT TwinMaker添加权限，因此您必须手动设置这些权限。有关设置手动权限的更多信息，请参阅 [创建控制面板 IAM 角色](dashboard-IAM-role.md)。

# 自行管理的 Grafana
<a name="self-managed-grafana"></a>

您可以选择托管自己的基础架构来运行 Grafana。有关在计算机上本地运行 Grafana 的信息，请参阅[安装 Grafana](https://grafana.com/docs/grafana/latest/installation/)。 AWS IoT TwinMaker 插件可在公开 Grafana 目录中找到。有关在 Grafana 环境中安装此插件的信息，请参阅 [AWS IoT TwinMaker 应用程序](https://grafana.com/grafana/plugins/grafana-iot-twinmaker-app/?tab=installation)。

当您在本地运行 Grafana 时，您无法轻松共享控制面板或向多个用户提供访问权限。有关使用本地 Grafana 共享控制面板的脚本式快速入门指南，请参阅 [AWS IoT TwinMaker 示例存储库](https://github.com/aws-samples/aws-iot-twinmaker-samples)。此资源将引导您完成在 Cloud9 上托管 Grafana 环境和在公共端点上托管 Amazon EC2 的过程。

您必须确定要使用哪个身份验证提供程序来配置 TwinMaker 数据源。您可以根据默认凭证链为环境配置凭证（请参阅[使用默认凭证提供程序链](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-default)）。默认凭证可以是任何用户或角色的永久凭证。例如，如果您在 Amazon EC2 上运行 Grafana，则默认凭证链可以访问 [Amazon EC2 执行角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)，该角色届时将是您的身份验证提供程序。在 [创建控制面板 IAM 角色](dashboard-IAM-role.md) 的步骤中，需要身份验证提供程序的 IAM Amazon 资源名称（ARN）。

# 创建控制面板 IAM 角色
<a name="dashboard-IAM-role"></a>

借助 AWS IoT TwinMaker，您可以控制 Grafana 仪表板上的数据访问权限。Grafana 控制面板用户应具有不同的权限范围来查看数据，某些情况下还要有写入数据的权限。例如，警报操作员可能没有查看视频的权限，而管理员拥有所有资源的权限。Grafana 通过数据源定义权限，而凭证和 IAM 角色在数据源中提供。 AWS IoT TwinMaker 数据源获取具有该角色权限的 AWS 证书。如果未提供 IAM 角色，Grafana 将使用证书的范围，该范围不能缩小。 AWS IoT TwinMaker

要在 Grafana 中使用 AWS IoT TwinMaker 控制面板，您需要创建一个 IAM 角色并附加策略。您可以使用以下模板来帮助创建这些策略。

## 创建 IAM 策略
<a name="IAM-policy"></a>

在 IAM 控制台创建一个名为 `YourWorkspaceIdDashboardPolicy` 的 IAM policy。此策略允许您的工作区访问 Amazon S3 存储桶和 AWS IoT TwinMaker 资源。您也可以决定使用[适用于 Amazon Kinesis Video Streams 的AWS IoT Greengrass Edge Connec](https://docs.aws.amazon.com//iot-twinmaker/latest/guide/video-integration.html) tor，这需要对 Kinesis Video Streams AWS IoT SiteWise 和为该组件配置的资产的权限。要适合您的用例，请选择以下策略模板之一。

**1。无视频权限策略**  
如果您不想使用 Grafana [视频播放器面板](https://github.com/grafana/grafana-iot-twinmaker-app/blob/main/src/panels/video-player/README.md)，请使用以下模板创建策略。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iottwinmaker:Get*",
                "iottwinmaker:List*"
            ],
            "Resource": [
                "arn:aws:iottwinmaker:us-east-1:111122223333:workspace/workspaceId",
                "arn:aws:iottwinmaker:us-east-1:111122223333:workspace/workspaceId/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iottwinmaker:ListWorkspaces",
            "Resource": "*"
        }
    ]
}
```
将为每个工作区创建 Amazon S3 存储桶。它包含要在控制面板上查看的 3D 模型和场景。[SceneViewer](https://github.com/grafana/grafana-iot-twinmaker-app/blob/main/src/panels/scene-viewer/README.md)面板会从这个桶中装入物品。

**2。范围缩小的视频权限策略**  
要限制对 Grafana 视频播放器面板的访问权限，请按标签对适用于 Amazon Kinesis Video Streams AWS IoT Greengrass 的 Edge Connector 资源进行分组。有关缩小视频资源权限范围的更多信息，请参阅 [创建 AWS IoT TwinMaker 视频播放器政策](tm-video-policy.md)。

**3。所有视频权限**  
如果您不想对视频进行分组，则可以通过 Grafana 视频播放器将其全部设置为可访问。任何有权访问 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:us-east-1:111122223333:workspace/workspaceId",
                "arn:aws:iottwinmaker:us-east-1:111122223333: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 素材资源请求从 edge 上传视频
<a name="tagging-camera-assets"></a>

使用 Grafana 中的视频播放器，用户可以手动请求将视频从边缘缓存上传到 Kinesis Video Streams。您可以为与您的 Amazon Kinesis Video Streams AWS IoT Greengrass 边缘连接器关联且标有密钥的任何 AWS IoT SiteWise 资产启用此功能。`EdgeConnectorForKVS`

标签值可以是由以下任意字符分隔的 WorkspaceID 列表：`. : + = @ _ / -`。例如，如果您想将与 AWS IoT Greengrass 边缘连接器关联的 AWS IoT SiteWise 资产用于 AWS IoT TwinMaker 跨工作空间的 Amazon Kinesis Video Streams，则可以使用遵循以下模式的标签：。`WorkspaceA/WorkspaceB/WorkspaceC`Grafana 插件强制使用 WorkspaceID AWS IoT TwinMaker 对资产数据摄取进行分组。 AWS IoT SiteWise 

## 向控制面板策略添加更多权限
<a name="adding-more-permissions"></a>

 AWS IoT TwinMaker Grafana 插件使用您的身份验证提供程序来 AssumeRole 调用您创建的控制面板角色。在内部，该插件通过在 AssumeRole 调用中使用会话策略来限制您有权访问的最大权限范围。有关会话策略的更多信息，请参阅[会话策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)。

这是您可以为 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:us-east-1:111122223333:workspace/workspaceId",
                "arn:aws:iottwinmaker:us-east-1:111122223333: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 视频播放器政策](tm-video-policy.md)。

## 创建 Grafana 控制面板 IAM 角色
<a name="grafana-IAM-role"></a>

在 IAM 控制台中，创建名为 `YourWorkspaceIdDashboardRole` 的 IAM 角色。将 `YourWorkspaceIdDashboardPolicy` 附加到角色上。

要编辑控制面板角色的信任策略，您必须授予 Grafana 身份验证提供程序调用控制面板角色上 `AssumeRole` 的权限。使用以下模板更新信任策略：

------
#### [ JSON ]

****  

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

------

有关如何创建 Grafana 环境和查找身份验证提供程序的更多信息，请参阅 [设置 Grafana 环境](grafana-environment.md)。

# 创建 AWS IoT TwinMaker 视频播放器政策
<a name="tm-video-policy"></a>

以下是一个策略模板，其中包含在 Grafana 中使用 AWS IoT TwinMaker 插件所需的所有视频权限：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iottwinmaker:Get*",
                "iottwinmaker:List*"
            ],
            "Resource": [
                "arn:aws:iottwinmaker:us-east-1:111122223333:workspace/workspaceId",
                "arn:aws:iottwinmaker:us-east-1:111122223333: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 策略](dashboard-IAM-role.md#IAM-policy) 主题中的**所有视频权限**策略模板。

## 缩小访问资源的权限范围
<a name="scope-down-access"></a>

Grafana 中的视频播放器面板直接调用 Kinesis Video Streams SiteWise 和 IoT，以提供完整的视频播放体验。为避免未经授权访问与您的 AWS IoT TwinMaker 工作空间无关的资源，请在工作空间控制面板角色的 IAM 策略中添加条件。

## 缩小 GET 权限范围
<a name="scope-down-GET-permissions"></a>

您可以通过标记资源来缩小对您的 Amazon Kinesis Video Streams AWS IoT SiteWise 和资产的访问范围。您可能已经基于 AWS IoT TwinMaker WorkspaceID 为 AWS IoT SiteWise 相机资产添加了标签，以启用视频上传请求功能，请参阅[从边缘上传视频主题](https://docs.aws.amazon.com//iot-twinmaker/latest/guide/dashboard-IAM-role.html#tagging-camera-assets)。你可以使用相同的标签键值对来限制对 AWS IoT SiteWise 资产的 GET 访问权限，也可以用同样的方式标记你的 Kinesis Video Streams。

然后，您可以将此条件添加到 `YourWorkspaceIdDashboardPolicy` 中的 kinesisvideo 和 iotsitewise 语句：

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

### 真实生活用例：对摄像头进行分组
<a name="use-cases"></a>

在此场景中，您有大量的摄像头监视工厂烘焙饼干的过程。成批的饼干面糊在面糊室制作，面糊在冷冻室冷冻，饼干在烘焙室烘烤。每个房间都有摄像头，不同的操作员团队分别监视每个过程。您希望每组操作员都获得各自工作间的授权。在为饼干厂构建数字孪生时，使用的是单个工作区，但摄像头权限需要按工作间划分范围。

您可以通过根据摄像头组的 GroupingId 标记摄像头组来实现这种权限分离。在这种情况下，GroupingID 为 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 权限
<a name="scope-down-BatchPutAssetPropertyValue"></a>

提供此权限可开启[视频播放器中的视频上传请求功能](https://docs.aws.amazon.com//iot-twinmaker/latest/guide/dashboard-IAM-role.html#tagging-camera-assets)。上传视频时，您可以指定一个时间范围，并在 Grafana 控制面板上选择**提交**来提交请求。

要授予 iotsitewise: BatchPutAssetPropertyValue 权限，请使用默认策略：

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

通过使用此政策，用户可以调 BatchPutAssetPropertyValue 用 AWS IoT SiteWise 相机资产上的任何属性。您可以通过在语句的条件中指定特定 PropertyID 来限制对它的授权。

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

Grafana 中的 “视频播放器” 面板将数据提取到 VideoUploadRequest名为的测量属性中，以启动将视频从边缘缓存上传到 Kinesis Video Streams 的操作。在控制台中找到该属性的属性 ID。 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 结合使用](https://docs.aws.amazon.com/iot-sitewise/latest/userguide/security_iam_service-with-iam.html)。