

# CloudTrail examples using AWS CLI
<a name="cli_cloudtrail_code_examples"></a>

다음 코드 예제에서는 CloudTrail에서 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여 줍니다.

*작업*은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

**Topics**
+ [작업](#actions)

## 작업
<a name="actions"></a>

### `add-tags`
<a name="cloudtrail_AddTags_cli_topic"></a>

다음 코드 예시는 `add-tags`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적에 태그를 추가하는 방법**  
다음 `add-tags` 명령은 `Trail1`에 대한 태그를 추가합니다.  

```
aws cloudtrail add-tags --resource-id arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1 --tags-list Key=name,Value=Alice Key=location,Value=us
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [AddTags](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/add-tags.html) 섹션을 참조하세요.

### `create-subscription`
<a name="cloudtrail_CreateSubscription_cli_topic"></a>

다음 코드 예시는 `create-subscription`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적에 대한 AWS 리소스를 생성하고 구성하는 방법**  
다음 `create-subscription` 명령은 `Trail1`에 대한 새 S3 버킷 및 SNS 주제를 생성합니다.  

```
aws cloudtrail create-subscription \
    --name Trail1 \
    --s3-new-bucket amzn-s3-demo-bucket \
    --sns-new-topic my-topic
```
출력:  

```
Setting up new S3 bucket amzn-s3-demo-bucket...
Setting up new SNS topic my-topic...
Creating/updating CloudTrail configuration...
CloudTrail configuration:
    {
        "trailList": [
            {
                "IncludeGlobalServiceEvents": true,
                "Name": "Trail1",
                "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1",
                "LogFileValidationEnabled": false,
                "IsMultiRegionTrail": false,
                "S3BucketName": "amzn-s3-demo-bucket",
                "SnsTopicName": "my-topic",
                "HomeRegion": "us-east-1"
            }
        ],
        "ResponseMetadata": {
        "HTTPStatusCode": 200,
        "RequestId": "f39e51f6-c615-11e5-85bd-d35ca21ee3e2"
        }
    }
Starting CloudTrail service...
Logs will be delivered to my-bucket
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [CreateSubscription](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/create-subscription.html)을 참조합니다.

### `create-trail`
<a name="cloudtrail_CreateTrail_cli_topic"></a>

다음 코드 예시는 `create-trail`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적을 생성하려면**  
다음 `create-trail` 예제에서는 이름이 `Trail1`인 다중 리전 추적을 생성하고 S3 버킷을 지정합니다.  

```
aws cloudtrail create-trail \
    --name Trail1 \
    --s3-bucket-name amzn-s3-demo-bucket \
    --is-multi-region-trail
```
출력:  

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "Trail1",
    "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [CreateTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/create-trail.html)을 참조하세요.

### `delete-trail`
<a name="cloudtrail_DeleteTrail_cli_topic"></a>

다음 코드 예시는 `delete-trail`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적을 삭제하는 방법**  
다음 `delete-trail` 명령은 이름인 `Trail1`인 추적을 삭제합니다.  

```
aws cloudtrail delete-trail --name Trail1
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [DeleteTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/delete-trail.html)을 참조하세요.

### `describe-trails`
<a name="cloudtrail_DescribeTrails_cli_topic"></a>

다음 코드 예시는 `describe-trails`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적을 설명하는 방법**  
다음 `describe-trails` 예제에서는 `Trail1` 및 `Trail2`의 설정을 반환합니다.  

```
aws cloudtrail describe-trails \
    --trail-name-list Trail1 Trail2
```
출력:  

```
{
    "trailList": [
        {
            "IncludeGlobalServiceEvents": true,
            "Name": "Trail1",
            "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1",
            "LogFileValidationEnabled": false,
            "IsMultiRegionTrail": false,
            "S3BucketName": "amzn-s3-demo-bucket",
            "CloudWatchLogsRoleArn": "arn:aws:iam::123456789012:role/CloudTrail_CloudWatchLogs_Role",
            "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:CloudTrail:*",
            "SnsTopicName": "my-topic",
            "HomeRegion": "us-east-1"
        },
        {
            "IncludeGlobalServiceEvents": true,
            "Name": "Trail2",
            "S3KeyPrefix": "my-prefix",
            "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2",
            "LogFileValidationEnabled": false,
            "IsMultiRegionTrail": false,
            "S3BucketName": "amzn-s3-demo-bucket2",
            "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c5ae5ac-3c13-421e-8335-c7868ef6a769",
            "HomeRegion": "us-east-1"
        }
    ]
}
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [DescribeTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/describe-trails.html)을 참조하세요.

### `get-event-selectors`
<a name="cloudtrail_GetEventSelectors_cli_topic"></a>

다음 코드 예시는 `get-event-selectors`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적의 이벤트 선택기 설정을 보는 방법**  
다음 `get-event-selectors` 명령은 `Trail1`에 대한 설정을 반환합니다.  

```
aws cloudtrail get-event-selectors --trail-name Trail1
```
출력:  

```
{
  "EventSelectors": [
      {
          "IncludeManagementEvents": true,
          "DataResources": [],
          "ReadWriteType": "All"
      }
  ],
  "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1"
}
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [GetEventSelectors](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/get-event-selectors.html)를 참조하세요.

### `get-trail-status`
<a name="cloudtrail_GetTrailStatus_cli_topic"></a>

다음 코드 예시는 `get-trail-status`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적 상태를 가져오는 방법**  
다음 `get-trail-status` 명령은 `Trail1`에 대한 전송 및 로깅 세부 정보를 반환합니다.  

```
aws cloudtrail get-trail-status --name Trail1
```
출력:  

```
{
  "LatestNotificationTime": 1454022144.869,
  "LatestNotificationAttemptSucceeded": "2016-01-28T23:02:24Z",
  "LatestDeliveryAttemptTime": "2016-01-28T23:02:24Z",
  "LatestDeliveryTime": 1454022144.869,
  "TimeLoggingStarted": "2015-11-06T18:36:38Z",
  "LatestDeliveryAttemptSucceeded": "2016-01-28T23:02:24Z",
  "IsLogging": true,
  "LatestCloudWatchLogsDeliveryTime": 1454022144.918,
  "StartLoggingTime": 1446834998.695,
  "StopLoggingTime": 1446834996.933,
  "LatestNotificationAttemptTime": "2016-01-28T23:02:24Z",
  "TimeLoggingStopped": "2015-11-06T18:36:36Z"
}
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [GetTrailStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/get-trail-status.html)를 참조하세요.

### `list-public-keys`
<a name="cloudtrail_ListPublicKeys_cli_topic"></a>

다음 코드 예시는 `list-public-keys`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적의 모든 퍼블릭 키를 나열하는 방법**  
다음 `list-public-keys` 명령은 지정된 시간 범위 내에서 다이제스트 파일에 서명하는 데 프라이빗 키가 사용된 모든 퍼블릭 키를 반환합니다.  

```
aws cloudtrail list-public-keys --start-time 2016-01-01T20:30:00.000Z
```
출력:  

```
{
  "PublicKeyList": [
      {
         "ValidityStartTime": 1453076702.0,
         "ValidityEndTime": 1455668702.0,
         "Value": "MIIBCgKCAQEAlSS3cl92HDycr/MTj0moOhas8habjrraXw+KzlWF0axSI2tcF+3iJ9BKQAVSKxGwxwu3m0wG3J+kUl1xboEcEPHYoIYMbgfSw7KGnuDKwkLzsQWhUJ0cIbOHASox1vv/5fNXkrHhGbDCHeVXm804c83nvHUEFYThr1PfyP/8HwrCtR3FX5OANtQCP61C1nJtSSkC8JSQUOrIP4CuwJjc+4WGDk+BGH5m9iuiAKkipEHWmUl8/P7XpfpWQuk4h8g3pXZOrNXr08lbh4d39svj7UqdhvOXoBISp9t/EXYuePGEtBdrKD9Dz+VHwyUPtBQvYr9BnkF88qBnaPNhS44rzwIDAQAB",
         "Fingerprint": "7f3f401420072e50a65a141430817ab3"
     }
  ]
}
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [ListPublicKeys](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/list-public-keys.html) 섹션을 참조하세요.

### `list-tags`
<a name="cloudtrail_ListTags_cli_topic"></a>

다음 코드 예시는 `list-tags`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적의 태그를 나열하는 방법**  
다음 `list-tags` 명령은 `Trail1` 및 `Trail2`에 대한 태그를 나열합니다.  

```
aws cloudtrail list-tags --resource-id-list arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1 arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2
```
출력:  

```
{
 "ResourceTagList": [
     {
         "ResourceId": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1",
         "TagsList": [
             {
                 "Value": "Alice",
                 "Key": "name"
             },
             {
                 "Value": "us",
                 "Key": "location"
             }
         ]
     },
     {
         "ResourceId": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail2",
         "TagsList": [
             {
                 "Value": "Bob",
                 "Key": "name"
             }
         ]
     }
  ]
}
```
+  API 세부 정보는 *AWS CLI 명령 참조*의 [ListTags](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/list-tags.html)를 참조하세요.

### `lookup-events`
<a name="cloudtrail_LookupEvents_cli_topic"></a>

다음 코드 예시는 `lookup-events`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적에 대한 이벤트를 조회하는 방법**  
다음 `lookup-events` 명령은 속성 `EventName`별로 API 활동 이벤트를 검색합니다  

```
aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=ConsoleLogin
```
출력:  

```
{
  "Events": [
     {
         "EventId": "654ccbc0-ba0d-486a-9076-dbf7274677a7",
         "Username": "my-session-name",
         "EventTime": "2021-11-18T09:41:02-08:00",
         "CloudTrailEvent": "{\"eventVersion\":\"1.02\",\"userIdentity\":{\"type\":\"AssumedRole\",\"principalId\":\"AROAJIKPFTA72SWU4L7T4:my-session-name\",\"arn\":\"arn:aws:sts::123456789012:assumed-role/my-role/my-session-name\",\"accountId\":\"123456789012\",\"sessionContext\":{\"attributes\":{\"mfaAuthenticated\":\"false\",\"creationDate\":\"2016-01-26T21:42:12Z\"},\"sessionIssuer\":{\"type\":\"Role\",\"principalId\":\"AROAJIKPFTA72SWU4L7T4\",\"arn\":\"arn:aws:iam::123456789012:role/my-role\",\"accountId\":\"123456789012\",\"userName\":\"my-role\"}}},\"eventTime\":\"2016-01-26T21:42:12Z\",\"eventSource\":\"signin.amazonaws.com\",\"eventName\":\"ConsoleLogin\",\"awsRegion\":\"us-east-1\",\"sourceIPAddress\":\"72.21.198.70\",\"userAgent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36\",\"requestParameters\":null,\"responseElements\":{\"ConsoleLogin\":\"Success\"},\"additionalEventData\":{\"MobileVersion\":\"No\",\"MFAUsed\":\"No\"},\"eventID\":\"654ccbc0-ba0d-486a-9076-dbf7274677a7\",\"eventType\":\"AwsConsoleSignIn\",\"recipientAccountId\":\"123456789012\"}",
         "EventName": "ConsoleLogin",
         "Resources": []
     }
  ]
}
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [LookupEvents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/lookup-events.html)를 참조하세요.

### `put-event-selectors`
<a name="cloudtrail_PutEventSelectors_cli_topic"></a>

다음 코드 예시는 `put-event-selectors`의 사용 방법을 보여줍니다.

**AWS CLI**  
**예제 1: 고급 이벤트 선택기를 사용하여 관리 이벤트 및 데이터 이벤트를 로깅하도록 추적 구성**  
추적의 모든 조건 및 선택기에 대해 최대 500개의 값까지 고급 이벤트 선택기와 고급 이벤트 선택기의 조건을 추가할 수 있습니다. 고급 이벤트 선택기를 사용하여 사용 가능한 모든 데이터 이벤트 형식을 기록할 수 있습니다. 고급 이벤트 선택기 또는 기본 이벤트 선택기 중 하나를 사용할 수 있습니다. 추적에 고급 이벤트 선택기를 적용하면 기존의 기본 이벤트 선택기를 모두 덮어씁니다.  
다음 `put-event-selectors` 예제에서는 `myTrail`이라는 추적에 대한 고급 이벤트 선택기를 생성하여 모든 관리 이벤트를 기록하고, 하나의 S3 버킷을 제외한 모든 S3 PutObject 및 DeleteObject API 직접 호출을 기록하고, `myFunction`이라는 Lambda 함수에 대한 데이터 API 직접 호출을 기록하고, `myTopic`이라는 SNS 주제에 대한 게시 API 직접 호출을 기록합니다.  

```
aws cloudtrail put-event-selectors \
    --trail-name myTrail \
    --advanced-event-selectors '[{"Name": "Log all management events", "FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Management"] }] },{"Name": "Log PutObject and DeleteObject events for all but one bucket","FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Data"] },{ "Field": "resources.type", "Equals": ["AWS::S3::Object"] },{ "Field": "eventName", "Equals": ["PutObject","DeleteObject"] },{ "Field": "resources.ARN", "NotStartsWith": ["arn:aws:s3:::amzn-s3-demo-bucket/"] }]},{"Name": "Log data events for a specific Lambda function","FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Data"] },{ "Field": "resources.type", "Equals": ["AWS::Lambda::Function"] },{ "Field": "resources.ARN", "Equals": ["arn:aws:lambda:us-east-1:123456789012:function:myFunction"] }]},{"Name": "Log all Publish API calls on a specific SNS topic","FieldSelectors": [{ "Field": "eventCategory", "Equals": ["Data"] },{ "Field": "resources.type", "Equals": ["AWS::SNS::Topic"] },{ "Field": "eventName", "Equals": ["Publish"] },{ "Field": "resources.ARN", "Equals": ["arn:aws:sns:us-east-1:123456789012:myTopic.fifo"] }]}]'
```
출력:  

```
{
    "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/myTrail",
    "AdvancedEventSelectors": [
        {
            "Name": "Log all management events",
            "FieldSelectors": [
                {
                    "Field": "eventCategory",
                    "Equals": [
                        "Management"
                    ]
                }
            ]
        },
        {
            "Name": "Log PutObject and DeleteObject events for all but one bucket",
            "FieldSelectors": [
                {
                    "Field": "eventCategory",
                    "Equals": [
                        "Data"
                    ]
                },
                {
                    "Field": "resources.type",
                    "Equals": [
                        "AWS::S3::Object"
                    ]
                },
                {
                    "Field": "eventName",
                    "Equals": [
                        "PutObject",
                        "DeleteObject"
                    ]
                },
                {
                    "Field": "resources.ARN",
                    "NotStartsWith": [
                        "arn:aws:s3:::amzn-s3-demo-bucket/"
                    ]
                }
            ]
        },
        {
            "Name": "Log data events for a specific Lambda function",
            "FieldSelectors": [
                {
                    "Field": "eventCategory",
                    "Equals": [
                        "Data"
                    ]
                },
                {
                    "Field": "resources.type",
                    "Equals": [
                        "AWS::Lambda::Function"
                    ]
                },
                {
                    "Field": "resources.ARN",
                    "Equals": [
                        "arn:aws:lambda:us-east-1:123456789012:function:myFunction"
                    ]
                }
            ]
        },
        {
            "Name": "Log all Publish API calls on a specific SNS topic",
            "FieldSelectors": [
                {
                    "Field": "eventCategory",
                    "Equals": [
                        "Data"
                    ]
                },
                {
                    "Field": "resources.type",
                    "Equals": [
                        "AWS::SNS::Topic"
                    ]
                },
                {
                    "Field": "eventName",
                    "Equals": [
                        "Publish"
                    ]
                },
                {
                    "Field": "resources.ARN",
                    "Equals": [
                        "arn:aws:sns:us-east-1:123456789012:myTopic.fifo"
                    ]
                }
            ]
        }
    ]
}
```
자세한 내용은 *AWS CloudTrail 사용 설명서*에서 [고급 이벤트 선택기를 사용하여 이벤트 로깅](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-advanced)을 참조하세요.  
**예제 2: 모든 관리 이벤트 및 데이터 이벤트를 기록하도록 트레일에 대한 이벤트 선택기 구성**  
최대 5개의 이벤트 선택기와 최대 250개의 데이터 리소스를 추적 대상으로 구성할 수 있습니다. 이벤트 선택기는 기본 이벤트 선택기라고도 합니다. 이벤트 선택기를 사용하여 S3 객체, Lambda 함수 및 DynnamoDB 테이블에 대한 관리 이벤트 및 데이터 이벤트를 로깅할 수 있습니다. 다른 리소스 형식의 데이터 이벤트를 기록하려면 고급 이벤트 선택기를 사용해야 합니다.  
다음 `put-event-selectors` 예제에서는 모든 관리 이벤트, 두 개의 Amazon S3 버킷/접두사 조합에 대한 데이터 이벤트, `hello-world-python-function`이라는 단일 AWS Lambda 함수에 대한 데이터 이벤트를 포함하도록 `TrailName`이라는 추적에 대한 이벤트 선택기를 생성합니다.  

```
aws cloudtrail put-event-selectors \
    --trail-name TrailName \
    --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::amzn-s3-demo-bucket/prefix","arn:aws:s3:::amzn-s3-demo-bucket2/prefix2"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda:us-west-2:999999999999:function:hello-world-python-function"]}]}]'
```
출력:  

```
{
    "EventSelectors": [
        {
            "IncludeManagementEvents": true,
            "DataResources": [
                {
                    "Values": [
                        "arn:aws:s3:::amzn-s3-demo-bucket/prefix",
                        "arn:aws:s3:::amzn-s3-demo-bucket2/prefix2"
                    ],
                    "Type": "AWS::S3::Object"
                },
                {
                    "Values": [
                        "arn:aws:lambda:us-west-2:123456789012:function:hello-world-python-function"
                    ],
                    "Type": "AWS::Lambda::Function"
                },
            ],
            "ReadWriteType": "All"
        }
    ],
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName"
}
```
자세한 내용은 **AWS CloudTrail 사용 설명서에서 [기본 이벤트 선택기를 사용하여 이벤트 로깅](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-basic)을 참조하세요.  
**예제 3: 관리 이벤트, S3 객체의 모든 S3 데이터 이벤트 및 계정의 함수에 대한 모든 Lambda 데이터 이벤트를 기록하도록 트레일에 대한 이벤트 선택기 구성**  
다음 `put-event-selectors` 예제에서는 모든 관리 이벤트와 AWS 계정의 모든 Amazon S3 버킷 및 AWS Lambda 함수에 대한 모든 데이터 이벤트를 포함하는 `TrailName2`라는 추적에 대한 이벤트 선택기를 생성합니다.  

```
aws cloudtrail put-event-selectors \
    --trail-name TrailName2 \
    --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda"]}]}]'
```
출력:  

```
{
    "EventSelectors": [
        {
            "IncludeManagementEvents": true,
            "DataResources": [
                {
                    "Values": [
                        "arn:aws:s3"
                    ],
                    "Type": "AWS::S3::Object"
                },
                {
                    "Values": [
                        "arn:aws:lambda"
                    ],
                    "Type": "AWS::Lambda::Function"
                },
            ],
            "ReadWriteType": "All"
        }
    ],
    "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName2"
}
```
자세한 내용은 *AWS CloudTrail 사용 설명서*에서 [기본 이벤트 선택기를 사용하여 이벤트 로깅](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-basic)을 참조하세요.  
+  API 세부 정보는 **AWS CLI 명령 참조의 [PutEventSelectors](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/put-event-selectors.html)를 참조하세요.

### `remove-tags`
<a name="cloudtrail_RemoveTags_cli_topic"></a>

다음 코드 예시는 `remove-tags`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적의 태그를 제거하는 방법**  
다음 `remove-tags` 명령은 지정된 `Trail1` 태그를 지정합니다.  

```
aws cloudtrail remove-tags --resource-id arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1 --tags-list Key=name Key=location
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [RemoveTags](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/remove-tags.html) 섹션을 참조하세요.

### `start-logging`
<a name="cloudtrail_StartLogging_cli_topic"></a>

다음 코드 예시는 `start-logging`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적에 대해 로깅을 시작하는 방법**  
다음 `start-logging` 명령을 `Trail1`에 대한 로깅을 켭니다.  

```
aws cloudtrail start-logging --name Trail1
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [StartLogging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/start-logging.html)을 참조하세요.

### `stop-logging`
<a name="cloudtrail_StopLogging_cli_topic"></a>

다음 코드 예시는 `stop-logging`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적 로깅을 중지하는 방법**  
다음 `stop-logging` 명령은 `Trail1`에 대한 로깅을 끕니다.  

```
aws cloudtrail stop-logging --name Trail1
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [StopLogging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/stop-logging.html)을 참조하세요.

### `update-subscription`
<a name="cloudtrail_UpdateSubscription_cli_topic"></a>

다음 코드 예시는 `update-subscription`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적에 대한 구성 설정을 업데이트하는 방법**  
다음 `update-subscription` 예제에서는 추적을 업데이트하여 새 S3 버킷 및 SNS 주제를 지정합니다.  

```
aws cloudtrail update-subscription \
    --name Trail1 \
    --s3-new-bucket amzn-s3-demo-bucket \
    --sns-new-topic my-topic-new
```
출력:  

```
Setting up new S3 bucket amzn-s3-demo-bucket...
Setting up new SNS topic my-topic-new...
Creating/updating CloudTrail configuration...
CloudTrail configuration:
{
    "trailList": [
        {
            "IncludeGlobalServiceEvents": true,
            "Name": "Trail1",
            "TrailARN": "arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1",
            "LogFileValidationEnabled": false,
            "IsMultiRegionTrail": false,
            "S3BucketName": "amzn-s3-demo-bucket",
            "SnsTopicName": "my-topic-new",
            "HomeRegion": "us-east-1"
        }
    ],
    "ResponseMetadata": {
        "HTTPStatusCode": 200,
        "RequestId": "31126f8a-c616-11e5-9cc6-2fd637936879"
    }
}
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [UpdateSubscription](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/update-subscription.html)을 참조하세요.

### `update-trail`
<a name="cloudtrail_UpdateTrail_cli_topic"></a>

다음 코드 예시는 `update-trail`의 사용 방법을 보여줍니다.

**AWS CLI**  
**추적을 업데이트하는 방법**  
다음 `update-trail` 예제에서는 로그 전송에 기존 버킷을 사용하도록 추적을 업데이트합니다.  

```
aws cloudtrail update-trail \
    --name Trail1 \
    --s3-bucket-name amzn-s3-demo-bucket
```
출력:  

```
{
    "IncludeGlobalServiceEvents": true,
    "Name": "Trail1",
    "TrailARN": "arn:aws:cloudtrail:us-west-2:123456789012:trail/Trail1",
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": true,
    "S3BucketName": "amzn-s3-demo-bucket"
}
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [UpdateTrail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/update-trail.html)을 참조하세요.

### `validate-logs`
<a name="cloudtrail_ValidateLogs_cli_topic"></a>

다음 코드 예시는 `validate-logs`의 사용 방법을 보여줍니다.

**AWS CLI**  
**로그 파일을 검증하는 방법**  
다음 `validate-logs` 명령은 `Trail1`에 대한 로그의 유효성을 확인합니다.  

```
aws cloudtrail validate-logs --trail-arn arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1 --start-time 20160129T19:00:00Z
```
출력:  

```
Validating log files for trail arn:aws:cloudtrail:us-east-1:123456789012:trail/Trail1 between 2016-01-29T19:00:00Z and 2016-01-29T22:15:43Z
Results requested for 2016-01-29T19:00:00Z to 2016-01-29T22:15:43Z
Results found for 2016-01-29T19:24:57Z to 2016-01-29T21:24:57Z:
3/3 digest files valid
15/15 log files valid
```
+  API 세부 정보는 **AWS CLI 명령 참조의 [ValidateLogs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/validate-logs.html)를 참조하세요.