Databricks 작업 및 클러스터 권한 점검

Databricks 작업과 클러스터의 권한을 필요한 사용자, 그룹, 서비스 주체로 제한하세요.

설명

Databricks 작업과 클러스터의 실행·관리 권한은 필요한 주체에만 부여해야 합니다. Terraform에 databricks_permissions가 없다는 사실만으로 기존 권한이 없거나 공개되어 있다고 볼 수는 없습니다.

잠재적 영향

과도한 권한을 가진 주체는 작업을 변경하거나 클러스터를 조작할 수 있으며, 부여된 권한에 따라 처리 중인 데이터에도 영향을 줄 수 있습니다.

해결 방법

실제 권한을 확인하고 리소스 유형에 맞는 최소 권한을 설정하세요. 자동화 작업에는 전용 서비스 주체의 소유권을 검토하되, 사용자 소유 자체가 취약점은 아닙니다. databricks_permissions를 적용하면 기존 권한을 덮어쓸 수 있으므로 필요한 권한을 빠뜨리지 마세요.

예시

예시는 작업 소유자를 서비스 주체로 지정하고 users 그룹에 보기 권한을 부여합니다. 전체 사용자의 조회가 필요하지 않으면 해당 그룹을 제한하세요. 작업의 실행 내용과 서비스 주체 정의는 생략했습니다.

변경 전

hcl
resource "databricks_job" "feature_job" {
  name                = "Featurization"
  max_concurrent_runs = 1
}

변경 후

hcl
resource "databricks_job" "feature_job" {
  name                = "Featurization"
  max_concurrent_runs = 1
}

resource "databricks_permissions" "feature_job_permissions" {
  job_id = databricks_job.feature_job.id

  access_control {
    group_name       = "users"
    permission_level = "CAN_VIEW"
  }

  access_control {
    service_principal_name = databricks_service_principal.aws_principal.application_id
    permission_level       = "IS_OWNER"
  }
}

참조