使用 管理儀表板 AWS CLI - AWS CloudTrail

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

使用 管理儀表板 AWS CLI

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

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

使用 取得儀表板 AWS CLI

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

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

使用 列出儀表板 AWS CLI

執行 list-dashboards命令來列出您帳戶的儀表板。

  • 包含 --type 參數,以僅檢視 CUSTOMMANAGED儀表板。

  • 包含 --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

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

將資源型政策連接至事件資料存放區

若要在手動或排程重新整理期間對儀表板執行查詢,您需要將資源型政策連接至與儀表板上的小工具相關聯的每個事件資料存放區。這可讓 CloudTrail Lake 代表您執行查詢。如需資源型政策的詳細資訊,請參閱範例:允許 CloudTrail 執行查詢以重新整理儀表板

下列範例會將資源型政策連接至事件資料存放區。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"}}} ]}'

將資源型政策連接至儀表板

若要設定儀表板的重新整理排程,您需要將資源型政策連接至儀表板,以允許 CloudTrail Lake 代表您重新整理儀表板。如需資源型政策的詳細資訊,請參閱儀表板的資源型政策範例

下列範例會將資源型政策連接至儀表板。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

執行 start-dashboard-refresh命令以手動重新整理儀表板。您必須先將資源型政策連接至與儀表板小工具相關聯的每個事件資料存放區,才能執行此命令。

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

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

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

使用 更新重新整理排程 AWS CLI

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

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

使用 在自訂儀表板上停用終止保護和重新整理排程 AWS CLI

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

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

將小工具新增至自訂儀表板

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

注意

在此範例中, ? 被單引號包圍,因為它與 搭配使用eventTime。根據您執行的作業系統,您可能需要使用逸出引號包圍單引號。如需詳細資訊,請參閱 中的使用引號和常值搭配字串 AWS CLI

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$"] } ]'