View a markdown version of this page

Visualizar logs de auditoria - Amazon Relational Database Service

Visualizar logs de auditoria

Seus logs de auditoria são armazenados em D:\rdsdbdata\SQLAudit.

Depois que o SQL Server terminar de gravar em um arquivo de log de auditoria—quando o arquivo atingir seu limite de tamanho—o Amazon RDS o carregará no seu bucket S3. Se a retenção estiver habilitada, o Amazon RDS moverá o arquivo para a pasta de retenção: D:\rdsdbdata\SQLAudit\transmitted.

Para obter informações sobre como configurar a retenção, consulte Adicionar a auditoria do SQL Server às opções de instância de banco de dados.

Registros de auditoria são mantidos na instância de banco de dados até que o arquivo de log de auditoria seja carregado. Você pode visualizar os registros de auditoria executando o comando a seguir.

SELECT * FROM msdb.dbo.rds_fn_get_audit_file ('D:\rdsdbdata\SQLAudit\*.sqlaudit' , default , default )

É possível usar o mesmo comando para visualizar registros de auditoria na sua pasta de retenção, alterando o filtro para D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit.

SELECT * FROM msdb.dbo.rds_fn_get_audit_file ('D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit' , default , default )

Visualização de registros de log de auditoria no CloudWatch

Se você optar por fazer o upload dos logs de auditoria para o CloudWatch, poderá acessar os registros de log (no formato JSON) seguindo estas etapas.

Para visualizar logs de auditoria no CloudWatch
  1. Abra o console do CloudWatch, em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação esquerdo, escolha Logs, Gerenciamento de logs.

  3. Insira o nome da sua instância de banco de dados na caixa de pesquisa de Grupos de logs.

  4. Escolha o grupo de logs apropriado.

  5. Na guia Fluxos de logs, escolha o fluxo de logs.

Como alternativa, você pode usar a CLI da AWS para consultar o fluxo de logs. O exemplo a seguir extrai eventos de logs de auditoria e os exporta para um arquivo CSV.

# Parameters # ----------- LOG_GROUP="/aws/rds/instance/<your-db-instance-id>/sqlaudit" START_DATE="2026-06-18" END_DATE="2026-06-19" OUTPUT_FILE="sql_audit_extract.csv" # Convert dates to epoch milliseconds # ----------------------------------- START_TIME=$(date -d "${START_DATE}" +%s)000 END_TIME=$(date -d "${END_DATE}" +%s)000 # Fetch log events # ---------------- # Note: --no-paginate returns all results in a single call. # For large result sets, consider using --page-size or manual pagination. RESPONSE=$(aws logs filter-log-events \ --log-group-name "${LOG_GROUP}" \ --start-time "${START_TIME}" \ --end-time "${END_TIME}" \ --output json \ --no-paginate) # Parse and export to CSV # Extract the 'message' field from each event (JSON formatted messages), # then convert to CSV using jq. # Get CSV headers from the first record # ------------------------------------- HEADERS=$(echo "${RESPONSE}" | jq -r ' [.events[0].message | fromjson | keys[]] | @csv ') # Write headers to output file # ---------------------------- echo "${HEADERS}" > "${OUTPUT_FILE}" # Write all records to output file # -------------------------------- echo "${RESPONSE}" | jq -r ' .events[].message | fromjson | [.[]] | @csv ' >> "${OUTPUT_FILE}" # Script execution summary # ------------------------- RECORD_COUNT=$(echo "${RESPONSE}" | jq '.events | length') echo "Exported ${RECORD_COUNT} records to ${OUTPUT_FILE}"