AWS Config의 사용자 지정 적합성 팩용 템플릿 생성 - AWS Config

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

AWS Config의 사용자 지정 적합성 팩용 템플릿 생성

사용자 지정 적합성 팩이란 단일 계정 및 단일 AWS 리전 또는 AWS Organizations의 단일 조직 전체에 함께 배포할 수 있는 AWS Config 규칙 및 문제 해결 작업의 고유한 모음입니다.

사용자 지정 적합성 팩을 생성하려면 다음 템플릿 사용자 지정 섹션의 단계에 따라 작업하려는 AWS Config 관리형 규칙 또는 AWS Config사용자 지정 규칙의 목록이 포함된 YAML 파일을 작성합니다.

용어

AWS Config 관리형 규칙은 AWS Config가 소유한 사전 정의된 규칙입니다.

AWS Config 사용자 지정 규칙은 처음부터 새로 생성하는 규칙입니다.

AWS Config 사용자 지정 규칙을 생성하는 두 가지 방법이 있습니다. Lambda 함수(AWS Lambda 개발자 안내서)를 사용하는 방법과 policy-as-code 언어인 Guard(Guard GitHub 리포지토리)를 사용하는 방법입니다. AWS Lambda로 생성된 AWS Config 사용자 지정 규칙을 AWS Config 사용자 지정 Lambda 규칙이라고 하고 Guard로 생성된 AWS Config 사용자 지정 규칙을 AWS Config 사용자 지정 정책 규칙이라고 합니다.

템플릿 사용자 지정

YAML 파일 작성

YAML 파일을 작성하려면 텍스트 편집기를 열고 파일을 .yaml로 저장합니다.

참고

파일에는 파라미터리소스 섹션이 포함됩니다.

파라미터

YAML 파일의 Parameters 섹션은 Resources 섹션 뒷부분에서 추가할 AWS Config 규칙 세트의 규칙 파라미터를 위한 것입니다. 다음 코드 블록을 복사하여 YAML 파일에 붙여넣고 필요에 따라 사용자 지정하고 각 규칙 파라미터에 대해 반복하여 Parameters 섹션을 생성합니다.

Parameters: NameOfRuleParamNameOfRuleParameter: Default: Parameter value Type: Type ...

예:

Parameters: IamPasswordPolicyParamMinimumPasswordLength: Default: '14' Type: String
참고

AWS Config 규칙을 선택하여 사용자 지정 적합성 팩을 빌드할 때는 AWS Config 규칙에 대해 평가할 리소스가 계정 내에 프로비저닝되어 있는지 확인합니다.

  1. Parameters: 뒤에 있는 파라미터 섹션의 첫 번째 줄은 NameOfRule + Param + NameOfRuleParameter 문자열입니다.

    1. NameOfRule을 규칙에 대해 생성한 일관된 이름으로 바꿉니다. 예를 들면 iam-password-policy 규칙의 IamPasswordPolicy입니다.

    2. 유형 Param

    3. 그런 다음 NameOfRuleParameter를 특정 규칙의 규칙 파라미터의 이름으로 바꿉니다. AWS Config 관리형 규칙의 경우 규칙 파라미터의 이름은 AWS Config 관리형 규칙 목록에 있습니다. 예를 들어 MinimumPasswordLengthiam-password-policy 규칙의 규칙 파라미터 이름입니다. AWS Config 사용자 지정 규칙의 경우 규칙 파라미터의 이름은 규칙을 생성할 때 선택한 이름입니다.

  2. AWS Config 관리형 규칙을 사용하는 경우 관리형 규칙 목록에서 적절한 AWS Config 규칙을 찾아 특정 규칙에 대해 허용되는 DefaultType의 값을 알 수 있습니다. AWS Config 사용자 지정 규칙의 경우 규칙을 생성할 때 선택한 값을 사용합니다.

    참고

    각 파라미터에 대해 Type을 지정해야 합니다. Type은 ‘문자열’, ‘int’, ‘double’, ‘CSV’, ‘부울’, ‘StringMap’ 중 하나일 수 있습니다.

리소스*

Resources 섹션에는 사용자 지정 적합성 팩에 추가되는 규칙이 나열되어 있습니다. Parameters 섹션 바로 아래에 다음 Resources 블록을 추가한 다음 필요에 따라 사용자 지정하고 각 규칙에 대해 반복합니다. 사양에 대한 자세한 내용은 AWS::Config::ConfigRule을 참조하세요.

