콘솔을 사용하여 구성 항목에 대한 이벤트 데이터 저장소를 생성합니다. - AWS CloudTrail

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

콘솔을 사용하여 구성 항목에 대한 이벤트 데이터 저장소를 생성합니다.

AWS Config 구성 항목을 포함하는 이벤트 데이터 스토어를 생성하고 이벤트 데이터 스토어를 사용하여 프로덕션 환경의 규정을 준수하지 않는 변경 사항을 조사할 수 있습니다. 이벤트 데이터 스토어를 사용하면 규정을 준수하지 않는 규칙을 변경과 관련된 사용자 및 리소스와 연결할 수 있습니다. 구성 항목은 계정에 있는 지원 AWS 리소스의 속성 point-in-time 보기를 나타냅니다. AWS Config 기록 중인 리소스 유형의 변경을 감지할 때마다 구성 항목을 만듭니다. AWS Config 또한 구성 스냅샷을 캡처할 때 구성 항목을 생성합니다.

AWS Config 과 CloudTrail Lake를 모두 사용하여 구성 항목에 대해 쿼리를 실행할 수 있습니다. 를 AWS Config 사용하여 단일 AWS 계정 및 또는 여러 계정 및 AWS 리전지역의 구성 속성을 기반으로 AWS 리소스의 현재 구성 상태를 쿼리할 수 있습니다. 반대로 CloudTrail Lake를 사용하면 CloudTrail 이벤트, 구성 항목, 규칙 평가와 같은 다양한 데이터 소스를 쿼리할 수 있습니다. CloudTrail Lake 쿼리는 리소스 AWS Config 구성 및 규정 준수 기록을 포함한 모든 구성 항목을 다룹니다.

구성 항목에 대한 이벤트 데이터 저장소를 생성해도 기존 AWS Config 고급 쿼리나 구성된 AWS Config 애그리게이터에는 영향을 미치지 않습니다. 를 사용하여 AWS Config고급 쿼리를 계속 실행하고 S3 버킷에 기록 파일을 AWS Config 계속 전송할 수 있습니다.

CloudTrail Lake 이벤트 데이터 스토어에는 요금이 부과됩니다. 이벤트 데이터 스토어를 생성할 때 이벤트 데이터 스토어에 사용할 요금 옵션을 선택합니다. 요금 옵션에 따라 이벤트 모으기 및 저장 비용과 이벤트 데이터 스토어의 기본 및 최대 보존 기간이 결정됩니다. CloudTrail 가격 책정 및 Lake 비용 관리에 대한 자세한 내용은 AWS CloudTrail 요금 CloudTrail 호수 비용 관리 을 참조하십시오.

제한 사항

구성 항목에 대한 이벤트 데이터 스토어에는 다음과 같은 제한 사항이 적용됩니다.

  • 사용자 지정 구성 항목은 지원되지 않음

  • 고급 이벤트 선택기를 사용한 이벤트 필터링은 지원되지 않음

사전 조건

이벤트 데이터 스토어를 생성하기 전에 모든 계정 및 지역에 대한 AWS Config 녹화를 설정하세요. 의 AWS Systems Manager기능인 Quick Setup을 사용하여 로 구동되는 구성 레코더를 빠르게 만들 수 AWS Config있습니다.

참고

구성 기록을 AWS Config 시작하면 서비스 사용 요금이 부과됩니다. 요금에 대한 자세한 내용은 AWS Config 요금 부분을 참조하세요. 구성 레코더 관리에 대한 자세한 내용은AWS Config 개발자 안내서Managing the Configuration Recorder(구성 레코더 관리)를 참조하세요.

또한 다음 작업은 수행하는 것이 좋지만 이벤트 데이터 스토어를 생성하는 데 필요하지는 않습니다.

  • 요청 시 구성 스냅샷 및 구성 기록을 수신하도록 Amazon S3 버킷을 설정합니다. 스냅샷에 대한 자세한 내용은AWS Config 개발자 안내서Managing the Delivery Channel(전송 채널 관리) 및 Delivering Configuration Snapshot to an Amazon S3 Bucket(Amazon S3 버킷에 구성 스냅샷 전달)을 참조하세요.

  • 기록된 리소스 유형에 대한 규정 준수 정보를 평가하는 AWS Config 데 사용할 규칙을 지정합니다. CloudTrail Lake 샘플 쿼리 중 일부는 AWS 리소스의 규정 준수 상태를 AWS Config AWS Config 규칙 평가해야 합니다. 에 대한 AWS Config 규칙자세한 내용은 AWS Config 개발자 안내서의 리소스 평가를 참조하십시오. AWS Config 규칙

