Cloud SQL PostgreSQL의 pgAudit 설정 점검

필요한 데이터베이스 작업을 감사하고 실제 로그 수신을 확인하세요.

설명

Cloud SQL PostgreSQL의 pgAudit은 선택한 SQL 작업을 기록합니다. cloudsql.enable_pgaudit만 켜면 구성이 완료되는 것은 아니며, 확장 생성과 pgaudit.log의 감사 대상 설정이 필요합니다. 인스턴스 관리 작업의 감사와는 별개입니다.

잠재적 영향

  • 필요한 SQL 작업 기록이 없으면 데이터 접근이나 변경을 조사하기 어려울 수 있습니다.
  • 과도한 감사 범위는 민감한 SQL 내용, 디스크 사용량과 로그 비용을 늘릴 수 있습니다.

해결 방법

  • 재시작 영향을 계획하고 cloudsql.enable_pgaudit를 on으로 설정하세요. SQL 클라이언트로 pgAudit 확장을 생성하고 pgaudit.log에 필요한 작업 종류를 지정하세요.
  • 프로젝트의 Data Access 감사 로그를 활성화하고 Cloud Logging 수신을 확인하세요. 보관 기간과 접근 권한, 디스크 사용량도 관리하세요.

예시

인스턴스 설정 일부를 비교하는 예제입니다. 지원되는 엔진 버전과 생략된 필수 설정을 준비하세요. 이 플래그 변경에 예제와 같은 엔진 버전 변경이 필요한 것은 아닙니다.

변경 전

hcl
resource "google_sql_database_instance" "example" {
  name             = "postgres-instance-with-flag"
  database_version = "POSTGRES_14"
  region           = "us-central1"

  settings {
    database_flags {
      name  = "cloudsql.enable_pgaudit"
      value = "off"
    }
  }
}

변경 후

hcl
resource "google_sql_database_instance" "example" {
  name             = "postgres-instance-with-flag"
  database_version = "POSTGRES_15"
  region           = "us-central1"

  settings {
    database_flags {
      name  = "cloudsql.enable_pgaudit"
      value = "on"
    }
  }
}

설명:

  • 변경 전: pgAudit 활성화 플래그가 꺼져 있습니다. 다른 서버 로그까지 모두 끄는 설정은 아닙니다.
  • 변경 후: pgAudit 사용을 위한 플래그를 켭니다. 확장과 감사 대상, 로그 수신은 별도로 구성해야 합니다.

참조