

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 를 사용하여 대시보드 생성 AWS CLI
<a name="lake-dashboard-cli-create"></a>

이 섹션에서는 `create-dashboard` 명령을 사용하여 사용자 지정 대시보드 또는 Highlights 대시보드를 생성하는 방법을 설명합니다.

를 사용할 때 명령은 프로파일에 대해 AWS 리전 구성된에서 실행 AWS CLI됩니다. 다른 리전에서 명령을 실행하려는 경우 프로필의 기본 리전을 변경하거나 명령에 `--region` 파라미터를 사용합니다.

 CloudTrail 는 수동 또는 예약된 새로 고침 중에 쿼리를 실행하여 대시보드의 위젯을 채웁니다. CloudTrail에는 대시보드 위젯과 연결된 각 이벤트 데이터 스토어에서 `StartQuery` 작업을 실행할 수 있는 권한이 부여되어야 합니다. 권한을 제공하려면 `put-resource-policy` 명령을 실행하여 각 이벤트 데이터 스토어에 리소스 기반 정책을 연결하거나 CloudTrail 콘솔에서 이벤트 데이터 스토어의 정책을 편집하세요. 정책 예제는 [예시: CloudTrail이 쿼리를 실행하여 대시보드를 새로 고치도록 허용](security_iam_resource-based-policy-examples.md#security_iam_resource-based-policy-examples-eds-dashboard)을 참조하세요.

 새로 고침 일정을 설정하려면 사용자를 대신하여 대시보드를 새로 고치는 `StartDashboardRefresh` 작업을 실행할 수 있는 권한이 부여 CloudTrail 되어야 합니다. 권한을 제공하려면 `put-resource-policy` 작업을 실행하여 대시보드에 리소스 기반 정책을 연결하거나 CloudTrail 콘솔에서 대시보드의 정책을 편집하세요. 정책 예제는 [대시보드용 리소스 기반 정책 예시](security_iam_resource-based-policy-examples.md#security_iam_resource-based-policy-examples-dashboards)을 참조하세요.

**Topics**
+ [를 사용하여 사용자 지정 대시보드 생성 AWS CLI](#lake-dashboard-cli-create-custom)
+ [를 사용하여 Highlights 대시보드 활성화 AWS CLI](#lake-dashboard-cli-create-highlights)
+ [위젯 속성 보기](lake-widget-properties.md)

## 를 사용하여 사용자 지정 대시보드 생성 AWS CLI
<a name="lake-dashboard-cli-create-custom"></a>

다음 절차에서는 사용자 지정 대시보드를 생성하고, 이벤트 데이터 스토어 및 대시보드에 필요한 리소스 기반 정책을 연결하고, 대시보드를 업데이트하여 새로 고침 일정을 설정 및 활성화하는 방법을 보여줍니다.

1. `create-dashboard`를 실행하여 대시보드를 생성합니다.

   사용자 지정 대시보드를 생성할 때 최대 10개의 위젯이 있는 배열을 전달할 수 있습니다. 위젯은 쿼리 결과를 그래픽으로 보여줍니다. 각 위젯은 `ViewProperties`, `QueryStatement` 및 `QueryParameters`로 구성됩니다.
   + `ViewProperties` - 보기 유형의 속성을 지정합니다. 자세한 내용은 [위젯 속성 보기](lake-widget-properties.md) 단원을 참조하십시오.
   + `QueryStatement` - 대시보드가 새로 고쳐지면 CloudTrail 쿼리가 실행됩니다. 계정에 이벤트 데이터 스토어가 있는 한 여러 이벤트 데이터 스토어를 쿼리할 수 있습니다.
   + `QueryParameters` - 사용자 지정 대시보드인 `$Period$`, `$StartTime$` 및 `$EndTime$`에 대해 다음 `QueryParameters` 값이 지원됩니다. `QueryParameters`를 사용하려면 파라미터를 대체하려는 `QueryStatement`에 `?`를 배치하세요. CloudTrail은 쿼리가 실행될 때 파라미터를 채웁니다.

   다음 예제에서는 각 보기 유형 중 하나인 4개의 위젯이 있는 대시보드를 생성합니다.
**참고**  
이 예제에서는 `?`가 `eventTime`과 함께 사용되므로 작은 따옴표로 묶여 있습니다. 실행 중인 운영 체제에 따라 작은따옴표를 이스케이프 따옴표로 묶어야 할 수 있습니다. 자세한 내용은 [AWS CLI에서 문자열에 따옴표와 리터럴 사용](https://docs.aws.amazon.com/cli/v1/userguide/cli-usage-parameters-quoting-strings.html)을 참조하세요.

   ```
   aws cloudtrail create-dashboard --name 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": "AccountActivity",
           "View": "LineChart",
           "YAxisColumn": "eventCount",
           "XAxisColumn": "eventDate",
           "FilterColumn": "readOnly"
         },
         "QueryStatement": "SELECT DATE_TRUNC('?', eventTime) AS eventDate, IF(readOnly, 'read', 'write') AS readOnly, COUNT(*) as eventCount FROM eds WHERE eventTime > '?' AND eventTime < '?' GROUP BY DATE_TRUNC('?', eventTime), readOnly ORDER BY DATE_TRUNC('?', eventTime), readOnly",
         "QueryParameters": ["$Period$", "$StartTime$", "$EndTime$", "$Period$", "$Period$"]
       },
       {
         "ViewProperties": {
           "Height": "2",
           "Width": "4",
           "Title": "TopServices",
           "View": "BarChart",
           "LabelColumn": "service",
           "ValueColumn": "eventCount",
           "FilterColumn": "service",
           "Orientation": "Horizontal"
         },
         "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$"]
       }
     ]'
   ```

1. 위젯의 `QueryStatement`에 포함된 각 이벤트 데이터 스토어에 필요한 리소스 정책을 사용하여 별도의 파일을 생성합니다. 다음 예제 정책 문을 사용하여 *policy.json* 파일의 이름을 지정합니다.

    *123456789012*를 계정 ID로, *arn:aws:cloudtrail:us-east-1:123456789012:dashboard/exampleDashboard*를 대시보드의 ARN으로 바꿉니다.

   대시보드용 리소스 기반 정책에 대한 자세한 내용은 [예시: CloudTrail이 쿼리를 실행하여 대시보드를 새로 고치도록 허용](security_iam_resource-based-policy-examples.md#security_iam_resource-based-policy-examples-eds-dashboard) 섹션을 참조하세요.

1. `put-resource-policy` 명령을 실행하여 정책을 연결합니다. CloudTrail 콘솔에서 이벤트 데이터 스토어의 리소스 기반 정책을 업데이트할 수도 있습니다.

   다음 예제에서는 리소스 기반 정책을 이벤트 데이터 스토어에 연결합니다.

   ```
   aws cloudtrail put-resource-policy \
   --resource-arn eds-arn \
   --resource-policy file://policy.json
   ```

1. `put-resource-policy` 명령을 실행하여 리소스 기반 정책을 대시보드에 연결합니다. 정책 예제는 [대시보드용 리소스 기반 정책 예시](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"}}}]}'
   ```

1. `update-dashboard` 명령을 실행하여 `--refresh-schedule` 파라미터를 구성함으로써 새로 고침 일정을 설정하고 활성화합니다.

   `--refresh-schedule`는 다음과 같은 선택적 파라미터로 구성되어 있습니다.
   + `Frequency` - 일정에 대한 `Value` 및 `Unit`입니다.

     사용자 지정 대시보드의 경우 단위는 `HOURS` 또는 `DAYS`일 수 있습니다.

      사용자 지정 대시보드의 경우 단위가 `HOURS`: `1`, `6`, `12`, `24`인 경우 다음 값이 유효합니다.

     사용자 지정 대시보드의 경우 단위가 `DAYS`인 경우 유일하게 유효한 값은 `1`입니다.
   + `Status` – 새로고침 일정의 활성화 여부를 지정합니다. 값을 `ENABLED`로 설정하여 새로 고침 일정을 활성화하거나 `DISABLED`로 설정하여 새로 고침 일정을 끕니다.
   + `TimeOfDay ` - 일정을 실행할 UTC 기준 시간입니다. 시간 단위의 경우 분 단위만 나타냅니다. 기본값은 00:00입니다.

   다음 예제에서는 6시간마다 새로 고침 일정을 설정하고 일정을 활성화합니다.

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

## 를 사용하여 Highlights 대시보드 활성화 AWS CLI
<a name="lake-dashboard-cli-create-highlights"></a>

다음 절차에서는 Highlights 대시보드를 생성하고, 이벤트 데이터 스토어 및 대시보드에 필요한 리소스 기반 정책을 연결하고, 대시보드를 업데이트하여 새로 고침 일정을 설정 및 활성화하는 방법을 보여줍니다.

1. `create-dashboard` 명령을 실행하여 Highlights 대시보드를 생성합니다. 이 대시보드를 생성하려면 `--name`이 `AWSCloudTrail-Highlights`여야 합니다.

   ```
   aws cloudtrail create-dashboard --name AWSCloudTrail-Highlights
   ```

1. 계정의 각 이벤트 데이터 스토어에 대해 `put-resource-policy` 명령을 실행하여 리소스 기반 정책을 이벤트 데이터 스토어에 연결합니다. CloudTrail 콘솔에서 이벤트 데이터 스토어의 리소스 기반 정책을 업데이트할 수도 있습니다. 정책 예제는 [예시: CloudTrail이 쿼리를 실행하여 대시보드를 새로 고치도록 허용](security_iam_resource-based-policy-examples.md#security_iam_resource-based-policy-examples-eds-dashboard)을 참조하세요.

   다음 예제에서는 리소스 기반 정책을 이벤트 데이터 스토어에 연결합니다. *account-id*를 계정 ID로, *eds-arn*을 이벤트 데이터 스토어의 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"}}} ]}'
   ```

1. `put-resource-policy` 명령을 실행하여 리소스 기반 정책을 대시보드에 연결합니다. 정책 예제는 [대시보드용 리소스 기반 정책 예시](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"}}}]}'
   ```

1. `update-dashboard` 명령을 실행하여 `--refresh-schedule` 파라미터를 구성함으로써 새로 고침 일정을 설정하고 활성화합니다. Highlights 대시보드의 경우 유일하게 유효한 `UNIT`은 `HOURS`이고 유일하게 유효한 `Value`는 `6`입니다.

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