구성 항목에 대한 이벤트 데이터 스토어를 생성하려면

  1. 에서 AWS Management Console 로그인하고 CloudTrail 콘솔을 여십시오 https://console.aws.amazon.com/cloudtrail/.

  2. 탐색 창의 Lake에서 Event data stores(이벤트 데이터 스토어)를 선택합니다.

  3. 이벤트 데이터 스토어 생성을 선택합니다.

  4. 이벤트 데이터 스토어 구성(Configure event data store) 페이지의 일반 세부 정보(General details)에서 이벤트 데이터 스토어의 이름을 입력합니다. 이름은 필수 항목입니다.

  5. 이벤트 데이터 스토어에 사용할 요금 옵션을 선택합니다. 요금 옵션에 따라 이벤트 모으기 및 저장 비용과 이벤트 데이터 스토어의 기본 및 최대 보존 기간이 결정됩니다. 자세한 내용은 AWS CloudTrail 요금 CloudTrail 호수 비용 관리 섹션을 참조하세요.

    다음과 같은 옵션을 사용할 수 있습니다.

    • 1년 연장 가능 보존 요금 - 매월 25TB 미만의 이벤트 데이터를 모을 것으로 예상되고 최대 10년의 유연한 보존 기간을 원하는 경우 일반적으로 권장됩니다. 처음 366일(기본 보존 기간) 동안은 추가 요금 없이 모으기 요금에 스토리지가 포함됩니다. 366일 이후에는 pay-as-you-go 가격 책정으로 보존 기간 연장을 이용할 수 있습니다. 이는 기본 옵션입니다.

      • 기본 보존 기간: 366일

      • 최대 보존 기간: 3,653일

    • 7년 보존 요금 - 매월 25TB 이상의 이벤트 데이터를 모을 것으로 예상되고 최대 7년의 보존 기간이 필요한 경우 권장됩니다. 추가 비용 없이 모으기 요금에 보존이 포함됩니다.

      • 기본 보존 기간: 2,557일

      • 최대 보존 기간: 2,557일

  6. 이벤트 데이터 스토어의 보존 기간을 지정합니다. 보존 기간은 1년 연장 가능 보존 요금 옵션의 경우 7일~3,653일(약 10년), 7년 보존 요금 옵션의 경우 7일~2,557일(약 7년)일 수 있습니다.

    CloudTrail Lake는 이벤트가 지정된 보존 기간 내에 있는지 확인하여 이벤트 보존 여부를 결정합니다. eventTime 예를 들어 보존 기간을 90일로 CloudTrail 지정하면 90일이 넘으면 이벤트가 삭제됩니다. eventTime

  7. (선택 사항) 를 사용하여 AWS Key Management Service암호화를 활성화하려면 [Use my own] 을 선택합니다 AWS KMS key. 새로 만들기를 선택하여 AWS KMS key 자동으로 생성하거나 기존 키를 사용하려면 기존 KMS 키를 선택합니다. KMS별칭 입력에서 다음과 같은 형식으로 별칭을 지정합니다. alias/ MyAliasName. 자체 KMS 키를 사용하려면 CloudTrail 로그 암호화 및 암호 해독을 허용하도록 KMS 키 정책을 편집해야 합니다. 자세한 내용은 을 참조하십시오. 에 대한 AWS KMS 주요 정책 구성 CloudTrail CloudTrail AWS KMS 다중 지역 키도 지원합니다. 다중 리전 키에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드다중 리전 키 사용 단원을 참조하세요.

    자체 KMS 키를 사용하면 암호화 및 복호화 AWS KMS 비용이 발생합니다. 이벤트 데이터 저장소를 키와 연결한 후에는 KMS 키를 제거하거나 변경할 수 없습니다. KMS

    참고

    조직 이벤트 데이터 저장소의 AWS Key Management Service 암호화를 활성화하려면 관리 계정의 기존 KMS 키를 사용해야 합니다.

  8. (선택 사항) Amazon Athena를 사용하여 이벤트 데이터에 대해 쿼리하려면 Lake 쿼리 페더레이션에서 활성화를 선택합니다. 페더레이션을 사용하면 데이터 카탈로그의 이벤트 데이터 저장소와 관련된 AWS Glue 메타데이터를 보고 Athena의 이벤트 데이터에 대해 SQL 쿼리를 실행할 수 있습니다. AWS Glue 데이터 카탈로그에 저장된 테이블 메타데이터를 통해 Athena 쿼리 엔진은 쿼리하려는 데이터를 찾고, 읽고, 처리하는 방법을 알 수 있습니다. 자세한 내용은 이벤트 데이터 스토어 페더레이션 단원을 참조하십시오.

    Lake 쿼리 페더레이션을 활성화하려면 활성화를 선택하고 다음을 수행합니다.

    1. 새 역할을 만들지 아니면 기존 IAM 역할을 사용할지를 선택합니다. AWS Lake Formation이 역할을 사용하여 페더레이션된 이벤트 데이터 저장소의 권한을 관리합니다. CloudTrail 콘솔을 사용하여 새 역할을 생성하면 필요한 권한이 있는 역할이 CloudTrail 자동으로 생성됩니다. 기존 역할을 선택하는 경우 해당 역할에 대한 정책이 필요한 최소 권한을 제공하는지 확인합니다.

    2. 새 역할을 생성하는 경우 역할을 식별할 수 있는 이름을 입력합니다.

    3. 기존 역할을 사용하는 경우 사용하려는 역할을 선택합니다. 계정에 역할이 있어야 합니다.

  9. (선택 사항) Tags(태그) 섹션에 최대 50개의 태그 키 쌍을 추가하여 이벤트 데이터 스토어에 대한 액세스를 식별, 정렬 및 제어할 수 있습니다. IAM정책을 사용하여 태그를 기반으로 이벤트 데이터 저장소에 대한 액세스를 승인하는 방법에 대한 자세한 내용은 을 참조하십시오예제: 태그를 기반으로 이벤트 데이터 스토어를 생성 또는 삭제하기 위한 액세스 거부. 에서 AWS태그를 사용하는 방법에 대한 자세한 내용은 리소스 태그 지정 사용 안내서의 AWS 리소스 태그 지정을 AWS 참조하십시오.

  10. Next(다음)를 선택합니다.

  11. Choose events(이벤트 선택) 페이지에서 AWS events( 이벤트)를 선택하고 Configuration items(구성 항목)를 선택합니다.

  12. CloudTrail 이벤트 데이터 저장소 리소스를 생성한 지역에 저장하지만 기본적으로 데이터 저장소에 수집되는 구성 항목은 기록이 활성화된 계정 내 모든 지역의 구성 항목입니다. 필요에 따라 Include only the current region in my event data store(내 이벤트 데이터 스토어에 현재 리전만 포함)를 선택하여 현재 리전에서 캡처된 구성 항목만 포함할 수 있습니다. 이 옵션을 선택하지 않으면 이벤트 데이터 스토어에 기록이 활성화된 모든 리전의 구성 항목이 포함됩니다.

  13. 이벤트 데이터 저장소에서 조직의 모든 계정에서 구성 항목을 수집하도록 하려면 내 AWS Organizations 조직의 모든 계정에 대해 활성화를 선택합니다. 조직의 구성 항목을 수집하는 이벤트 데이터 스토어를 생성하려면 조직의 관리 계정이나 위임된 관리자 계정에 로그인해야 합니다.

  14. Next(다음)를 선택하여 선택 사항을 검토합니다.

  15. 검토 및 생성(Review and create) 페이지에서 선택 사항을 검토합니다. 편집(Edit)을 선택하여 단원을 변경합니다. 이벤트 데이터 스토어를 생성할 준비가 되었으면 이벤트 데이터 스토어 생성(Create event data store)을 선택합니다.

  16. 새 이벤트 데이터 스토어는 이벤트 데이터 스토어(Event data stores) 페이지의 이벤트 데이터 스토어(Event data stores) 테이블에서 볼 수 있습니다.

    이 시점부터 이벤트 데이터 스토어는 구성 항목을 캡처합니다. 이벤트 데이터 스토어를 생성하기 전에 발생한 구성 항목은 이벤트 데이터 스토어에 존재하지 않습니다.

