관리 이벤트 로깅 - AWS CloudTrail

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

관리 이벤트 로깅

기본적으로 추적과 이벤트 데이터 스토어는 모든 관리 이벤트를 로깅하지만, 데이터 또는 Insights 이벤트는 포함하지 않습니다.

데이터 또는 인사이트 이벤트에는 추가 요금이 적용됩니다. 자세한 내용은 AWS CloudTrail 요금을 참조하십시오.

관리 이벤트

관리 이벤트는 AWS 계정의 리소스에서 수행되는 관리 작업에 대한 가시성을 제공합니다. 이를 제어 영역 작업이라고도 합니다. 예제 관리 이벤트에는 다음이 포함됩니다.

  • 보안 구성(예: IAM AttachRolePolicy API 작업)

  • 디바이스 등록(예: Amazon EC2 CreateDefaultVpc API 작업)

  • 데이터 라우팅 규칙 구성(예: Amazon EC2 CreateSubnet API 작업)

  • 로깅 설정 (예: AWS CloudTrail CreateTrail API 작업)

관리 이벤트에는 귀하의 계정에서 발생한 비 API 이벤트도 포함될 수 있습니다. 예를 들어, 사용자가 계정에 로그인하면 ConsoleLogin 이벤트를 CloudTrail 기록합니다. 자세한 정보는 에서 캡처한 비 API 이벤트 CloudTrail을 참조하세요.

기본적으로 추적과 이벤트 데이터 스토어는 관리 이벤트를 로깅하도록 구성되어 있습니다.

참고

CloudTrail 이벤트 기록 기능은 관리 이벤트만 지원합니다. Amazon RDS Data API 이벤트를 이벤트 기록에서 AWS KMS 제외할 수 없습니다. 트레일 또는 이벤트 데이터 스토어에 적용한 설정은 이벤트 기록에 적용되지 않습니다. 자세한 정보는 CloudTrail 이벤트 기록 다루기을 참조하세요.

이벤트 읽기 및 쓰기

관리 이벤트를 로깅하도록 추적 또는 이벤트 데이터 스토어를 구성할 때, 읽기 전용 이벤트만 로깅할지, 쓰기 전용 이벤트만 로깅할지, 두 가지 모두를 로깅할지 지정할 수 있습니다.

  • 읽기(Read)

    읽기 전용 이벤트에는 리소스는 읽지만 변경되지 않는 API 작업이 포함됩니다. 예를 들어 읽기 전용 이벤트에는 Amazon EC2 DescribeSecurityGroupsDescribeSubnets API 작업이 포함됩니다. 이러한 작업은 Amazon EC2 리소스에 대한 정보만 반환하고 구성을 변경하지 않습니다.

  • 쓰기(Write)

    쓰기 전용 이벤트에는 리소스를 수정하는(또는 수정 가능) API 작업이 포함됩니다. 예를 들어 Amazon EC2 RunInstancesTerminateInstances API 작업은 인스턴스를 수정합니다.

예: 별도의 추적에 대한 읽기 및 쓰기 이벤트 로깅

다음 예에서는 계정에 대한 로그 활동을 별도의 S3 버킷으로 분할하도록 추적을 구성하는 방법을 보여 줍니다. 즉, 한 버킷은 읽기 전용 이벤트를 수신하고 두 번째 버킷은 쓰기 전용 이벤트를 수신합니다.

  1. 추적을 생성하고 DOC-EXAMPLE-BUCKET1이라는 S3 버킷을 선택하여 로그 파일을 수신합니다. 그런 다음 추적을 업데이트하여 [읽기(Read)] 관리 이벤트를 로그하도록 지정합니다.

  2. 두 번째 추적을 생성하고 DOC-EXAMPLE-BUCKET2이라는 S3 버킷을 선택하여 로그 파일을 수신합니다. 그런 다음 추적을 업데이트하여 [쓰기(Write)] 관리 이벤트를 로그하도록 지정합니다.

  3. 계정에서 Amazon EC2 DescribeInstancesTerminateInstances API 작업이 발생합니다.

  4. DescribeInstances API 작업은 읽기 전용 이벤트이며 이 이벤트는 첫 번째 추적에 대한 설정과 일치합니다. 트레일은 이벤트를 기록하고 전달합니다DOC-EXAMPLE-BUCKET1.

  5. TerminateInstances API 작업은 쓰기 전용 이벤트이며 이 이벤트는 두 번째 추적에 대한 설정과 일치합니다. 트레일은 이벤트를 기록하고 전송합니다DOC-EXAMPLE-BUCKET2.

