평가 모드 및 AWS Config 규칙의 트리거 유형 - AWS Config

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

평가 모드 및 AWS Config 규칙의 트리거 유형

계정에 규칙을 추가할 때 리소스 생성 및 관리 프로세스에서 리소스를 평가할 AWS Config 시기를 지정할 수 있습니다. 리소스 생성 및 관리 프로세스를 리소스 프로비저닝이라고 합니다. 평가 모드를 선택하여 이 프로세스에서 리소스를 평가할 AWS Config 시기를 지정합니다.

규칙에 따라 리소스 배포 전, 리소스 배포 후 또는 둘 다 리소스 구성을 평가할 AWS Config 수 있습니다. 리소스를 배포하기 전에 평가하는 것은 사전 예방적 평가입니다. 리소스를 배포한 후에 리소스를 평가하는 것은 탐정 평가입니다.

또한 트리거 유형을 선택하여 AWS Config 규칙이 리소스를 평가하는 빈도를 지정할 수 있습니다. 구성 변경이 있을 때, 정기적인 일정에 따라 또는 두 가지 모두에 따라 리소스를 평가할 수 있습니다.

트리거 유형

계정에 규칙을 추가한 후 리소스를 규칙의 조건과 AWS Config 비교합니다. AWS Config는 이 첫 평가 후 평가가 트리거될 때마다 계속 평가를 실행합니다. 평가 트리거는 규칙의 일부로 정의되어 있으며, 다음 유형을 포함할 수 있습니다.

구성 변경

AWS Config규칙의 범위와 일치하는 리소스가 있고 리소스 구성이 변경된 경우 규칙에 대한 평가를 실행합니다. AWS Config가 구성 항목 변경 알림을 보내면 평가가 실행됩니다.

규칙의 범위를 정의하여 평가를 시작할 리소스를 선택합니다. 범위에는 다음이 포함될 수 있습니다.

  • 하나 이상의 리소스 유형

  • 리소스 유형과 리소스 ID의 조합

  • 태그 키와 값의 조합

  • 기록된 모든 리소스가 생성, 업데이트 또는 삭제된 때

AWS Config가 규칙의 범위와 일치하는 리소스의 변경을 발견하면 평가를 실행합니다. 범위를 사용하여 평가를 시작하는 리소스를 정의할 수 있습니다.

주기적

AWS Config선택한 빈도 (예: 24시간마다) 로 규칙에 대한 평가를 실행합니다.

하이브리드

일부 규칙에는 구성 변경과 주기적 트리거가 모두 있습니다. 이러한 규칙의 경우 구성 변경을 감지할 때와 지정한 빈도에 따라 리소스를 AWS Config 평가합니다.

평가 모드

평가 모드에는 두 가지가 있습니다.

사전 예방적 평가를 통해 리소스를 배포하기 전에 평가하세요. 이렇게 하면 해당 지역의 계정에 있는 일련의 사전 예방 규칙을 고려하여 리소스 속성 집합이 리소스를 정의하는 데 사용되는 경우 해당 AWS 리소스 속성이 COMPLIANT인지 NON_COMPLIANT인지 평가할 수 있습니다.

리소스 유형 스키마는 리소스의 속성을 나타냅니다. AWS CloudFormation레지스트리 내의 "AWS공용 확장 “에서 또는 다음 CLI 명령을 사용하여 리소스 유형 스키마를 찾을 수 있습니다.

aws cloudformation describe-type --type-name "AWS::S3::Bucket" --type RESOURCE

자세한 내용은 AWS CloudFormation 사용 설명서의 AWS CloudFormation 레지스트리 및 AWS리소스 및 속성 유형 참조를 통한 확장 관리를 참조하십시오.

참고

사전 예방적 규칙은 NON_COMPLIANT로 플래그가 지정된 리소스를 개선하거나 배포를 방해하지 않습니다.

사전 평가가 포함된 관리형 규칙 목록

사전 평가를 지원하는 관리 규칙 목록은 평가 모드별 AWS Config 관리 규칙 목록을 참조하십시오.

사전 평가를 위해 지원되는 리소스 유형 목록

다음은 사전 평가에 지원되는 리소스 유형 목록입니다.

  • AWS::ApiGateway::Stage

  • AWS::AutoScaling::AutoScalingGroup

  • AWS::EC2::EIP

  • AWS::EC2::Instance

  • AWS::EC2::Subnet

  • AWS::Elasticsearch::Domain

  • AWS::Lambda::Function

  • AWS::RDS::DBInstance

  • AWS::Redshift::Cluster

  • AWS::S3::Bucket

  • AWS::SNS::Topic

사전 평가가 포함된 예제 규칙

사전 예방적 규칙 예시
  1. 계정에 AWS Config 관리형 규칙을 추가하여 S3 버킷에 로깅이 활성화되었는지 확인합니다. S3_BUCKET_LOGGING_ENABLED

  2. 평가 모드의 경우 AWS 관리 콘솔에서 사전 평가 켜기를 선택하거나 EvaluationModes PutConfigRuleAPI에서 PROACTIVE 활성화하십시오.

사전 평가를 켜고 나면 StartResourceEvaluationAPI와 GetResourceEvaluationSummaryAPI를 사용하여 프로덕션에 배포되지 않은 계정의 버킷에 로깅이 활성화되어 있지 않은지 확인할 수 있습니다. 이렇게 하면 배포하기 전에 리소스 구성을 테스트하고 리소스를 프로덕션 환경에 배포하려는 경우 다시 평가할 수 있습니다.