샘플 쿼리

이제 새 이벤트 데이터 스토어에 대한 쿼리를 실행할 수 있습니다. CloudTrail 콘솔의 샘플 쿼리 탭에는 시작하는 데 도움이 되는 예제 쿼리가 제공됩니다. 다음은 구성 항목 이벤트 데이터 스토어에 대해 실행할 수 있는 몇 가지 샘플 쿼리입니다.

설명 Query
구성 항목 이벤트 데이터 저장소를 이벤트 데이터 저장소에 가입시켜 비준수 상태가 된 작업을 수행한 사용자를 찾아보십시오 CloudTrail .
SELECT element_at(config1.eventData.configuration, 'targetResourceId') as targetResourceId, element_at(config1.eventData.configuration, 'complianceType') as complianceType, config2.eventData.resourceType, cloudtrail.userIdentity FROM config_event_data_store_ID as config1 JOIN config_event_data_store_ID as config2 on element_at(config1.eventData.configuration, 'targetResourceId') = config2.eventData.resourceId JOIN cloudtrail_event_data_store_ID as cloudtrail on config2.eventData.arn = element_at(cloudtrail.resources, 1).arn WHERE element_at(config1.eventData.configuration, 'configRuleList') is not null AND element_at(config1.eventData.configuration, 'complianceType') = 'NON_COMPLIANT' AND cloudtrail.eventTime > '2022-11-14 00:00:00' AND config2.eventData.resourceType = 'AWS::DynamoDB::Table'
지난 1일 이내에 생성된 구성 항목에서 모든 AWS Config 규칙을 찾고 규정 준수 상태를 반환합니다.
SELECT eventData.configuration, eventData.accountId, eventData.awsRegion, eventData.resourceName, eventData.resourceCreationTime, element_at(eventData.configuration,'complianceType') AS complianceType, element_at(eventData.configuration, 'configRuleList') AS configRuleList, element_at(eventData.configuration, 'resourceId') AS resourceId, element_at(eventData.configuration, 'resourceType') AS resourceType FROM config_event_data_store_ID WHERE eventData.resourceType = 'AWS::Config::ResourceCompliance' AND eventTime > '2022-11-22 00:00:00' ORDER BY eventData.resourceCreationTime DESC limit 10
리소스 유형, 계정 ID, 지역별로 그룹화된 총 리소스 수를 확인할 수 있습니다. AWS Config
SELECT eventData.resourceType, eventData.awsRegion, eventData.accountId, COUNT (*) AS resourceCount FROM config_event_data_store_ID WHERE eventTime > '2022-11-22 00:00:00' GROUP BY eventData.resourceType, eventData.awsRegion, eventData.accountId
특정 날짜에 생성된 모든 AWS Config 구성 항목의 리소스 생성 시간을 확인할 수 있습니다.
SELECT eventData.configuration, eventData.accountId, eventData.awsRegion, eventData.resourceId, eventData.resourceName, eventData.resourceType, eventData.availabilityZone, eventData.resourceCreationTime FROM config_event_data_store_ID WHERE eventTime > '2022-11-16 00:00:00' AND eventTime < '2022-11-17 00:00:00' ORDER BY eventData.resourceCreationTime DESC limit 10;

