를 사용하여 트레일을 관리합니다. AWS CLI - AWS CloudTrail

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

를 사용하여 트레일을 관리합니다. AWS CLI

에는 트레일을 관리하는 데 도움이 되는 몇 가지 다른 명령이 AWS CLI 포함되어 있습니다. 이러한 명령은 태그를 추적에 추가하고, 추적 상태를 가져오고, 추적에 대한 로깅을 시작 및 중지하고, 추적을 삭제합니다. 이 명령은 트레일이 생성된 동일한 AWS 지역 (홈 지역) 에서 실행해야 합니다. 를 사용할 때는 프로필에 구성된 AWS 지역에서 명령이 실행된다는 점을 기억하십시오. AWS CLI다른 리전에서 명령을 실행하려는 경우 프로필의 기본 리전을 변경하거나 명령에 --region 파라미터를 사용합니다.

추적에 태그를 한 개 이상 추가합니다.

기존 추적에 하나 이상의 태그를 추가하려면 add-tags 명령을 실행합니다.

다음 예제에서는 미국 동부(오하이오) 리전에서 이름이 Owner이고 값이 Mary인 태그를 ARN이 arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail인 추적에 추가합니다.

aws cloudtrail add-tags --resource-id arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail --tags-list Key=Owner,Value=Mary --region us-east-2

성공한 경우 이 명령은 아무 것도 반환하지 않습니다.

하나 이상의 추적에 대한 태그를 나열합니다.

하나 이상의 기존 추적과 연결된 태그를 보려면 list-tags 명령을 사용합니다.

다음 예제에서는 Trail1Trail2에 대한 태그를 나열합니다.

aws cloudtrail list-tags --resource-id-list arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1 arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail2

이 명령이 성공하면 다음과 비슷한 출력이 반환됩니다.

{ "ResourceTagList": [ { "ResourceId": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1", "TagsList": [ { "Value": "Alice", "Key": "Name" }, { "Value": "Ohio", "Key": "Location" } ] }, { "ResourceId": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail2", "TagsList": [ { "Value": "Bob", "Key": "Name" } ] } ] }

추적에서 하나 이상의 태그를 제거합니다.

기존 추적에서 하나 이상의 태그를 제거하려면 remove-tags 명령을 실행합니다.

다음 예제에서는 미국 동부(오하이오) 리전에서 ARN이 arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1인 추적에서 이름이 LocationName인 태그를 제거합니다.

aws cloudtrail remove-tags --resource-id arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1 --tags-list Key=Name Key=Location --region us-east-2

성공한 경우 이 명령은 아무 것도 반환하지 않습니다.

추적 설정 및 추적 상태 검색

describe-trails명령을 실행하여 AWS 지역의 트레일에 대한 정보를 검색하십시오. 다음 예는 미국 동부(오하이오) 리전에서 구성된 추적에 대한 정보를 반환합니다.

aws cloudtrail describe-trails --region us-east-2

이 명령이 성공하면 다음과 비슷한 출력이 표시됩니다.

