pgAudit 로깅 동작을 구성하려면 pgaudit.log
플래그 또는 pgaudit.role
플래그를 설정합니다.
pgaudit.log
를 설정하여 세션 로깅을 사용 설정하고 구성합니다. 인스턴스, 데이터베이스 또는 역할에서 이 플래그를 설정하여 pgAudit가 로깅하는 작업의 범위를 정의할 수 있습니다. pgAudit가 로깅하는 작업 유형을 정의하는 값으로 플래그를 설정합니다.pgaudit.role
를 설정하여 특정 관계에 영향을 미치는 문을 로깅하는 객체 로깅을 사용 설정하고 구성합니다. 이 플래그를 역할 이름으로 설정한 다음 로깅하려는 특정 객체에 대한 문 액세스 권한을 부여합니다. 문 액세스에는SELECT, INSERT, UPDATE, and DELETE
가 포함됩니다. pgAudit는 모든 사용자가 실행한 액세스 및 객체 조합과 일치하는 모든 작업을 로깅합니다.
다음 섹션에서는 pgAudit 로깅 동작을 설정하는 옵션을 보여주는 예시를 제공합니다.
확장 프로그램의 추가 기능은 pgAudit 문서를 참조하세요.
인스턴스의 모든 데이터베이스에 대한 세션 감사 로깅 구성
인스턴스의 모든 데이터베이스에 감사를 구성하려면 인스턴스 수준에서 pgaudit.log
플래그를 설정합니다.
예를 들면 다음과 같습니다.
- 인스턴스의 모든 데이터베이스에 대한 모든 작업에 대해 감사를 사용 설정하려면 다음 단계를 따르세요.
gcloud alloydb instances update my-instance \ --database-flags pgaudit.log=all[,flag2=value2...] \ --region=us-central1 \ --cluster=my-cluster \ --project=my-project
- 인스턴스의 모든 데이터베이스에 대한 읽기 및 쓰기 작업에 대해서만 감사를 사용 설정하려면 다음 단계를 따르세요.
gcloud alloydb instances update my-instance \ --database-flags=^:^pgaudit.log=read,write[:flag2=value2...] \ --region=us-central1 \ --cluster=my-cluster \ --project=my-project
플래그 값 내에 쉼표 문자를 사용할 수 있는 대체 구분자 문법을 사용합니다.
데이터베이스 플래그 구성에 관한 자세한 내용은 데이터베이스 플래그 구성을 참고하세요.
특정 데이터베이스의 세션 감사 로깅 구성
데이터베이스 수준에서 pgaudit.log
플래그를 설정하여 특정 데이터베이스에 대한 감사를 구성할 수 있습니다.
예를 들어 데이터베이스에 대해 읽기/쓰기 감사를 사용 설정하려면 재무팀에서 다음을 실행합니다.
finance=> ALTER DATABASE finance SET pgaudit.log = 'read,write';
단일 사용자의 세션 감사 로깅 구성
역할 수준별로 pgaudit.log
를 설정하여 특정 사용자에 대해 감사를 사용 설정할 수 있습니다.
예를 들어 사용자 앨리스가 실행하는 모든 데이터베이스 작업에 대한 감사를 설정하려면 다음을 실행합니다.
finance=> ALTER ROLE alice SET pgaudit.log = 'all';
객체 감사 로깅 구성
관계에 대한 감사는 특정 데이터베이스에 대한 감사 범위보다 좁습니다. 관계에 대해 감사를 수행할 때 시스템은 pgaudit.role
매개변수에 고유한 감사 역할을 할당합니다. 이 작업은 이 역할에 부여된 모든 객체 또는 관계를 로깅합니다.
예를 들면 다음과 같습니다.
- 직원 데이터베이스 내 급여 관계의 모든
SELECT
쿼리에 대해 감사를 구성하려면 다음 단계를 따르세요.employee=> CREATE ROLE auditor WITH NOLOGIN;
employee=> ALTER DATABASE employee SET pgaudit.role = 'auditor';
employee=> GRANT SELECT ON salary TO auditor;
또한 특정 관계에 대해 열 하위 집합을 감사할 수 있습니다.
예를 들면 다음과 같습니다.
- salary 관계에서
income
및tax_status
열에 액세스할 때만 발생하는 감사 로깅을 구성하려면 다음을 실행합니다.employee=> GRANT SELECT(income, tax_status) ON salary TO auditor;