쿼리 생성 및 편집에 대한 자세한 내용은 콘솔을 사용하여 쿼리를 생성하거나 편집하십시오. CloudTrail 을 참조하세요.

구성 항목 스키마

다음 표에서는 구성 항목 레코드의 스키마 요소와 일치하는 필수 및 선택적 스키마 요소를 설명합니다. 의 eventData 내용은 구성 항목에서 제공하고 다른 필드는 CloudTrail After Ingestion에서 제공합니다.

CloudTrail 이벤트 레코드 내용은 에 자세히 설명되어 있습니다. CloudTrail 기록 내용

인제스트 이후 에서 CloudTrail 제공하는 필드
필드 이름 입력 유형 요구 사항 설명
eventVersion 문자열 필수

AWS 이벤트 형식의 버전.

eventCategory 문자열 필수

이벤트 카테고리입니다. 구성 항목의 경우 유효한 값은 ConfigurationItem 입니다.

eventType 문자열 필수

이벤트 유형. 구성 항목의 경우 유효한 값은 AwsConfigurationItem 입니다.

eventID 문자열 필수

이벤트의 고유한 ID입니다.

eventTime

문자열

필수

협정 세계시 () 로 표시된 이벤트 타임스탬프 (yyyy-MM-DDTHH:mm:ssUTC형식)

