설명
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 사용을 위한 플래그를 켭니다. 확장과 감사 대상, 로그 수신은 별도로 구성해야 합니다.