AWS Config 구성 항목에 대한 이벤트 데이터 스토어 만들기 - AWS CloudTrail

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

AWS Config 구성 항목에 대한 이벤트 데이터 스토어 만들기

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 로그인하고 https://console.aws.amazon.com/cloudtrail/ 에서 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 키를 사용하려면 KMS 키 정책을 편집하여 CloudTrail 로그를 암호화하고 해독할 수 있도록 해야 합니다. 자세한 내용은 을 참조하십시오. CloudTrail에 대한 AWS KMS 키 정책 구성 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. 다음을 선택합니다.

  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;

쿼리 생성 및 편집에 대한 자세한 내용은 쿼리 생성 또는 편집을 참조하세요.