{ "trailList": [ { "Name": "my-trail", "S3BucketName": "DOC-EXAMPLE-BUCKET1", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-2" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": false, }, { "Name": "my-special-trail", "S3BucketName": "DOC-EXAMPLE-BUCKET2", "S3KeyPrefix": "example-prefix", "IncludeGlobalServiceEvents": false, "IsMultiRegionTrail": false, "HomeRegion": "us-east-2", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-special-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": true, "IsOrganizationTrail": false }, { "Name": "my-org-trail", "S3BucketName": "DOC-EXAMPLE-BUCKET3", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-1" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-org-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": true } ] }

get-trail 명령을 실행하여 특정 추적에 대한 설정 정보를 검색합니다. 다음 예에서는 이름이 my-rail인 추적에 대한 설정 정보를 반환합니다.

aws cloudtrail get-trail - -name my-trail

이 명령이 성공하면 다음과 비슷한 출력이 반환됩니다.

{ "Trail": { "Name": "my-trail", "S3BucketName": "DOC-EXAMPLE-BUCKET", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-2" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": false, } }

get-trail-status 명령을 실행하여 추적의 상태를 검색합니다. 이 명령을 만든 지역 (홈 AWS 지역) 에서 이 명령을 실행하거나 --region 매개 변수를 추가하여 해당 지역을 지정해야 합니다.

참고

트레일이 조직 트레일이고 조직의 멤버 계정인 경우 이름뿐만 아니라 해당 트레일의 전체 ARN을 제공해야 합니다. AWS Organizations

aws cloudtrail get-trail-status --name my-trail

이 명령이 성공하면 다음과 비슷한 출력이 표시됩니다.

{ "LatestDeliveryTime": 1441139757.497, "LatestDeliveryAttemptTime": "2015-09-01T20:35:57Z", "LatestNotificationAttemptSucceeded": "2015-09-01T20:35:57Z", "LatestDeliveryAttemptSucceeded": "2015-09-01T20:35:57Z", "IsLogging": true, "TimeLoggingStarted": "2015-09-01T00:54:02Z", "StartLoggingTime": 1441068842.76, "LatestDigestDeliveryTime": 1441140723.629, "LatestNotificationAttemptTime": "2015-09-01T20:35:57Z", "TimeLoggingStopped": "" }

위의 JSON 코드에 표시된 필드 외에도 Amazon SNS 또는 Amazon S3 오류가 있는 경우 상태에 다음 필드가 포함됩니다.

  • LatestNotificationError. 주제 구독에 실패할 경우 Amazon SNS에서 내보낸 오류를 포함합니다.

  • LatestDeliveryError. 로그 파일을 버킷으로 전송할 CloudTrail 수 없는 경우 Amazon S3에서 발생하는 오류를 포함합니다.

CloudTrail Insights 이벤트 셀렉터 구성

put-insight-selectors를 실행하고 ApiCallRateInsight, ApiErrorRateInsight 또는 둘 다를 InsightType 속성의 값으로 지정하여 추적에서 Insights 이벤트를 활성화합니다. 트레일에 대한 인사이트 선택기 설정을 보려면 get-insight-selectors 명령을 실행합니다. 트레일이 생성된 지역 (홈 AWS 지역) 에서 이 명령을 실행하거나 명령에 --region 파라미터를 추가하여 해당 지역을 지정해야 합니다.

참고

ApiCallRateInsight에 대한 Insights 이벤트를 로깅하려면, 추적에서 write 관리 이벤트를 로깅해야 합니다. ApiErrorRateInsight에 대한 Insights 이벤트를 로깅하려면, 추적에서 read 또는 write 관리 이벤트를 로깅해야 합니다.

Insights 이벤트를 로그하는 추적 예

다음 예제에서는 이름이 TrailName3인 트레일에 대한 Insights 이벤트 선택기를 만드는 put-insight-selectors 데 사용합니다. 이렇게 하면 TrailName3 트레일에 대한 Insights 이벤트를 수집할 수 있습니다. Insights 이벤트 선택기가 ApiErrorRateInsightApiCallRateInsight Insights 이벤트 유형을 모두 로그합니다.

aws cloudtrail put-insight-selectors --trail-name TrailName3 --insight-selectors '[{"InsightType": "ApiCallRateInsight"},{"InsightType": "ApiErrorRateInsight"}]'

이 예제에서는 트레일에 대해 구성된 인사이트 이벤트 선택기를 반환합니다.

{ "InsightSelectors": [ { "InsightType": "ApiErrorRateInsight" }, { "InsightType": "ApiCallRateInsight" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName3" }

예: Insights 이벤트 수집 비활성화

다음 예제에서는 이름이 TrailName3인 트레일에 대한 Insights 이벤트 선택기를 제거하는 put-insight-selectors 데 사용합니다. Insights 선택기의 JSON 문자열을 지우면 3 트레일에 대한 Insights 이벤트 수집이 비활성화됩니다. TrailName

aws cloudtrail put-insight-selectors --trail-name TrailName3 --insight-selectors '[]'

이 예제에서는 트레일에 대해 구성된 현재 비어 있는 인사이트 이벤트 선택기를 반환합니다.

{ "InsightSelectors": [ ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName3" }

이벤트 선택기 구성

추적에 대한 이벤트 선택기 설정을 보려면 get-event-selectors 명령을 실행합니다. 이 명령은 명령이 생성된 지역 (홈 AWS 지역) 에서 실행하거나 파라미터를 사용하여 해당 지역을 지정해야 합니다. --region

aws cloudtrail get-event-selectors --trail-name TrailName
참고

트레일이 조직 트레일이고 조직의 멤버 계정인 경우 이름뿐만 아니라 해당 트레일의 전체 ARN을 제공해야 합니다. AWS Organizations

다음 예에서는 추적에 대한 이벤트 선택기의 기본 설정을 반환합니다.

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

이벤트 선택기를 생성하려면 put-event-selectors 명령을 실행합니다. 추적에 Insights 이벤트를 로그하려면 이벤트 선택기에서 추적을 구성하려는 Insights 유형의 로깅을 활성화해야 합니다. Insights 이벤트에 대한 자세한 내용은 Insights 이벤트 로깅 섹션을 참조하세요.

계정에서 이벤트가 발생하면 트레일의 구성을 CloudTrail 평가합니다. 이벤트가 추적에 대한 이벤트 선택기와 일치하는 경우 추적은 이벤트를 처리하고 로깅합니다. 최대 5개의 이벤트 선택기와 최대 250개의 데이터 리소스를 추적 대상으로 구성할 수 있습니다. 자세한 내용은 데이터 이벤트 로깅 단원을 참조하세요.

특정 이벤트 선택기가 있는 추적 예

다음 예제는 읽기 전용 및 쓰기 전용 관리 이벤트, 두 Amazon S3 버킷/접두사 조합에 대한 데이터 이벤트, 이름이 지정된 단일 함수에 대한 데이터 이벤트를 TrailName포함하도록 이름이 지정된 트레일에 대한 이벤트 선택기를 생성합니다. AWS Lambda hello-world-python-function

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET1/prefix","arn:aws:s3:::DOC-EXAMPLE-BUCKET2/prefix2"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda:us-west-2:999999999999:function:hello-world-python-function"]}]}]'

다음 예제에서는 추적에 대해 구성된 이벤트 선택기를 반환합니다.

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/prefix", "arn:aws:s3:::DOC-EXAMPLE-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" }

모든 관리 및 데이터 이벤트를 로그하는 추적 예

다음 예제는 읽기 전용 및 쓰기 전용 관리 이벤트를 비롯한 모든 이벤트와 계정의 모든 Amazon S3 버킷, 함수 AWS Lambda 및 Amazon DynamoDB 테이블에 대한 모든 데이터 이벤트를 포함하는 이름이 TrailName2인 트레일에 대한 이벤트 선택기를 생성합니다. AWS 이 예제에서는 기본 이벤트 선택기를 사용하기 때문에 S3 이벤트, 이더리움 노드에서의 AWS Outposts Amazon Managed Blockchain JSON-RPC 호출 또는 기타 고급 이벤트 선택기 리소스 유형에 대한 로깅을 구성할 수 없습니다. 해당 리소스에 대한 데이터 이벤트를 로그하려면 고급 이벤트 선택기를 사용해야 합니다. 자세한 내용은 고급 이벤트 선택기 구성 단원을 참조하세요.

참고

추적이 하나의 리전에만 적용되는 경우 이벤트 선택기 파라미터를 사용하여 모든 Amazon S3 버킷과 Lambda 함수를 지정하더라도 해당 리전의 이벤트만 로그됩니다. 이벤트 선택기는 추적이 생성된 리전에만 적용됩니다.

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"]},{"Type": "AWS::DynamoDB::Table","Values": ["arn:aws:dynamodb"]}]}]'

다음 예제에서는 추적에 대해 구성된 이벤트 선택기를 반환합니다.

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::" ], "Type": "AWS::S3::Object" }, { "Values": [ "arn:aws:lambda" ], "Type": "AWS::Lambda::Function" }, { "Values": [ "arn:aws:dynamodb" ], "Type": "AWS::DynamoDB::Table" } ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName2" }

이벤트를 기록하지 않는 예제 트레일 AWS Key Management Service

다음 예제에서는 읽기 전용 및 쓰기 전용 관리 이벤트는 포함하되 () 이벤트는 TrailName AWS Key Management Service 제외하도록 이름이 지정된 트레일의 이벤트 선택기를 만듭니다.AWS KMS이벤트는 관리 AWS KMS 이벤트로 취급되고 이벤트 양이 많을 수 있으므로 관리 이벤트를 캡처하는 트레일이 두 개 이상 있는 경우 해당 이벤트가 CloudTrail 청구서에 상당한 영향을 미칠 수 있습니다. 이 예제의 사용자는 하나를 제외한 모든 트레일에서 AWS KMS 이벤트를 제외하도록 선택했습니다. 이벤트 소스를 제외하려면 이벤트 선택기에 ExcludeManagementEventSources을 추가하고 문자열 값에 이벤트 소스를 지정합니다.

관리 이벤트를 기록하지 않도록 선택하면 이벤트가 기록되지 않으므로 AWS KMS 이벤트 로깅 설정을 변경할 수 없습니다. AWS KMS

트레일에 AWS KMS 이벤트 로깅을 다시 시작하려면 빈 배열을 의 값으로 ExcludeManagementEventSources 전달하십시오.

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": ["kms.amazonaws.com"],"IncludeManagementEvents": true]}]'

다음 예제에서는 트레일에 대해 구성된 이벤트 선택기를 반환합니다.

{ "EventSelectors": [ { "ExcludeManagementEventSources": [ "kms.amazonaws.com" ], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

트레일에 AWS KMS 이벤트 로깅을 다시 시작하려면 다음 명령과 같이 빈 배열을 의 ExcludeManagementEventSources 값으로 전달하십시오.

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

관련 저용량 AWS Key Management Service 이벤트를 기록하는 예제 트레일

다음 예제에서는 쓰기 전용 관리 이벤트 및 이벤트를 TrailName포함하도록 이름이 지정된 트레일의 이벤트 선택기를 만듭니다. AWS KMS 이벤트는 관리 AWS KMS 이벤트로 취급되고 이벤트 양이 많을 수 있으므로 관리 이벤트를 캡처하는 트레일이 두 개 이상 있는 경우 해당 이벤트가 CloudTrail 청구서에 상당한 영향을 미칠 수 있습니다. 이 예제의 사용자는 AWS KMS 쓰기 이벤트를 포함하도록 선택했습니다. 쓰기 이벤트에는 Disable ScheduleKey EncryptDecrypt, DeleteGenerateDataKey (이제는 읽기 이벤트로 취급됨) 와 같은 대용량 작업이 포함되지만 더 이상 포함되지는 않습니다.

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "WriteOnly","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

다음 예제에서는 트레일에 대해 구성된 이벤트 선택기를 반환합니다. 이 로그는 이벤트를 포함한 쓰기 전용 관리 이벤트를 기록합니다. AWS KMS

{ "EventSelectors": [ { "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "WriteOnly" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

Amazon RDS Data API 이벤트를 로그하지 않는 추적 예

다음 예제에서는 읽기 전용 및 쓰기 전용 관리 이벤트는 포함하되 Amazon RDS Data API 이벤트는 TrailName제외하도록 이름이 지정된 트레일에 대한 이벤트 선택기를 생성합니다. Amazon RDS Data API 이벤트는 관리 이벤트로 취급되고 이벤트 양이 많을 수 있으므로 관리 이벤트를 캡처하는 트레일이 두 개 이상 있는 경우 CloudTrail 청구서에 상당한 영향을 미칠 수 있습니다. 이 예의 사용자는 하나를 제외한 모든 추적에서 Amazon RDS Data API 이벤트를 제외하도록 선택했습니다. 이벤트 소스를 제외하려면 이벤트 선택기에 ExcludeManagementEventSources를 추가하고 문자열 값에 Amazon RDS Data API 이벤트 소스(rdsdata.amazonaws.com)를 지정합니다.

관리 이벤트를 로그하지 않도록 선택하는 경우 Amazon RDS Data API 이벤트가 로그되지 않으며, 이벤트 로깅 설정을 변경할 수 없습니다.

Amazon RDS Data API 관리 이벤트를 트레일에 다시 기록하기 시작하려면 빈 배열을 의 ExcludeManagementEventSources 값으로 전달하십시오.

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": ["rdsdata.amazonaws.com"],"IncludeManagementEvents": true]}]'

다음 예제에서는 트레일에 대해 구성된 이벤트 선택기를 반환합니다.

{ "EventSelectors": [ { "ExcludeManagementEventSources": [ "rdsdata.amazonaws.com" ], "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

Amazon RDS Data API 관리 이벤트를 트레일에 다시 기록하기 시작하려면 다음 명령과 같이 빈 배열을 의 ExcludeManagementEventSources 값으로 전달하십시오.

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","ExcludeManagementEventSources": [],"IncludeManagementEvents": true]}]'

고급 이벤트 선택기 구성

기본 이벤트 선택기 대신 고급 이벤트 선택기를 사용하여 데이터 이벤트를 포함하거나 제외하려면 추적의 세부 정보 페이지에서 고급 이벤트 선택기를 사용합니다. 고급 이벤트 선택기를 사용하면 기본 이벤트 선택기보다 더 많은 리소스 유형에 데이터 이벤트를 로그할 수 있습니다. 기본 선택기는 S3 객체 활동, AWS Lambda 함수 실행 활동 및 DynamoDB 테이블을 로그합니다.

고급 이벤트 선택기에서 S3 버킷, AWS Lambda 함수, DynamoDB 테이블, S3 객체 Lambda 액세스 포인트, EBS 스냅샷의 Amazon EBS 다이렉트 API, S3 액세스 포인트, DynamoDB 스트림, Lake Formation에서 생성한 테이블 등과 같은 특정 리소스 유형에 대한 데이터 이벤트를 수집하는 식을 작성하십시오. AWS Glue

고급 이벤트 선택기에 대한 자세한 내용은 고급 이벤트 선택기 구성 단원을 참조하세요.

추적에 대한 고급 이벤트 선택기 설정을 보려면 다음의 get-event-selectors 명령을 실행합니다. 트레일이 생성된 지역 (홈 AWS 지역) 에서 이 명령을 실행하거나 --region 매개변수를 추가하여 해당 지역을 지정해야 합니다.

aws cloudtrail get-event-selectors --trail-name TrailName
참고

트레일이 조직 트레일이고 조직 내 멤버 계정으로 로그인한 경우 이름뿐만 아니라 트레일의 전체 ARN을 제공해야 합니다. AWS Organizations

다음 예에서는 추적에 대한 고급 이벤트 선택기의 기본 설정을 반환합니다. 기본적으로 추적에 대해 고급 이벤트 선택기가 구성되지 않습니다.

{ "AdvancedEventSelectors": [], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

고급 이벤트 선택기를 생성하려면 put-event-selectors 명령을 실행합니다. 계정에서 데이터 이벤트가 발생하면 트레일의 구성을 CloudTrail 평가합니다. 이벤트가 추적에 대한 고급 이벤트 선택기와 일치하는 경우 추적은 이벤트를 처리하고 로그합니다. 추적의 모든 고급 이벤트 선택기에 대해 지정된 모든 값을 포함하여 추적에서 조건을 최대 500개까지 구성할 수 있습니다. 자세한 내용은 데이터 이벤트 로깅 단원을 참조하세요.

특정 고급 이벤트 선택기가 있는 추적 예

다음 예제에서는 읽기 및 쓰기 관리 이벤트 (선택기 생략) 를 TrailName포함하도록 이름이 지정된 트레일에 대한 사용자 지정 고급 이벤트 readOnly 선택기를 생성하고, 이름이 DOC-EXAMPLE-BUCKET 지정된 PutObject 버킷과 함수에 대한 DeleteObject 데이터 이벤트를 제외한 모든 Amazon S3 버킷/접두사 조합에 대한 데이터 이벤트를 생성합니다. AWS Lambda MyLambdaFunction 이들은 사용자 지정 고급 이벤트 선택기이므로 각 선택기 세트에는 설명적인 이름이 있습니다. 후행 슬래시는 S3 버킷에 대한 ARN 값의 일부라는 점에 유의합니다.

aws cloudtrail put-event-selectors --trail-name TrailName --advanced-event-selectors '[ { "Name": "Log readOnly and writeOnly 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:::DOC-EXAMPLE-BUCKET/"] } ] }, { "Name": "Log data plane actions on MyLambdaFunction", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Lambda::Function"] }, { "Field": "resources.ARN", "Equals": ["arn:aws:lambda:us-east-2:111122223333:function/MyLambdaFunction"] } ] } ]'

이 예에서는 추적에 대해 구성된 고급 이벤트 선택기를 반환합니다.

{ "AdvancedEventSelectors": [ { "Name": "Log readOnly and writeOnly 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": "resources.ARN", "NotStartsWith": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/" ] }, ] }, { "Name": "Log data plane actions on MyLambdaFunction", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::Lambda::Function" ] }, { "Field": "eventName", "Equals": [ "Invoke" ] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:lambda:us-east-2:111122223333:function/MyLambdaFunction" ] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

사용자 지정 고급 이벤트 선택기를 사용하여 Amazon S3를 AWS Outposts 데이터 이벤트에 기록하는 예제 트레일

다음 예제는 전초 기지의 AWS Outposts 객체에 있는 모든 Amazon S3에 대한 모든 데이터 이벤트를 포함하도록 트레일을 구성하는 방법을 보여줍니다. 이번 릴리스에서 해당 resources.type 필드의 AWS Outposts 이벤트에 대해 지원되는 S3 값은 다음과 AWS::S3Outposts::Object 같습니다.

aws cloudtrail put-event-selectors --trail-name TrailName --region region \ --advanced-event-selectors \ '[ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3Outposts::Object"] } ] } ]'

이 명령은 다음 출력 예를 반환합니다.

{ "AdvancedEventSelectors": [ { "Name": "OutpostsEventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3Outposts::Object" ] } ] } ], "TrailARN": "arn:aws:cloudtrail:region:123456789012:trail/TrailName" }

고급 이벤트 선택기를 사용하여 이벤트를 AWS Key Management Service 제외하는 예제 트레일

다음 예제에서는 읽기 전용 및 쓰기 전용 관리 이벤트는 포함하되 (선택기 생략) 이벤트는 제외 () TrailName하도록 이름이 지정된 트레일의 고급 이벤트 readOnly 선택기를 만듭니다. AWS Key Management Service AWS KMS이벤트는 관리 AWS KMS 이벤트로 취급되고 이벤트 양이 많을 수 있으므로 관리 이벤트를 캡처하는 트레일이 두 개 이상 있는 경우 해당 이벤트가 CloudTrail 청구서에 상당한 영향을 미칠 수 있습니다.

관리 이벤트를 기록하지 않도록 선택하면 이벤트가 기록되지 않으므로 AWS KMS 이벤트 로깅 설정을 변경할 수 없습니다. AWS KMS

트레일에 AWS KMS 이벤트 로깅을 다시 시작하려면 eventSource 선택기를 제거하고 명령을 다시 실행하십시오.

aws cloudtrail put-event-selectors --trail-name TrailName \ --advanced-event-selectors ' [ { "Name": "Log all management events except KMS events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Management"] }, { "Field": "eventSource", "NotEquals": ["kms.amazonaws.com"] } ] } ]'

이 예에서는 추적에 대해 구성된 고급 이벤트 선택기를 반환합니다.

{ "AdvancedEventSelectors": [ { "Name": "Log all management events except KMS events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] }, { "Field": "eventSource", "NotEquals": [ "kms.amazonaws.com" ] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

제외된 이벤트를 추적에 다시 로그하려면 다음 명령과 같이 eventSource 선택기를 제거합니다.

aws cloudtrail put-event-selectors --trail-name TrailName \ --advanced-event-selectors ' [ { "Name": "Log all management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Management"] } ] } ]'

고급 이벤트 선택기를 사용하여 Amazon RDS Data API 관리 이벤트를 제외하는 예제 트레일

다음 예제에서는 읽기 전용 및 쓰기 전용 관리 이벤트는 포함하되 (선택기 생략readOnly) Amazon RDS Data API 관리 이벤트는 TrailName제외하도록 이름이 지정된 트레일의 고급 이벤트 선택기를 생성합니다. Amazon RDS 데이터 API 관리 이벤트를 제외하려면 eventSource 필드의 문자열 값에 Amazon RDS 데이터 API 이벤트 소스를 지정하십시오. rdsdata.amazonaws.com

관리 이벤트를 기록하지 않도록 선택하면 Amazon RDS 데이터 API 관리 이벤트가 로깅되지 않으며 Amazon RDS Data API 이벤트 로깅 설정을 변경할 수 없습니다.

Amazon RDS Data API 관리 이벤트를 트레일에 다시 기록하려면 eventSource 선택기를 제거하고 명령을 다시 실행하십시오.

aws cloudtrail put-event-selectors --trail-name TrailName \ --advanced-event-selectors ' [ { "Name": "Log all management events except Amazon RDS Data API management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Management"] }, { "Field": "eventSource", "NotEquals": ["rdsdata.amazonaws.com"] } ] } ]'

이 예에서는 추적에 대해 구성된 고급 이벤트 선택기를 반환합니다.

{ "AdvancedEventSelectors": [ { "Name": "Log all management events except Amazon RDS Data API management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] }, { "Field": "eventSource", "NotEquals": [ "rdsdata.amazonaws.com" ] } ] } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

제외된 이벤트를 추적에 다시 로그하려면 다음 명령과 같이 eventSource 선택기를 제거합니다.

aws cloudtrail put-event-selectors --trail-name TrailName \ --advanced-event-selectors ' [ { "Name": "Log all management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Management"] } ] } ]'

추적에 대한 로깅 중단 및 시작

다음 명령은 로깅을 시작하고 CloudTrail 중지합니다.

aws cloudtrail start-logging --name awscloudtrail-example
aws cloudtrail stop-logging --name awscloudtrail-example
참고

버킷을 삭제하기 전에 stop-logging 명령을 실행하여 이벤트가 버킷으로 전송되는 것을 중지합니다. 로깅을 중지하지 않으면 제한된 기간 동안 이름이 같은 버킷에 로그 파일을 CloudTrail 전송하려고 시도합니다.

트레일 로깅을 중지하거나 삭제하면 해당 트레일에서 CloudTrail Insights가 비활성화됩니다.

추적 삭제

Amazon Security Lake에서 CloudTrail 관리 이벤트를 활성화한 경우, 다중 read 지역이고 write 관리 이벤트를 모두 기록하는 조직 트레일을 하나 이상 유지 관리해야 합니다. 이 요구 사항을 충족하는 유일한 트레일인 경우 Security Lake에서 CloudTrail 관리 이벤트를 끄지 않는 한 트레일을 삭제할 수 없습니다.

다음 명령을 사용하여 추적을 삭제할 수 있습니다. 추적이 생성된 리전(홈 리전)에서만 추적을 삭제할 수 있습니다.

aws cloudtrail delete-trail --name awscloudtrail-example

추적을 삭제할 때 추적과 연결된 Amazon S3 버킷이나 Amazon SNS 주제는 삭제하지 않아야 합니다. AWS Management Console AWS CLI, 또는 서비스 API를 사용하여 이러한 리소스를 개별적으로 삭제하십시오.