CodeBuild 빌드 산출물 암호화 키 점검

CodeBuild 산출물의 키 관리 요구사항에 맞는 암호화 설정을 사용하세요.

설명

CodeBuild의 encryption_key는 빌드 출력 산출물의 암호화 키를 지정합니다. 생략하면 기본 AWS 관리형 키를 사용하므로, 키가 명시되지 않았다는 이유만으로 산출물이 평문이라고 판단해서는 안 됩니다.

잠재적 영향

키 정책이나 수명 주기를 직접 관리해야 하는 환경에서 기본 키에만 의존하면 조직의 키 관리 요구사항을 충족하지 못할 수 있습니다.

해결 방법

실제 산출물 암호화 설정을 확인하고, 직접 키를 관리해야 한다면 서비스 역할이 사용할 수 있는 고객 관리형 키를 지정하세요. CodePipeline 산출물은 파이프라인의 아티팩트 저장소 설정도 확인하세요. 프로젝트 키가 로그와 환경변수까지 일괄 보호하지는 않습니다.

예시

이 발췌 예시는 기본 키를 암묵적으로 사용하는 설정과 alias/aws/s3를 명시하는 설정을 비교합니다. 후자도 AWS 관리형 키입니다. 빌드 환경과 파이프라인 설정은 생략했습니다.

변경 전

yaml
- name: My project
  community.aws.codebuild_project:
    name: my_project
    description: My nice little project v2
    service_role: arn:aws:iam::123456789012:role/service-role/code-build-service-role
    source:
      type: CODEPIPELINE
      buildspec: ''
    artifacts:
      type: CODEPIPELINE
      name: my_project
    region: us-east-1
    state: present

변경 후

yaml
- name: My project
  community.aws.codebuild_project:
    name: my_project
    description: My nice little project
    service_role: arn:aws:iam::123456789012:role/service-role/code-build-service-role
    source:
      type: CODEPIPELINE
      buildspec: ''
    artifacts:
      type: CODEPIPELINE
      name: my_project
    encryption_key: arn:aws:kms:us-east-1:123456789012:alias/aws/s3
    region: us-east-1
    state: present

참조