AWS CodePipeline의 데이터 보호
AWS 공동 책임 모델
데이터를 보호하려면 AWS 계정 자격 증명을 보호하고 AWS IAM Identity Center 또는 AWS Identity and Access Management(IAM)를 통해 개별 사용자 계정을 설정하는 것이 좋습니다. 이렇게 하면 개별 사용자에게 자신의 직무를 충실히 이행하는 데 필요한 권한만 부여됩니다. 또한 다음과 같은 방법으로 데이터를 보호하는 것이 좋습니다.
-
각 계정에 다중 인증(MFA)을 사용하세요.
-
SSL/TLS를 사용하여 AWS 리소스와 통신하세요. TLS 1.2는 필수이며 TLS 1.3을 권장합니다.
-
AWS CloudTrail로 API 및 사용자 활동 로깅을 설정하세요. AWS 활동 캡처에 CloudTrail 추적을 사용하는 방법에 대한 자세한 내용은 AWS CloudTrail 사용 설명서의 CloudTrail 추적 작업을 참조하세요.
-
AWS 암호화 솔루션을 AWS 서비스 내의 모든 기본 보안 컨트롤과 함께 사용하세요.
-
Amazon S3에 저장된 민감한 데이터를 검색하고 보호하는 데 도움이 되는 Amazon Macie와 같은 고급 관리형 보안 서비스를 사용하세요.
-
명령줄 인터페이스 또는 API를 통해 AWS에 액세스할 때 FIPS 140-3 검증된 암호화 모듈이 필요한 경우, FIPS 엔드포인트를 사용합니다. 사용 가능한 FIPS 엔드포인트에 대한 자세한 내용은 Federal Information Processing Standard(FIPS) 140-3
을 참조하세요.
고객의 이메일 주소와 같은 기밀 정보나 중요한 정보는 태그나 이름 필드와 같은 자유 형식 텍스트 필드에 입력하지 않는 것이 좋습니다. 여기에는 CodePipeline 또는 기타 AWS 서비스에서 콘솔, API, AWS CLI 또는 AWS SDK를 사용하여 작업하는 경우가 포함됩니다. 이름에 사용되는 태그 또는 자유 형식 텍스트 필드에 입력하는 모든 데이터는 청구 또는 진단 로그에 사용될 수 있습니다. 외부 서버에 URL을 제공할 때 해당 서버에 대한 요청을 검증하기 위해 자격 증명을 URL에 포함해서는 안 됩니다.
다음 보안 모범 사례에서도 CodePipeline의 데이터 보호를 다룹니다.
인터네트워크 트래픽 개인 정보
Amazon VPC란 사용자가 정의한 가상 네트워크(가상 프라이빗 클라우드)에서 AWS 리소스를 시작할 때 사용할 수 있는 AWS 서비스입니다. CodePipeline은 프라이빗 IP 주소와 함께 탄력적 네트워크 인터페이스를 사용하여 AWS 서비스 간 프라이빗 통신을 용이하게 할 수 있는 AWS 기술인 AWS PrivateLink에 의해 구동되는 Amazon VPC 엔드포인트를 지원합니다. 즉, VPC의 프라이빗 엔드포인트를 통해 CodePipeline에 직접 연결하고, VPC와 AWS 네트워크의 모든 트래픽을 유지할 수 있습니다. 이전에는 VPC 내에서 실행 중인 애플리케이션에서 CodePipeline에 연결하기 위해 인터넷 접속이 필요했습니다. VPC를 사용하면 다음과 같은 네트워크 설정을 제어할 수 있습니다.
-
IP 주소 범위,
-
서브넷,
-
라우팅 테이블,
-
네트워크 게이트웨이
VPC를 CodePipeline에 연결하려면 CodePipeline에 대해 인터페이스 VPC 엔드포인트를 정의하세요. 이 유형의 엔드포인트를 사용하여 VPC를 AWS 서비스에 연결할 수 있습니다. 이 엔드포인트를 이용하면 인터넷 게이트웨이나 NAT(네트워크 주소 변환) 인스턴스 또는 VPN 연결 없이도 CodePipeline에 안정적이고 확장 가능하게 연결됩니다. VPC 설정에 대한 자세한 내용은 VPC 사용 설명서를 참조하십시오.
저장 시 암호화
CodePipeline의 데이터는 AWS KMS keys를 사용하여 저장 시 암호화됩니다. 코드 아티팩트는 고객 소유 S3 버킷에 저장되고 AWS 관리형 키 또는 고객 관리형 키로 암호화됩니다. 자세한 내용은 CodePipeline의 Amazon S3에 저장된 아티팩트에 대해 서버 측 암호화 구성 섹션을 참조하세요.
전송 중 데이터 암호화
모든 서비스 대 서비스 통신은 SSL/TLS를 사용하여 전송 중에 암호화됩니다.
암호화 키 관리
코드 아티팩트를 암호화하기 위한 기본 옵션을 선택하면 CodePipeline은 AWS 관리형 키를 사용합니다. 이 AWS 관리형 키는 변경하거나 삭제할 수 없습니다. AWS KMS에서 고객 관리형 키를 사용해 S3 버킷의 아티팩트를 암호화하거나 암호화 해제하는 경우, 필요에 따라 이 고객 관리형 키를 변경하거나 교체할 수 있습니다.
중요
CodePipeline은 대칭 KMS 키만 지원합니다. 비대칭 KMS 키를 사용하여 S3 버킷의 데이터를 암호화하지 마십시오.