설명
Cloud Storage 버킷 목록은 객체 스토리지 자산의 존재를 파악하고 공개 접근, 암호화 키와 접근 제어를 검토하는 데 사용합니다. 버킷 존재 자체는 취약점을 의미하지 않습니다.
Cloud Storage는 저장 데이터를 기본적으로 암호화합니다. 고객 관리 키(CMEK)는 별도의 키 관리 요구를 위한 선택입니다. 균일한 버킷 수준 액세스는 ACL을 사용하지 않게 하지만 공개 IAM 권한을 자동으로 제거하지는 않습니다.
잠재적 영향
- 버킷이 자산 목록에서 누락되면 공개 권한과 보호 설정 검토가 빠질 수 있습니다.
- 데이터 위치, 비용과 운영 책임을 정확히 관리하기 어려워질 수 있습니다.
해결 방법
버킷을 자산 목록에 반영하고 IAM·ACL 공개 권한, 보존·복구 정책과 담당 팀을 확인하세요. CMEK가 필요하면 버킷과 맞는 위치의 키를 선택하고 서비스 에이전트 권한과 키 가용성을 관리하세요.
예시
지원이 종료된 Deployment Manager 형식의 발췌입니다. 버킷 이름과 키는 실제 환경에 맞게 지정하세요. 두 예제 모두 저장 암호화를 사용하며 변경 후는 접근 제어 방식과 키 관리를 추가로 지정합니다.
변경 전
yaml
resources:
- name: sample-input3
type: storage.v1.bucket
properties:
storageClass: STANDARD
location: EUROPE-WEST3
acl:
- entity: allUsers
role: READER
변경 후
yaml
resources:
- name: sample-input
type: storage.v1.bucket
properties:
storageClass: STANDARD
location: EUROPE-WEST3
iamConfiguration:
uniformBucketLevelAccess:
enabled: true
encryption:
defaultKmsKeyName: projects/example/locations/europe-west3/keyRings/ring/cryptoKeys/key
설명:
- 변경 전:
allUsers의 버킷READERACL은 익명 사용자의 버킷 내 객체 목록 조회를 허용합니다. 객체 내용 읽기 권한은 별개입니다. - 변경 후: ACL 대신 IAM을 사용하고 버킷과 같은 리전의 CMEK를 지정합니다. 공개 IAM 권한은 별도로 확인해야 하며 기본 키 변경만으로 기존 객체를 다시 암호화하지는 않습니다.