

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

# 使用 管理儀表板 AWS CLI
<a name="lake-dashboard-cli-manage"></a>

本節說明您可以執行以管理儀表板的數個其他命令，包括取得儀表板、列出儀表板、重新整理儀表板，以及更新儀表板。

使用 時 AWS CLI，請記住，您的命令會在為設定檔 AWS 區域 設定的 中執行。如果您想在不同區域中執行命令，則可變更設定檔的預設區域，或搭配 `--region` 參數使用命令。

**Topics**
+ [使用 取得儀表板 AWS CLI](#lake-dashboard-cli-get)
+ [使用 列出儀表板 AWS CLI](#lake-dashboard-cli-list)
+ [使用 將資源型政策連接至事件資料存放區或儀表板 AWS CLI](#lake-dashboard-cli-add-rbp)
+ [使用 手動重新整理儀表板 AWS CLI](#lake-dashboard-cli-refresh)
+ [使用 更新儀表板 AWS CLI](#lake-dashboard-cli-update)

## 使用 取得儀表板 AWS CLI
<a name="lake-dashboard-cli-get"></a>

執行 `get-dashboard`命令以傳回儀表板。`--dashboard-id` 透過提供儀表板 ARN 或儀表板名稱來指定 。

```
aws cloudtrail get-dashboard --dashboard-id arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDash
```

## 使用 列出儀表板 AWS CLI
<a name="lake-dashboard-cli-list"></a>

執行 `list-dashboards`命令來列出您帳戶的儀表板。
+ 包含 `--type` 參數，以僅檢視 `CUSTOM`或 `MANAGED`儀表板。
+  包含 `--max-results` 參數以限制結果的數量。有效值為 1-100。
+ 包含 `--name-prefix`以傳回符合指定字首的儀表板。

下列範例列出所有儀表板。

```
aws cloudtrail list-dashboards
```

此範例僅列出`CUSTOM`儀表板。

```
aws cloudtrail list-dashboards --type CUSTOM
```

下一個範例只會列出`MANAGED`儀表板。

```
aws cloudtrail list-dashboards --type MANAGED
```

最後一個範例會列出符合指定字首的儀表板。

```
aws cloudtrail list-dashboards --name-prefix ExamplePrefix
```

## 使用 將資源型政策連接至事件資料存放區或儀表板 AWS CLI
<a name="lake-dashboard-cli-add-rbp"></a>

執行 `put-resource-policy`命令，將資源型政策套用至事件資料存放區或儀表板。

### 將資源型政策連接至事件資料存放區
<a name="lake-dashboard-cli-add-rbp-eds"></a>

若要在手動或排程重新整理期間對儀表板執行查詢，您需要將資源型政策連接至與儀表板上小工具相關聯的每個事件資料存放區。這可讓 CloudTrail Lake 代表您執行查詢。如需資源型政策的詳細資訊，請參閱 [範例：允許 CloudTrail 執行查詢以重新整理儀表板](security_iam_resource-based-policy-examples.md#security_iam_resource-based-policy-examples-eds-dashboard)。

下列範例會將資源型政策連接至事件資料存放區。將 *account-id* 取代為您的帳戶 ID，將 *eds-arn* 取代為 CloudTrail 將執行查詢的事件資料存放區的 ARN，將 *dashboard-arn* 取代為儀表板的 ARN。

```
aws cloudtrail put-resource-policy \
--resource-arn eds-arn \
--resource-policy '{"Version": "2012-10-17",		 	 	  "Statement": [{"Sid": "EDSPolicy", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "cloudtrail:StartQuery", "Condition": { "StringEquals": { "AWS:SourceArn": "dashboard-arn", "AWS:SourceAccount": "account-id"}}} ]}'
```

### 將資源型政策連接至儀表板
<a name="lake-dashboard-cli-add-rbp-dashboard"></a>

若要設定儀表板的重新整理排程，您需要將資源型政策連接至儀表板，以允許 CloudTrail Lake 代表您重新整理儀表板。如需資源型政策的詳細資訊，請參閱 [儀表板的資源型政策範例](security_iam_resource-based-policy-examples.md#security_iam_resource-based-policy-examples-dashboards)。

下列範例會將資源型政策連接至儀表板。將 *account-id* 取代為您的帳戶 ID，將 *dashboard-arn* 取代為儀表板的 ARN。

```
aws cloudtrail put-resource-policy \
--resource-arn dashboard-arn \
--resource-policy '{"Version": "2012-10-17",		 	 	  "Statement": [{"Sid": "DashboardPolicy", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "cloudtrail:StartDashboardRefresh", "Condition": { "StringEquals": { "AWS:SourceArn": "dashboard-arn", "AWS:SourceAccount": "account-id"}}}]}'
```

## 使用 手動重新整理儀表板 AWS CLI
<a name="lake-dashboard-cli-refresh"></a>

執行 `start-dashboard-refresh`命令以手動重新整理儀表板。您必須先[將資源型政策連接至](#lake-dashboard-cli-add-rbp-eds)與儀表板小工具相關聯的每個事件資料存放區，才能執行此命令。

下列範例示範如何手動重新整理自訂儀表板。

```
aws cloudtrail start-dashboard-refresh \ 
--dashboard-id  dashboard-id \ 
--query-parameter-values '{"$StartTime$": "2024-11-05T10:45:24.00Z"}'
```

下一個範例說明如何手動重新整理受管儀表板。由於受管儀表板是由 CloudTrail 設定，重新整理請求需要包含查詢將在其中執行的事件資料存放區的 ID。

```
aws cloudtrail start-dashboard-refresh \
--dashboard-id dashboard-id  \
--query-parameter-values '{"$StartTime$": "2024-11-05T10:45:24.00Z", "$EventDataStoreId$": "eds-id"}'
```

## 使用 更新儀表板 AWS CLI
<a name="lake-dashboard-cli-update"></a>

執行 `update-dashboard`命令以更新儀表板。您可以更新儀表板以設定重新整理排程、啟用或停用重新整理排程、修改小工具，以及啟用或停用終止保護。

### 使用 更新重新整理排程 AWS CLI
<a name="lake-dashboard-cli-update-schedule"></a>

下列範例會更新名為 之自訂儀表板的重新整理排程`AccountActivityDashboard`。

```
aws cloudtrail update-dashboard --dashboard-id AccountActivityDashboard \
--refresh-schedule '{"Frequency": {"Unit": "HOURS", "Value": 6}, "Status": "ENABLED"}'
```

### 使用 在自訂儀表板上停用終止保護和重新整理排程 AWS CLI
<a name="lake-dashboard-cli-update-termination-protection"></a>

下列範例會停用名為 之自訂儀表板的終止保護`AccountActivityDashboard`，以允許刪除儀表板。它也會關閉重新整理排程。

```
aws cloudtrail update-dashboard --dashboard-id AccountActivityDashboard \
--refresh-schedule '{ "Status": "DISABLED"}' \
--no-termination-protection-enabled
```

### 將小工具新增至自訂儀表板
<a name="lake-dashboard-cli-update-widget"></a>

下列範例會將名為 的新小工具新增至名為 `TopServices`的自訂儀表板`AccountActivityDashboard`。Widgets 陣列包含為儀表板建立的兩個 Widget，以及新的 Widget。

**注意**  
在此範例中， `?` 被單引號包圍，因為它與 搭配使用`eventTime`。根據您執行的作業系統，您可能需要使用逸出引號括住單引號。如需詳細資訊，請參閱 [中的使用引號和常值搭配字串 AWS CLI](https://docs.aws.amazon.com/cli/v1/userguide/cli-usage-parameters-quoting-strings.html)。

```
aws cloudtrail update-dashboard --dashboard-id AccountActivityDashboard \
--widgets '[
    {
      "ViewProperties": {
        "Height": "2",
        "Width": "4",
        "Title": "TopErrors",
        "View": "Table"
      },
      "QueryStatement": "SELECT errorCode, COUNT(*) AS eventCount FROM eds WHERE eventTime > '?' AND eventTime < '?' AND (errorCode is not null) GROUP BY errorCode ORDER BY eventCount DESC LIMIT 100",
      "QueryParameters": ["$StartTime$", "$EndTime$"]
    },
    {
      "ViewProperties": {
        "Height": "2",
        "Width": "4",
        "Title": "MostActiveRegions",
        "View": "PieChart",
        "LabelColumn": "awsRegion",
        "ValueColumn": "eventCount",
        "FilterColumn": "awsRegion"
      },
      "QueryStatement": "SELECT awsRegion, COUNT(*) AS eventCount FROM eds where eventTime > '?' and eventTime < '?' GROUP BY awsRegion ORDER BY eventCount LIMIT 100",
      "QueryParameters": ["$StartTime$", "$EndTime$"]
    },
    {
      "ViewProperties": {
        "Height": "2",
        "Width": "4",
        "Title": "TopServices",
        "View": "BarChart",
        "LabelColumn": "service",
        "ValueColumn": "eventCount",
        "FilterColumn": "service",
        "Orientation": "Vertical"
      },
      "QueryStatement": "SELECT replace(eventSource, '.amazonaws.com') AS service, COUNT(*) as eventCount FROM eds WHERE eventTime > '?' AND eventTime < '?' GROUP BY eventSource ORDER BY eventCount DESC LIMIT 100",
      "QueryParameters": ["$StartTime$", "$EndTime$"]
    }
  ]'
```