를 사용하여 관리 이벤트를 기록합니다. AWS Management Console

  1. https://console.aws.amazon.com/cloudtrail/ 에서 AWS Management Console 로그인하고 CloudTrail 콘솔을 엽니다.

  2. 트레일을 업데이트하려면 CloudTrail 콘솔의 트레일 페이지를 열고 트레일 이름을 선택합니다.

    이벤트 데이터 저장소를 업데이트하려면 CloudTrail 콘솔의 이벤트 데이터 저장소 페이지를 열고 이벤트 데이터 저장소 이름을 선택합니다.

  3. [관리 이벤트(Management events)]에서 [편집(Edit)]을 선택합니다.

    • 추적 또는 이벤트 데이터 스토어에서 [읽기(Read)] 이벤트, [쓰기(Write)] 이벤트 또는 둘 다를 기록할 것인지 선택합니다.

    • AWS KMS 이벤트 제외를 선택하면 트레일 또는 이벤트 데이터 스토어에서 이벤트를 필터링 AWS Key Management Service (AWS KMS) 할 수 있습니다. 기본 설정은 모든 AWS KMS 이벤트를 포함하는 것입니다.

      AWS KMS 이벤트를 기록하거나 제외하는 옵션은 트레일 또는 이벤트 데이터 저장소에 관리 이벤트를 기록하는 경우에만 사용할 수 있습니다. 관리 이벤트를 기록하지 않도록 선택하면 이벤트가 기록되지 않으며 AWS KMS 이벤트 로깅 설정을 변경할 수 없습니다. AWS KMS

      AWS KMS Encrypt,Decrypt, 와 같은 작업은 GenerateDataKey 일반적으로 대규모 (99% 이상) 의 이벤트를 생성합니다. 이러한 작업은 이제 읽기 이벤트로 로그됩니다. , DisableDelete, 및 ScheduleKey (일반적으로 이벤트 볼륨의 0.5% 미만) 와 같은 관련성이 낮은 AWS KMS 작업은 쓰기 AWS KMS 이벤트로 기록됩니다.

      EncryptDecryptGenerateDataKey, 및 와 같은 대용량 이벤트를 제외하지만 여전히 기록하려면 쓰기 관리 이벤트를 기록하도록 선택하고 이벤트 제외 확인란의 선택을 취소하십시오. Disable Delete ScheduleKey AWS KMS

    • [Amazon RDS Data API 이벤트 제외(Exclude Amazon RDS Data API events)]를 선택하여 추적 또는 데이터 이벤트 스토어에서 Amazon Relational Database Service Data API 이벤트를 필터링합니다. 기본 설정은 모든 Amazon RDS Data API 이벤트를 포함하는 것입니다. Amazon RDS Data API 이벤트에 대한 자세한 내용은 Amazon RDS for Aurora 사용 설명서에서 AWS CloudTrail을 사용하여 데이터 API 호출 로깅 단원을 참조하세요.

  4. 작업을 마쳤으면 Save changes(변경 사항 저장)을 선택합니다.

AWS CLI을 사용하여 관리 이벤트 로깅

AWS CLI를 사용하여 관리 이벤트를 로깅하도록 추적 또는 이벤트 데이터 스토어를 구성할 수 있습니다.

예: 추적에 대한 관리 이벤트 로깅

트레일이 관리 이벤트를 로깅하는지 여부를 확인하려면 get-event-selectors 명령을 실행하십시오.

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

다음 예는 추적에 대한 기본 설정을 반환합니다. 기본적으로 트레일은 모든 관리 이벤트를 로깅하고, 모든 이벤트 소스에서 이벤트를 로깅하며, 데이터 이벤트는 로깅하지 않습니다.