예를 들어 StartResourceEvaluation API로 시작하세요.

aws configservice start-resource-evaluation --evaluation-mode PROACTIVE --resource-details '{"ResourceId":"MY_RESOURCE_ID", "ResourceType":"AWS::S3::Bucket", "ResourceConfiguration": "{\"BucketName\": \"my-bucket\", \"LoggingConfiguration\": {\"DestinationBucketName\": \"my-log-bucket\",\"LogFilePrefix\":\"my-log\"}}", "ResourceConfigurationSchemaType":"CFN_RESOURCE_SCHEMA"}'

ResourceEvaluationId출력에서 다음을 수신해야 합니다.

{ "ResourceEvaluationId": "MY_RESOURCE_EVALUATION_ID" }

그런 다음 ResourceEvaluationId GetResourceEvaluationSummary API와 함께 를 사용하여 평가 결과를 확인합니다.

aws configservice get-resource-evaluation-summary --resource-evaluation-id MY_RESOURCE_EVALUATION_ID

다음과 비슷한 결과가 출력될 것입니다.

{ "ResourceEvaluationId": "MY_RESOURCE_EVALUATION_ID", "EvaluationMode": "PROACTIVE", "EvaluationStatus": { "Status": "SUCCEEDED" }, "EvaluationStartTimestamp": "2022-11-15T19:13:46.029000+00:00", "Compliance": "COMPLIANT", "ResourceDetails": { "ResourceId": "MY_RESOURCE_ID", "ResourceType": "AWS::RESOURCE::TYPE", "ResourceConfiguration": "{\"BucketName\": \"my-bucket\", \"LoggingConfiguration\": {\"DestinationBucketName\": \"my-log-bucket\",\"LogFilePrefix\":\"my-log\"}}", } }

리소스에 NON_COMPLIANT로 플래그를 지정한 규칙과 같은 평가 결과에 대한 추가 정보를 보려면 API를 사용하세요. GetComplianceDetailsByResource

탐정 평가를 사용하여 이미 배포된 리소스를 평가하세요. 이를 통해 기존 리소스의 구성 설정을 평가할 수 있습니다.

탐정 평가가 포함된 예제 규칙

변경으로 트리거된 규칙 예시
  1. 계정에 관리형 규칙을 추가하여 S3 버킷에 로깅이 활성화되었는지 확인합니다. S3_BUCKET_LOGGING_ENABLED

  2. 규칙의 트리거 유형은 구성 변경입니다. AWS ConfigS3 버킷이 생성, 변경 또는 삭제될 때 규칙에 대한 평가를 실행합니다.

  3. 버킷이 업데이트되면 구성 변경으로 규칙이 시작되고 버킷이 규칙을 준수하는지 여부를 AWS Config 평가합니다.

주기적 규칙의 예
  1. 계정에 관리형 IAM_PASSWORD_POLICY 규칙을 추가합니다. 규칙은 IAM 사용자의 암호 정책이 최소 길이 요구 또는 특정 문자 요구와 같은 계정 정책을 준수하는지 확인합니다.

  2. 이 규칙의 트리거 유형은 주기적입니다. AWS Config는 사용자가 지정한 간격(예: 24시간마다)으로 이 규칙에 대한 평가를 실행합니다.

  3. 24시간마다 규칙이 시작되고 IAM 사용자의 암호가 규칙을 준수하는지 여부를 AWS Config 평가합니다.

구성 변경 및 주기적 트리거가 모두 포함된 하이브리드 규칙 예제
  1. 계정의 AWS CloudTrail 트레일이 켜져 있는지 여부를 평가하고 모든 지역에 대해 로깅하는 사용자 지정 규칙을 만드세요.

  2. 추적 내역이 생성, 업데이트 또는 삭제될 때마다 AWS Config에서 규칙에 대한 평가를 실행하도록 하려고 합니다. 또한 AWS Config에서 12시간마다 규칙을 실행하도록 하려고 합니다.

  3. 트리거 유형의 경우 구성 변경 및 주기적 트리거 모두에 대한 로직을 작성합니다. 자세한 내용은 규칙의 구성 요소: AWS Config 규칙 작성을 참조하십시오.

구성 레코더가 꺼져 있는 경우의 규칙 평가

구성 레코더를 끄면 AWS Config가 리소스 구성의 변경 사항 기록을 중지합니다. 이는 다음과 같은 방식으로 규칙 평가에 영향을 줍니다.

  • 주기적 규칙은 지정된 빈도로 평가를 계속 실행합니다.

  • 변경으로 트리거되는 규칙은 평가를 실행하지 않습니다.

  • 하이브리드 규칙은 지정된 빈도에서만 평가를 실행합니다. 그러나 구성 변경에 대한 평가는 실행하지 않습니다.

  • 구성 변경 트리거가 있는 규칙에 대해 온디맨드 평가를 실행하는 경우 규칙은 리소스의 마지막으로 알려진 상태 (마지막으로 기록된 구성 항목) 를 평가합니다.

중요

불필요한 AWS Config 평가를 피하세요

주기적 규칙 및 하이브리드 규칙은 구성 레코더를 끈 경우에도 삭제하지 않는 한 계속 실행됩니다. 이러한 규칙은 구성 레코더가 꺼지기 전에 기록된 구성 항목만 평가합니다. 즉, 이러한 규칙은 새 정보 없이 동일한 평가 결과를 재현합니다. 불필요한 활동 및 규칙 평가를 피하려면 구성 레코더를 끌 때 주기적 규칙 및 하이브리드 규칙을 삭제하십시오.