Generare report di Identity and Access Management da Oracle Cloud Infrastructure Audit
Introduzione
I domini di Identity di Oracle Cloud Infrastructure (OCI) sono il successore di Oracle Identity Cloud Service e portano tutte le funzionalità di Oracle Identity Cloud Service in un servizio Oracle Cloud Infrastructure di base. Oracle Identity Cloud Service era un'offerta autonoma simile a SaaS e fornisce report sull'attività degli utenti e simili all'interno del servizio.
A differenza di Oracle Identity Cloud Service, i domini di identità OCI esistono nel contesto OCI più ampio. Un principio di progettazione OCI consiste nell'utilizzare funzionalità di servizio comuni ove possibile e, di conseguenza, alcuni dei report resi disponibili all'interno di Oracle Identity Cloud Service non sono più validi, poiché i dati utilizzati sono ora disponibili tramite la funzionalità di servizio comune fornita da OCI Audit.
Questa esercitazione descrive come creare i report non più validi dai dati di audit OCI e renderli disponibili all'interno di OCI Dashboard.
Obiettivi
-
Creare ricerche salvate in OCI Logging per i report IAM OCI.
-
Esportare i report IAM OCI per l'elaborazione offline.
-
Aggiungere tali ricerche al dashboard OCI.
Prerequisiti
- Autorizzazioni per leggere i dati di audit per il compartimento contenente il dominio IAM OCI (che sarà la radice della tenancy per il dominio predefinito).
Task 1: Esplora gli eventi di audit di OCI Identity and Access Management
Ogni servizio OCI crea record di audit sull'azione dell'utente o del servizio e OCI IAM non fa eccezione, creando record di audit sull'accesso dell'utente e qualsiasi modifica o evento che si verifica all'interno di OCI IAM.
-
Accedere al servizio Log nelle funzionalità Osservabilità e gestione all'interno di OCI Console, quindi selezionare la sezione Cerca.
-
Fare clic su Seleziona log da cercare per impostare il contesto per la ricerca di log nel compartimento contenente il dominio di Identity IAM OCI per il quale si desidera generare il report.

Dopo aver selezionato il compartimento pertinente, è probabile che vengano visualizzate diverse voci per l'attività dell'utente o del servizio, con le voci specifiche che dipendono dal modo in cui viene utilizzata la tenancy. Potresti anche vedere i tuoi eventi di login o altri eventi. Se non vengono visualizzate voci, assicurarsi di aver selezionato l'area corretta espandendo Altre opzioni di ricerca oppure espandere la finestra temporale modificando l'impostazione Filtra per ora.
-
Fare clic su Mostra modalità avanzata per visualizzare la possibilità di immettere query di testo libero, quindi aggiungere uno dei seguenti elementi alla fine della query predefinita (dopo 'Ordina per data e ora e descrizione') per generare lo stesso contenuto incluso nel report di Oracle Identity Cloud Service.
Report Query Report accessi riusciti | where data.additionalDetails.eventId = 'sso.session.create.success' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorName as Login, data.additionalDetails.eventId as Result, data.additionalDetails.ssoRp as Provider, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as DateReport accessi non riusciti | where data.additionalDetails.eventId='sso.authentication.failure' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorName as User, data.additionalDetails.eventId as Result, data.message as Comments, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as DateReport accessi applicazioni | where data.additionalDetails.eventId = 'sso.session.create.success' or data.additionalDetails.eventId = 'sso.authentication.failure' or data.additionalDetails.eventId = 'sso.session.modify.success' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorDisplayName as User, data.additionalDetails.actorName as Login, data.additionalDetails.eventId as "Success/Failure", data.additionalDetails.ssoRp as Application, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as DateReport log di audit | where data.additionalDetails.eventId = 'sso.app.access.success' or data.additionalDetails.eventId = 'sso.app.access.failure' or data.additionalDetails.eventId = 'sso.session.create.success' or data.additionalDetails.eventId = 'sso.authentication.failure' or data.additionalDetails.eventId = 'sso.session.delete.success' or data.additionalDetails.eventId = 'admin.user.create.success' or data.additionalDetails.eventId = 'admin.user.activated.success' or data.additionalDetails.eventId = 'admin.user.deactivated.success' or data.additionalDetails.eventId = 'admin.user.update.success' or data.additionalDetails.eventId = 'admin.user.delete.success' or data.additionalDetails.eventId = 'admin.user.password.reset.success' or data.additionalDetails.eventId = 'admin.me.password.reset.success' or data.additionalDetails.eventId = 'admin.me.password.change.success' or data.additionalDetails.eventId = 'admin.policy.create.success' or data.additionalDetails.eventId = 'admin.rule.create.success' or data.additionalDetails.eventId = 'admin.policy.update.success' or data.additionalDetails.eventId = 'admin.rule.update.success' or data.additionalDetails.eventId = 'admin.passwordpolicy.create.success' or data.additionalDetails.eventId = 'admin.passwordpolicy.update.success' or data.additionalDetails.eventId = 'admin.grant.create.success' or data.additionalDetails.eventId = 'admin.grant.delete.success' or data.additionalDetails.eventId = 'admin.group.create.success' or data.additionalDetails.eventId = 'admin.group.add.member.success' or data.additionalDetails.eventId = 'admin.group.remove.member.success' or data.additionalDetails.eventId = 'admin.group.delete.success' or data.additionalDetails.eventId = 'admin.app.create.success' or data.additionalDetails.eventId = 'admin.app.update.success' or data.additionalDetails.eventId = 'admin.app.delete.success' or data.additionalDetails.eventId = 'admin.app.activated.success' or data.additionalDetails.eventId = 'admin.app.deactivated.success' or data.additionalDetails.eventId = 'notification.delivery.success' or data.additionalDetails.eventId = 'notification.delivery.failure' or data.additionalDetails.eventId = 'sso.auth.factor.initiated' or data.additionalDetails.eventId = 'sso.bypasscode.create.success' | select time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as Date, data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorName as Actor, data.additionalDetails.eventId as "Event Id", data.message as "Event Description", data.additionalDetails.adminResourceName as TargetReport assegnazioni ruoli applicazione | where data.additionalDetails.eventId = 'admin.approle.add.member.success' or data.additionalDetails.eventId = 'admin.approle.remove.member.success' | select data.additionalDetails.domainDisplayName as Domain, data.additionalDetails.actorDisplayName as Approver, data.additionalDetails.adminAppRoleAppName as "Application Name", data.additionalDetails.adminRefResourceName as Beneficiary, data.additionalDetails.adminRefResourceType as "User/Group", data.additionalDetails.adminResourceName as "Application Role Name", time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') as Date, data.additionalDetails.eventId as "Added/Removed"Ad esempio, per il report
Successful Logins, la query avrà un aspetto simile a quello riportato di seguito.
-
Fare clic su Cerca per utilizzare la query aggiornata. Se non restituisce alcun risultato, potrebbe essere necessario modificare il filtro tempo.