Resources: NameOfRule: Properties: ConfigRuleName: ActualConfigRuleName InputParameters: NameOfRuleParameter: !Ref NameOfRuleParamNameOfRuleParameter Source: Owner: Owner SourceIdentifier: SOURCE_IDENTIFIER Type: AWS::Config::ConfigRule ...

예:

Resources: IamPasswordPolicy: Properties: ConfigRuleName: iam-password-policy InputParameters: MinimumPasswordLength: !Ref IamPasswordPolicyParamMinimumPasswordLength Source: Owner: AWS SourceIdentifier: IAM_PASSWORD_POLICY Type: AWS::Config::ConfigRule
참고

AWS Config 규칙을 선택하여 사용자 지정 적합성 팩을 빌드할 때는 AWS Config 규칙에 대해 평가할 리소스가 계정 내에 프로비저닝되어 있는지 확인합니다. 자세한 내용은 지원되는 리소스 유형 섹션을 참조하세요.

  1. NameOfRuleParameters 섹션에서 지정한 이름으로 바꿉니다.

  2. AWS Config 관리형 규칙의 경우 ActualConfigRuleNameAWS Config 관리형 규칙 목록의 해당 규칙 페이지의 제목으로 바꿉니다. AWS Config 사용자 지정 규칙의 경우 규칙을 생성할 때 선택한 Config 규칙 이름을 사용합니다.

  3. NameOfRuleParameterParameters 섹션에서 사용한 이름으로 바꿉니다. Parameters 섹션에서 생성한 것과 동일한 연결된 문자열 !Ref + NameOfRule + Param + NameOfRuleParameter를 복사하여 콜론 뒤에 붙여 넣습니다.

  4. Owner를 적절한 값으로 변경합니다.

    참고

    AWS Config 관리형 규칙

    AWS Config 관리형 규칙의 경우 Owner의 값은 AWS입니다.

    AWS Config 사용자 지정 규칙

    Guard로 생성한 AWS Config 사용자 지정 규칙의 경우 Owner의 값은 CUSTOM_POLICY입니다. Lambda로 생성한 AWS Config 사용자 지정 규칙의 경우 Owner의 값은 CUSTOM_LAMBDA입니다.

  5. SOURCE_IDENTIFIER를 적절한 값으로 변경합니다.

    참고

    AWS Config 관리형 규칙

    AWS Config 관리형 규칙의 경우 AWS Config 관리형 규칙 목록에서 선택한 규칙의 링크를 따라 식별자를 복사합니다. 예를 들어 access-keys-rotated 규칙의 소스 식별자는 ACCESS_KEYS_ROTATED입니다.


    AWS Config 사용자 지정 규칙

    Lambda로 생성된 AWS Config 사용자 지정 규칙의 경우 SourceIdentifier는 해당 규칙 AWS Lambda 함수의 Amazon 리소스 이름(ARN)입니다(예: arn:aws:lambda:us-east-2:123456789012:function:ActualConfigRuleName). Guard로 생성된 AWS Config 사용자 지정 규칙의 경우 이 필드는 필요하지 않습니다.

전체적으로, 작성한 사용자 지정 적합성 팩은 다음 예제와 비슷합니다. 이 예제에서는 AWS Config 관리형 규칙 iam-password-policy, access-keys-rotatediam-user-unused-credentials-check가 사용되었습니다.

Parameters: IamPasswordPolicyParamMinimumPasswordLength: Default: '14' Type: String AccessKeysRotatedParamMaxAccessKeyAge: Default: '90' Type: String IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge: Default: '45' Type: String Resources: IamPasswordPolicy: Properties: ConfigRuleName: iam-password-policy InputParameters: MinimumPasswordLength: !Ref IamPasswordPolicyParamMinimumPasswordLength Source: Owner: AWS SourceIdentifier: IAM_PASSWORD_POLICY Type: AWS::Config::ConfigRule AccessKeysRotated: Properties: ConfigRuleName: access-keys-rotated InputParameters: maxAccessKeyAge: !Ref AccessKeysRotatedParamMaxAccessKeyAge Source: Owner: AWS SourceIdentifier: ACCESS_KEYS_ROTATED Type: AWS::Config::ConfigRule IamUserUnusedCredentialsCheck: Properties: ConfigRuleName: iam-user-unused-credentials-check InputParameters: maxCredentialUsageAge: !Ref IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge Source: Owner: AWS SourceIdentifier: IAM_USER_UNUSED_CREDENTIALS_CHECK Type: AWS::Config::ConfigRule