Amazon ECR (Elastic Container Registry) 보안과 관련된 사항들
Amazon Elastic Container Registry (ECR)는 AWS에서 Docker 이미지를 저장하고 관리하는 서비스입니다. ECR은 여러 보안 기능을 제공하여 저장소와 이미지에 대한 보호를 강화합니다. 여기서는 ECR과 관련된 보안 기능 및 문제 해결 방법에 대해 알아보겠습니다.
1. ECR 암호화
ECR에서는 **KMS(KMS: Key Management Service)**를 통해 저장소의 이미지를 암호화할 수 있습니다. 암호화는 저장소 생성 시만 활성화할 수 있으며, 기존의 암호화되지 않은 저장소를 암호화하려면 새 저장소를 생성하고 이미지를 마이그레이션해야 합니다.
- Envelope Encryption 기법을 사용하여 이미지 데이터를 보호합니다. 이때 Data Encryption Key를 사용하여 이미지를 암호화합니다.
- KMS Grant가 사용되어 ECR은 KMS와 상호작용하여 DescribeKey, Decrypt, GenerateDataKey, RetireGrant 권한을 부여합니다.
2. 이미지 스캔 (Image Scanning)
ECR은 이미지 취약점 스캔 기능을 제공하여, 컨테이너 이미지에서 소프트웨어 취약점을 자동으로 찾아낼 수 있습니다. 이 스캔은 두 가지 방식으로 제공됩니다.
- 기본 스캔 (Basic Scanning): ECR은 공통 오픈소스 취약점 데이터베이스를 기반으로 이미지를 스캔하여, CVE(Common Vulnerabilities and Exposures) 목록에서 취약점을 확인합니다. 저장소는 이미지가 푸시될 때마다 자동으로 스캔하거나, 사용자가 원하는 때에 수동으로 스캔할 수 있습니다.
- 고급 스캔 (Advanced Scanning): Amazon Inspector를 사용하여 운영 체제와 프로그래밍 언어 패키지의 취약점을 지속적으로 스캔합니다. 새로운 취약점이 발견될 때마다 자동으로 이미지를 다시 스캔하며, 그 결과는 Amazon EventBridge에 전송됩니다. 이를 통해 SNS나 Lambda와 같은 자동화 작업을 설정할 수 있습니다.
또한 스캔 필터를 설정하여 특정 저장소만 스캔할 수 있습니다. 예를 들어, 저장소 이름에 **"prod"**가 포함된 저장소를 자동으로 스캔하도록 설정할 수 있습니다.
3. 크로스 계정 액세스 (Cross-Account Access)
여러 계정 간에 ECR 저장소를 공유하려면 저장소 정책(Repository Policy)을 설정해야 합니다. 이를 통해 다른 계정이 해당 저장소에 대해 푸시나 풀 작업을 할 수 있습니다.
- 대상 계정에서 Docker login을 시도할 때, 첫 번째 계정의 ECR URL을 사용하여 인증을 받습니다.
- 인증이 성공하면, 인증 토큰을 이용하여 이미지를 푸시하거나 풀할 수 있습니다.
4. ECR 문제 해결 (Troubleshooting)
ECR에서 발생할 수 있는 일반적인 오류와 해결 방법은 다음과 같습니다:
- 403 Forbidden 오류 또는 No Basic Auth Credentials 오류가 발생하는 경우:
- 다른 AWS 리전에서 인증을 받았을 수 있습니다. Docker login은 리전 간에 작동하지 않으므로, 해당 리전에서 새로 인증을 받아야 합니다.
- IAM 권한이 부족할 수 있습니다. 푸시 또는 풀 작업을 하려면 필요한 IAM 권한이 있어야 합니다.
- 인증 토큰이 만료되었을 수 있습니다. 인증 토큰은 12시간만 유효하므로, 만료되었다면 새로운 인증을 받아야 합니다.
결론
Amazon ECR은 Docker 이미지를 저장하고 관리하는 강력한 도구로, 보안과 관련하여 KMS 암호화, 취약점 스캔, 크로스 계정 액세스 등 다양한 기능을 제공합니다. ECR을 사용할 때 발생할 수 있는 일반적인 문제를 해결할 수 있는 방법을 이해하고 있으면, 더 안전하고 효율적인 이미지 관리가 가능합니다.
'자격증 > AWS Certified Security - Specialty' 카테고리의 다른 글
[AWS SCS] EKS Concepts (0) | 2024.12.25 |
---|---|
[AWS SCS] ECS Secret Management (0) | 2024.12.25 |
[AWS SCS] Elastic Container Registry (ECR) (0) | 2024.12.25 |
[AWS SCS] Direct Connect + S2S VPN (0) | 2024.12.25 |
[AWS SCS] Direct Connect (0) | 2024.12.25 |