-
I risultati restituiti possono essere esportati facendo clic su Esporta dati di log (JSON) nell'elenco a discesa Azioni sopra i risultati.

Nota: i report di Oracle Identity Cloud Service supportati per il download come file
CSVmentre questa esportazione supporta solo l'esportazioneJSON, tuttavia le istruzioni di selezione utilizzate nelle query sopra riportate appiattisconoJSONin un singolo oggetto con attributi, che dovrebbe consentire di eseguire la conversione tra l'esportazioneJSONeCSV, se necessario.
Task 2: Creare una ricerca salvata per il report
Per evitare di reinserire la query ogni volta che si desidera accedere a questi report, è possibile utilizzare la funzionalità Ricerca salvata di OCI Logging.
-
Dopo aver convalidato la query, fare clic su Salva ricerca per consentire il riutilizzo e la incorporazione della query nel dashboard.
-
Immettere un nome per la ricerca, ad esempio 'Successful_Login_Report' o simile, nonché una descrizione, quindi fare clic su Salva.
-
Dall'interfaccia Ricerche salvate, è possibile fare clic di nuovo nella ricerca per ottenere il set di dati più recente.
Nota: non è possibile esportare direttamente i risultati dall'interfaccia della ricerca salvata, ma è necessario utilizzare Esplora con ricerca log dall'elenco a discesa Azioni, quindi esportare i risultati dalla vista Cerca.
Task 3: aggiungere il report a un dashboard OCI
Oltre ad accedere ai report dall'interno del servizio OCI Logging, possono essere resi disponibili anche tramite la funzionalità dashboard di OCI, per consentire la revisione centralizzata degli eventi IAM OCI.
-
Andare alla pagina di arrivo di OCI Console, fare clic su Oracle Cloud nel banner superiore, quindi passare alla vista Dashboard.
-
Creare un nuovo dashboard per i report IAM OCI facendo clic su Nuovo dashboard.
-
Selezionare Genera da zero e aggiungere un nome e una descrizione appropriati.

-
Creare un nuovo gruppo di dashboard o assegnare questo dashboard a un gruppo esistente, se necessario.
-
Fare clic su Aggiungi widget, selezionare Tabella dati di log, quindi fare clic su Configura nel nuovo widget.
-
Fornire un nome appropriato, quindi selezionare la ricerca salvata. Aggiungere un periodo di tempo predefinito appropriato.

-
Modificare il layout e aggiungere altre ricerche salvate in base alle esigenze.

Automazione dell'estrazione dei dati del report
Gli approcci descritti sopra offrono la possibilità di eseguire report ad hoc sui dati IAM. Tuttavia, per le operazioni in corso, potrebbe essere necessario automatizzare l'estrazione di questi dati. A tale scopo, è possibile utilizzare l'API OCI, l'interfaccia CLI OCI o uno degli SDK OCI.
È possibile richiamare l'API SearchLogs utilizzando una richiesta simile alla seguente, modificando l'intervallo di tempo e aggiungendo la query dalla ricerca di log iniziale:
POST https://logging.<region>.oci.oraclecloud.com/20190909/search?limit=1000
Body:
{
"timeStart": "2025-01-01T00:00:00.000Z",
"timeEnd": "2025-01-02T00:00:00.000Z",
"searchQuery": "<log search query from Task #1>",
"isReturnFieldInfo": false
}
Il comando CLI OCI equivalente è il seguente:
oci logging-search search-logs --search-query "<log search query from Task #1>" --time-start "2025-01-01T00:00:00.000Z" --time-end "2025-01-02T00:00:00.000Z" --is-return-field-info false
Nota: i caratteri virgolette doppie di escape (
") nella query di ricerca con barre rovesciate (\). Ad esempio,as "Success/Failure"diventaas \"Success/Failure\".
Se si preferisce eseguire il push degli eventi di audit in un sistema alternativo, è possibile utilizzare l'hub connettore OCI o gli eventi OCI per facilitare l'inoltro dei log, ad esempio in Implementare la sicurezza multicloud utilizzando OCI Audit per acquisire eventi da OCI Identity and Access Management che coprono l'inoltro dell'audit in Azure Sentinel.
Collegamenti correlati
Conferme
- Autori: Manoj Gaddam (Principal Product Manager - OCI Identity/IDCS), Callan Howell-Pavia (Membro principale dello staff tecnico - OCI Identity/IDCS)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare Oracle Help Center.
Generate Identity and Access Management Reports from Oracle Cloud Infrastructure Audit
F89547-03