awsRegion 문자열 필수

이벤트를 AWS 리전 할당할 대상.

recipientAccountId 문자열 필수

이 이벤트를 수신한 AWS 계정 ID를 나타냅니다.

addendum

addendum

선택 사항

이벤트가 지연된 이유에 대한 정보를 표시합니다. 기존 이벤트에서 정보가 누락된 경우 addendum 블록에는 누락된 정보와 누락된 이유가 포함됩니다.

eventData의 필드는 구성 항목에서 제공
필드 이름 입력 유형 요구 사항 설명
eventData

-

필수 의 eventData 필드는 구성 항목별로 제공됩니다.
  • configurationItemVersion

문자열 선택 사항

구성 항목 소스의 구성 항목 버전입니다.

  • configurationItemCapture시간

문자열 선택 사항

구성 기록을 시작한 시간입니다.

  • configurationItemStatus

문자열 선택 사항

구성 항목 상태입니다. 유효한 값은 OK, ResourceDiscovered, ResourceNotRecorded, ResourceDeletedResourceDeletedNotRecorded입니다.

  • accountId

문자열 선택 사항

리소스와 관련된 12자리 AWS 계정 ID.

  • resourceType

문자열 선택 사항

AWS 리소스 유형. 유효한 리소스 유형에 대한 자세한 내용은 AWS Config API참조를 참조하십시오 ConfigurationItem.

  • resourceId

문자열 선택 사항

리소스 ID (예:. sg-xxxxxx).

  • resourceName

문자열 선택 사항

(사용 가능한 경우) 리소스의 사용자 지정 이름입니다.

  • arn

문자열 선택 사항

리소스와 관련된 Amazon 리소스 이름 (ARN)

  • awsRegion

문자열

선택 사항

리소스가 AWS 리전 있는 위치.

  • availabilityZone

문자열

선택 사항

리소스와 연결된 가용 영역입니다.

  • resourceCreationTime

문자열

선택 사항

리소스가 생성된 시간의 타임스탬프입니다.

  • 구성

JSON

선택 사항

리소스 구성에 대한 설명입니다.

  • supplementaryConfiguration

JSON

선택 사항

구성 매개변수에 대해 AWS Config 반환된 정보를 보완하기 위해 특정 리소스 유형에 대해 반환되는 구성 속성입니다.

  • relatedEvents

문자열

선택 사항

CloudTrail 이벤트 목록IDs.

  • relationships

- 선택 사항

관련 AWS 리소스 목록.

    • name

문자열

선택 사항

관련 리소스와의 관계 유형입니다.

    • resourceType

문자열

선택 사항

관련 리소스의 리소스 유형입니다.

    • resourceId

문자열

선택 사항

관련 리소스의 ID (예: sg-xxxxxx).

    • resourceName

문자열

선택 사항

관련 리소스의 사용자 지정 이름입니다(사용 가능한 경우).

  • tags

JSON

선택 사항

리소스와 연결된 키 값 태그의 매핑입니다.

다음 예에서는 구성 항목 레코드의 스키마 요소와 일치하는 스키마 요소의 계층 구조를 보여 줍니다.

{ "eventVersion": String, "eventCategory: String, "eventType": String, "eventID": String, "eventTime": String, "awsRegion": String, "recipientAccountId": String, "addendum": Addendum, "eventData": { "configurationItemVersion": String, "configurationItemCaptureTime": String, "configurationItemStatus": String, "configurationStateId": String, "accountId": String, "resourceType": String, "resourceId": String, "resourceName": String, "arn": String, "awsRegion": String, "availabilityZone": String, "resourceCreationTime": String, "configuration": { JSON, }, "supplementaryConfiguration": { JSON, }, "relatedEvents": [ String ], "relationships": [ struct{ "name" : String, "resourceType": String, "resourceId": String, "resourceName": String } ], "tags": { JSON } } } }