{ "TrailARN": "arn:aws:cloudtrail:us-east-1:111122223333:trail/TrailName", "AdvancedEventSelectors": [ { "Name": "Management events selector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ] }

기본 또는 고급 이벤트 선택기를 사용하여 관리 이벤트를 기록할 수 있습니다. 추적에 이벤트 선택기와 고급 이벤트 선택기를 모두 적용할 수는 없습니다. 추적에 고급 이벤트 선택기를 적용하면 기존의 기본 이벤트 선택기를 모두 덮어씁니다. 다음 섹션에서는 고급 이벤트 선택기 및 기본 이벤트 선택기를 사용하여 관리 이벤트를 기록하는 방법의 예를 제공합니다.

예: 고급 이벤트 선택기를 사용하여 트레일에 대한 관리 이벤트 로깅

다음 예제에서는 읽기 전용 및 쓰기 전용 관리 이벤트는 포함 (선택기 생략) 하되 () 이벤트는 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"] } ] } ]'

다음 예제에서는 읽기 전용 및 쓰기 전용 관리 이벤트는 포함하되 (선택기 생략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"] } ] } ]'

예: 기본 이벤트 선택기를 사용하여 트레일에 대한 관리 이벤트 로깅

관리 이벤트를 로깅하도록 트레일을 구성하려면 put-event-selectors 명령을 실행하십시오. 다음 예제에서는 두 S3 객체에 대한 모든 관리 이벤트를 포함하도록 트레일을 구성하는 방법을 보여 줍니다. 추적 하나당 1~5 개의 이벤트 선택기를 지정할 수 있습니다. 추적 하나당 1~250 개의 데이터 리소스를 지정할 수 있습니다.

참고

이벤트 선택기 개수와 상관없이 S3 데이터 리소스 수는 최대 250개입니다.

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-BUCKET/prefix", "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/prefix2"] }] }]'

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

{ "TrailARN": "arn:aws:cloudtrail:us-east-1:111122223333:trail/TrailName", "EventSelectors": [ { "ReadWriteType": "All", "IncludeManagementEvents": true, "DataResources": [ { "Type": "AWS::S3::Object", "Values": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/prefix", "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/prefix2", ] } ], "ExcludeManagementEventSources": [] } ] }

트레일 로그에서 AWS Key Management Service (AWS KMS) 이벤트를 제외하려면 put-event-selectors 명령을 실행하고 값이 인 속성을 ExcludeManagementEventSources 추가하십시오. kms.amazonaws.com 다음 예제에서는 읽기 전용 및 쓰기 전용 관리 이벤트는 포함하되 이벤트는 TrailName제외하도록 이름이 지정된 트레일의 이벤트 선택기를 만듭니다. AWS KMS 많은 양의 이벤트가 발생할 AWS KMS 수 있으므로 이 예제의 사용자는 트레일 비용을 관리하기 위해 이벤트를 제한하고자 할 수 있습니다.

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

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

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

트레일 로그에서 Amazon RDS Data API 관리 이벤트를 제외하려면 put-event-selectors 명령을 실행하고 값이 인 속성을 ExcludeManagementEventSources 추가합니다. rdsdata.amazonaws.com 다음 예제는 읽기 전용 및 쓰기 전용 관리 이벤트는 포함하되 Amazon RDS Data API 관리 이벤트는 TrailName제외하도록 이름이 지정된 트레일에 대한 이벤트 선택기를 생성합니다. Amazon RDS Data API는 대량의 관리 이벤트를 생성할 수 있으므로 이 예제의 사용자는 트레일 비용을 관리하기 위해 이벤트를 제한하고자 할 수 있습니다.

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

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

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

다음 예와 같이Disable, Delete 및 와 같은 대용량 AWS KMS 이벤트는 제외하고 ScheduleKey EncryptDecrypt, 및 같은 관련 AWS KMS 이벤트를 트레일에 기록하고GenerateDataKey, 쓰기 전용 관리 AWS KMS 이벤트를 기록하도록 기본 설정을 유지하는 방법.

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

예: 이벤트 데이터 스토어에 대한 관리 이벤트 로깅

이벤트 데이터 스토어에 관리 이벤트가 포함되어 있는지 확인하려면, get-event-data-store 명령을 실행합니다.

aws cloudtrail get-event-data-store --event-data-store arn:aws:cloudtrail:us-east-1:12345678910:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE

다음은 응답의 예입니다. 생성 및 마지막 업데이트 시간은 timestamp 서식을 갖습니다.

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:12345678910:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "myManagementEvents", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Management events selector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "FIXED_RETENTION_PRICING", "RetentionPeriod": 2557, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-02-04T15:56:27.418000+00:00", "UpdatedTimestamp": "2023-02-04T15:56:27.544000+00:00" }

모든 관리 이벤트를 포함하는 이벤트 데이터 스토어를 생성하려면 create-event-data-store 명령어를 실행합니다. 모든 관리 이벤트를 포함하기 위해 고급 이벤트 선택기를 지정할 필요는 없습니다.

aws cloudtrail create-event-data-store --name my-event-data-store --retention-period 90\

다음은 응답의 예입니다.

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:12345678910:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "my-event-data-store", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Default management events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 90, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-13T16:41:57.224000+00:00", "UpdatedTimestamp": "2023-11-13T16:41:57.357000+00:00" }

AWS Key Management Service (AWS KMS) 이벤트를 제외하는 이벤트 데이터 저장소를 만들려면 create-event-data-store 명령을 실행하고 같지 않은 eventSource 값을 지정하십시오. kms.amazonaws.com 다음 예제에서는 읽기 전용 및 쓰기 전용 관리 이벤트를 포함하지만 이벤트는 제외한 이벤트 데이터 저장소를 만듭니다. AWS KMS

aws cloudtrail create-event-data-store --name event-data-store-name --retention-period 90 --advanced-event-selectors '[ { "Name": "Management events selector", "FieldSelectors": [ {"Field": "eventCategory","Equals": ["Management"]}, {"Field": "eventSource","NotEquals": ["kms.amazonaws.com"]} ] } ]'

다음은 응답의 예입니다.

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:12345678910:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "event-data-store-name", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Management events selector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] }, { "Field": "eventSource", "NotEquals": [ "kms.amazonaws.com" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 90, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-13T17:02:02.067000+00:00", "UpdatedTimestamp": "2023-11-13T17:02:02.241000+00:00" }

Amazon RDS Data API 관리 이벤트를 제외하는 이벤트 데이터 스토어를 생성하려면 create-event-data-store 명령을 실행하여 같지 eventSource 않음을 지정합니다. rdsdata.amazonaws.com 다음 예는 읽기 전용 및 쓰기 전용 관리 이벤트를 포함하되, Amazon RDS Data API 이벤트는 제외하는 이벤트 선택기를 생성합니다.

aws cloudtrail create-event-data-store --name event-data-store-name --retention-period 90 --advanced-event-selectors '[ { "Name": "Management events selector", "FieldSelectors": [ {"Field": "eventCategory","Equals": ["Management"]}, {"Field": "eventSource","NotEquals": ["rdsdata.amazonaws.com"]} ] } ]'

다음은 응답의 예입니다.

{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:12345678910:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "my-event-data-store", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Management events selector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Management" ] }, { "Field": "eventSource", "NotEquals": [ "rdsdata.amazonaws.com" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 90, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-11-13T17:02:02.067000+00:00", "UpdatedTimestamp": "2023-11-13T17:02:02.241000+00:00" }

SDK를 사용한 관리 이벤트 로깅 AWS

GetEventSelectors작업을 사용하여 트레일이 트레일에 대한 관리 이벤트를 로깅하고 있는지 확인하세요. PutEventSelectors작업과 함께 관리 이벤트를 기록하도록 트레일을 구성할 수 있습니다. 자세한 내용은 AWS CloudTrail API 참조를 참조하세요.

GetEventDataStore작업을 실행하여 이벤트 데이터 저장소에 관리 이벤트가 포함되어 있는지 확인하십시오. CreateEventDataStore또는 UpdateEventDataStore작업을 실행하여 관리 이벤트를 포함하도록 이벤트 데이터 저장소를 구성할 수 있습니다. 자세한 내용은 를 사용하여 이벤트 데이터 저장소를 생성, 업데이트 및 관리합니다. AWS CLIAWS CloudTrail API 참조를 참조하십시오.