PostgreSQL용 AlloyDB에 대해 pgAudit에서 생성한 감사 로그 보기

이 페이지에서는 pgAudit에서 생성한 감사 로그를 보는 방법을 설명합니다. 이 감사 로그를 사용하면 정부, 금융, ISO 인증을 준수하기 위해 종종 필요한 로그를 구성할 수 있습니다. 이 페이지에서는 pgAudit의 로그 형식도 설명합니다. pgAudit에 관한 자세한 내용은 pgAudit 정보를 참고하세요.

시작하기 전에

감사 로그를 보려면 다음을 실행해야 합니다.

감사 로그 보기

지정된 인스턴스에 대해 생성된 pgAudit 로그는 데이터 액세스 감사 로그로 Cloud Logging에 전송됩니다.

로그 탐색기 애플리케이션을 사용하여 생성된 pgAudit 로그를 볼 수 있습니다.

pgAudit 로그를 보려면 로그 탐색기 애플리케이션에서 cloudaudit.googleapis.com/data_access 로그 필터를 선택합니다.

AlloyDB 프로젝트의 모든 pgAudit 로그를 보려면 고급 필터 인터페이스를 사용하여 다음 쿼리를 실행합니다.

resource.type="alloydb.googleapis.com/Instance"
logName="projects/your-project-name/logs/cloudaudit.googleapis.com%2Fdata_access"
protoPayload.request.@type="type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry"

pgAudit의 로그 형식

데이터 액세스 감사 로그의 각 pgAudit 로그 항목에는 쿼리에 대해 수집된 정보를 나타내는 필드가 있습니다. 이러한 로그 항목 필드에 대한 자세한 내용은 pgAudit 문서를 참고하세요.

샘플 pgAudit 로그 항목:

{
  protoPayload: {
    @type: "type.googleapis.com/google.cloud.audit.AuditLog"
    methodName: "alloydb.instances.query"
    request: {
      @type: "type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry"
      auditClass: "READ"
      auditType: "SESSION"
      chunkCount: "1"
      chunkIndex: "1"
      command: "SELECT"
      database: "finance"
      databaseSessionId: 2209692
      parameter: "[not logged]"
      statement: "SELECT * FROM revenue"
      statementId: 2
      substatementId: 1
      user: "alice"
    }
  }
}

다음은 데이터 액세스 감사 로그의 필드에 대한 설명입니다.

  • auditClass. 로깅되는 문의 유형입니다. 가능한 값은 READ, WRITE, FUNCTION, ROLE, DDL, MISC, MISC_SET입니다.
  • auditType SESSION 또는 OBJECT입니다.
  • chunkCount 청크 생성은 parameterstatement 필드에 제공된 데이터에서 발생할 수 있습니다. chunkCount 필드는 총 청크 수를 나타냅니다. chunkIndex 필드에 대한 설명도 참고하세요.
  • chunkIndex. 현재 request 컨테이너의 parameterstatement 필드에 데이터 청크의 색인 번호를 지정합니다. 초기 번호는 1입니다. chunkCount 필드에 대한 설명도 참조하세요.
  • command 예를 들어 ALTER TABLE 또는 SELECT입니다.
  • 매개변수. chunkIndex 필드는 이 필드의 콘텐츠를 결정할 수 있습니다. chunkIndex 필드에 대한 설명을 참고하세요. `pgaudit.log_parameter` 값이 설정되면 parameter 필드는 문 매개변수를 따옴표로 묶인 CSV 데이터로 포함할 수 있습니다. 매개변수가 없는 경우 이 필드에는 [none]이 포함됩니다. 그렇지 않은 경우에는 이 필드에 [not logged]가 포함됩니다.
  • 백엔드에서 실행되는 문입니다. chunkIndex 필드는 statement 필드의 콘텐츠를 결정할 수 있습니다. chunkIndex 필드에 대한 설명을 참고하세요.
  • statementId 이 세션의 고유한 문 ID입니다. 각 문 ID는 백엔드 호출을 나타냅니다. 일부 문은 로깅되지 않더라도 문 ID는 순차적입니다.
  • substatementId 기본 문 내의 각 하위 문에 대한 순차 ID입니다.

다음 단계