View a markdown version of this page

Visualizzazione dei log di audit - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Visualizzazione dei log di audit

I log di audit vengono archiviati in D:\rdsdbdata\SQLAudit.

Quando SQL Server finisce di scrivere un file di log di audit—quando il file raggiunge la dimensione massima—Amazon RDS carica il file nel bucket S3. Se la retention è abilitata, Amazon RDS sposta il file nella cartella di retentio: D:\rdsdbdata\SQLAudit\transmitted.

Per informazioni sulla configurazione della retention, consulta Aggiunta dell'audit in SQL Server alle opzioni dell'istanza database.

I registri dell'audit vengono conservati nell'istanza database fino a quando non viene caricato il file di log dell'audit. È possibile visualizzare i registri dell'audit eseguendo il seguente comando.

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

Lo stesso comando si può utilizzare per visualizzare i registri dell'audit nella cartella di retention modificando il filtro in D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit.

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

Visualizzazione dei record del registro di controllo in CloudWatch

Se hai scelto di caricare i log di controllo su CloudWatch, puoi accedere ai record dei log (in formato JSON) seguendo questi passaggi.

Per visualizzare i log di controllo, accedi CloudWatch
  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nel riquadro di navigazione a sinistra, scegli Logs, Log Management.

  3. Inserisci il nome della tua istanza DB nella casella di ricerca Log Groups.

  4. Scegliete il gruppo di log appropriato.

  5. Nella scheda Log Streams, scegli il log stream.

In alternativa, puoi utilizzare la AWS CLI per interrogare il flusso di log. L'esempio seguente estrae gli eventi del registro di controllo e li esporta in un file 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}"