Cloud Storage 버킷의 공개 IAM 권한 점검

공개가 필요한 데이터와 작업만 허용하고 내부 자료는 분리하세요.

설명

Cloud Storage IAM의 allUsers는 익명 사용자를 포함하고, allAuthenticatedUsers는 조직 외부의 인증된 Google 계정도 포함합니다. 부여한 역할과 적용되는 제한에 따라 데이터 읽기나 변경을 허용할 수 있습니다.

잠재적 영향

  • 내부 데이터나 백업 파일이 외부에 노출될 수 있습니다.
  • 쓰기·삭제 권한까지 공개하면 데이터 손상이나 서비스 중단이 발생할 수 있습니다.

해결 방법

  • 불필요한 공개 주체를 제거하고 승인된 사용자, 그룹 또는 서비스 계정에 필요한 최소 역할만 부여하세요. 비공개 버킷에는 Public access prevention도 검토하세요.
  • 의도적인 공개 자료는 별도 버킷으로 분리하고 읽기 등 필요한 작업만 허용하세요. 다른 IAM·ACL 권한과 실제 접근도 확인하세요.

예시

기존 버킷의 IAM 멤버 설정입니다. 예제 계정을 실제 승인된 계정으로 바꾸세요. 변경 후에도 광범위한 roles/storage.admin은 남으므로 업무에 맞게 축소해야 합니다.

변경 전

hcl
resource "google_storage_bucket_iam_member" "example" {
  bucket = google_storage_bucket.default.name
  role   = "roles/storage.admin"
  member = "allUsers"
}

변경 후

hcl
resource "google_storage_bucket_iam_member" "example" {
  bucket = google_storage_bucket.default.name
  role   = "roles/storage.admin"
  member = "user:jane@example.com"
}

설명:

  • 변경 전: 모든 사용자에게 관리 역할을 부여합니다. 실제 허용 범위에는 Public access prevention 등 다른 통제도 적용됩니다.
  • 변경 후: 주체를 특정 사용자로 제한합니다. 다른 공개 권한을 제거하거나 역할을 최소화하는 작업까지 수행하지는 않습니다.

참조