

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

# 建立儀表板 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 政策。此政策可讓您的工作區存取 Amazon S3 儲存貯體和資源 AWS IoT TwinMaker 。您也可以決定使用 [AWS IoT Greengrass Edge Connector for Amazon Kinesis Video Streams](https://docs.aws.amazon.com//iot-twinmaker/latest/guide/video-integration.html)，這需要針對元件設定的 Kinesis Video Streams 和 AWS IoT SiteWise 資產的許可。若要符合您的使用案例，請選擇下列其中一個政策範本。

**1。沒有影片許可政策**  
如果您不想使用 Grafana [Video Player 面板](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 中影片播放器面板的存取，請依標籤將您的 AWS IoT Greengrass Edge Connector for Amazon Kinesis Video Streams 資源分組。如需縮小影片資源許可範圍的詳細資訊，請參閱 [建立 AWS IoT TwinMaker 影片播放器政策](tm-video-policy.md)。

**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: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 資產請求影片上傳
<a name="tagging-camera-assets"></a>

在 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 資產資料擷取。

## 將更多許可新增至儀表板政策
<a name="adding-more-permissions"></a>

Grafana AWS IoT TwinMaker 外掛程式會使用身分驗證提供者，在您建立的儀表板角色上呼叫 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 Dashboard IAM 角色
<a name="grafana-IAM-role"></a>

在 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 環境](grafana-environment.md)。