Nota

Messaggi di lettura pubblicati in un flusso OCI da Oracle Access Governance Event Data Publisher

Introduzione

Event Data Publishing è un processo per esportare i dati una tantum e pubblicare continuamente eventi di dati in corso in sistemi esterni, come un account cloud Oracle Cloud Infrastructure (OCI). Con Oracle Access Governance, hai la flessibilità di esportare eventi di dati una tantum e di pubblicarli continuamente, come identità, raccolte di identità, criteri, risorse, accesso alle risorse e così via, nella tua tenancy cloud. È possibile utilizzare questi dati per ricavare insight, memorizzare i dati per la conformità o per analizzare i dati di gestione degli accessi e governance.

Un evento fa riferimento a qualsiasi modifica dello stato dei dati che si verifica quando vengono creati, modificati o eliminati i componenti di Oracle Access Governance, ad esempio identità, criteri, risorse e così via. Utilizzando Event Data Publisher, gli amministratori ottengono il controllo completo sui dati di accesso e identità e possono utilizzarli per automatizzare la registrazione degli eventi e semplificare il reporting di conformità.

Il flusso di pubblicazione degli eventi dati utilizza bucket OCI per l'esportazione singola e pubblica gli aggiornamenti successivi nei flussi OCI o nei bucket OCI a seconda della dimensione del file.

Flusso di pubblicazione degli eventi dati

In questa esercitazione verrà descritto come gli aggiornamenti utente in OCI vengono acquisiti e pubblicati nei flussi OCI da Oracle Access Governance e come utilizzare e decodificare questi messaggi di flusso utilizzando uno script tramite OCI Cloud Shell.

Nota: Event Data Publisher supporta l'esportazione di identità, raccolte di identità, criteri e risorse, tuttavia questa esercitazione si concentra sull'acquisizione di eventi per le identità.

Panoramica dello script della shell

Lo scopo di questo script shell è recuperare e decodificare i messaggi pubblicati in un flusso OCI. Questi messaggi sono codificati in un modo che li rende illeggibili nel loro formato raw. Eseguendo lo script, puoi visualizzare i messaggi in un formato chiaro e leggibile dall'utente, assicurandoti che le informazioni critiche siano accessibili anche dopo la loro scomparsa dalla console OCI.

In particolare, lo script crea un cursore per contrassegnare un punto di partenza per la lettura dei messaggi dal flusso OCI specificato. Il cursore si basa su un offset specificato e su una partizione i cui valori vengono recuperati producendo un messaggio di flusso di test. Utilizzando il cursore, lo script recupera i messaggi dal flusso OCI. Alla fine, lo script elabora e decodifica ogni messaggio recuperato.

Destinatari

Amministratori di Oracle Access Governance e Oracle Cloud Infrastructure Identity and Access Management (OCI IAM).

Obiettivi

Prerequisiti

Task 1: recupero dei parametri chiave per il flusso OCI

In questo task verrà eseguito il login a OCI Console per recuperare i parametri chiave per il flusso.

  1. Eseguire il login a OCI Console, passare ad Analytics e AI, Messaggistica e fare clic su Streaming.

  2. Assicurarsi di selezionare il compartimento in cui si trova il flusso e fare clic sul flusso per visualizzare i dettagli.

  3. Prendere nota dei valori per OCID e endpoint messaggi del flusso.

    Recupera parametri flusso

  4. Fare clic su Produci messaggio di test, immettere il messaggio di esempio come Dati e fare clic su Produci. Dovrebbe restituire un messaggio Operazione riuscita.

    Produci messaggio di flusso di test

  5. Fare clic su Annulla per chiudere la finestra Test flusso.

  6. Fare clic su Carica messaggi per controllare il messaggio di test.

  7. Nella sezione Messaggi recenti, annotare i valori Partizione e Offset.

    Recupera parametri messaggi flusso

Task 2: Aggiorna attributi utente in OCI

In questo task verranno apportate modifiche agli attributi utente in OCI.

  1. Andare a OCI Console, accedere a Identity & Security e fare clic su Domini.

  2. Selezionare il dominio e fare clic su Utenti. Fare clic sull'utente che si desidera aggiornare e fare clic su Modifica utente.

  3. Aggiornare i valori di Paese, Titolo, Reparto, Centro di costo, Tipo di utente, Numero dipendente e così via.

  4. Fare clic su Salva modifiche.

Nota: facoltativamente, è possibile aggiornare alcuni altri utenti, se lo si desidera.

Task 3: Esegui caricamento dati in Oracle Access Governance

In questo task verrà eseguito il caricamento dei dati in Oracle Access Governance per sincronizzare le modifiche OCI.

  1. Eseguire il login a Oracle Access Governance, passare a Amministrazione dei servizi e Sistemi orchestrati.

  2. Individuare il sistema orchestrato per OCI, fare clic sull'icona a tre punti () e selezionare Gestisci integrazione.

  3. Fare clic su Carica dati ora e attendere il completamento del caricamento dati.

    Esegui caricamento dati

Task 4: configurare OCI Cloud Shell per l'esecuzione di script per l'acquisizione dei messaggi dal flusso

In questo task verrà configurata OCI Cloud Shell e verrà utilizzato lo script fornito per decodificare i messaggi pubblicati da Oracle Access Governance.

  1. Andare alla console OCI, fare clic su Cloud Shell nell'angolo superiore destro e attendere l'inizializzazione della finestra della shell cloud shell.

    Passare a Cloud Shell

    Avvia Cloud Shell

  2. Inizializzare i seguenti parametri.

    export STREAM_OCID=<STREAM_OCID_VALUE>
    export ENDPOINT=<MESSAGES_ENDPOINT>
    export CURSOR_TYPE="AFTER_OFFSET"
    export PARTITION=<PARTITION>
    export OFFSET=<OFFSET>
    
    • Sostituire i parametri STREAM_OCID, ENDPOINT, PARTITION e OFFSET per il flusso con i valori acquisiti nel task 1.

    • Il valore CURSOR_TYPE viene impostato su AFTER_OFFSET per includere tutti i messaggi generati dopo il valore offset specificato per la lettura. Non modificare questo valore.

      Nota: dal messaggio di test è possibile ottenere un valore di esempio per l'offset, ma è necessario scegliere un valore al termine del quale si desidera acquisire i messaggi. Questo è ciò che fa CURSOR_TYPE come AFTER_OFFSET.

  3. Creare un file di script della shell e renderlo eseguibile.

    touch ag-streaming.sh
    chmod u+x ag-streaming.sh
    
  4. Aprire lo script con l'editor vi.

    vi ag-streaming.sh
    
  5. Premere i per accedere alla modalità di inserimento. Incollare il contenuto seguente, quindi premere Esc e :wq! per salvare le modifiche.

    #!/bin/bash
    
    # Validate required environment variables
    
    required_vars=("STREAM_OCID" "ENDPOINT" "CURSOR_TYPE" "PARTITION" "OFFSET")
    
    for var in "${required_vars[@]}"; do
       if [ -z "${!var}" ]; then
          echo "Error: Environment variable $var is not set."
          exit 1
       fi
    done
    
    # Create a cursor for the OCI Stream
    # echo "Creating a cursor for the OCI Stream..."
    oci streaming stream cursor create-cursor \
       --partition "$PARTITION" \
       --stream-id "$STREAM_OCID" \
       --type "$CURSOR_TYPE" \
       --offset "$OFFSET" \
       --endpoint "$ENDPOINT" > cursor.json
    
    # Extract cursor value
    cursor=$(jq -r '.data.value' cursor.json)
    if [ -z "$cursor" ]; then
       echo "Error: Failed to retrieve cursor value."
       exit 1
    fi
    
    # Read messages from the OCI Stream
    echo "Reading messages from the OCI Stream..."
    messages=$(oci streaming stream message get \
       --stream-id "$STREAM_OCID" \
       --cursor "$cursor" \
       --endpoint "$ENDPOINT")
    
    # Check if messages were retrieved
    if [ -z "$messages" ] || ! echo "$messages" | jq -e '.data[] | select(.key != null)' > /dev/null 2>&1; then
       echo "No valid messages found."
       exit 1
    fi
    
    # Extract and decode the data from messages
    echo "Processing messages..."
    
    # Extract and count the number of messages
    message_count=$(echo "$messages" | jq -r '.data[] | select(.key != null) | .value' | wc -l)
    
    echo "$messages" | jq -r '.data[] | select(.key != null) | .value' | while read -r value; do
       if [ -n "$value" ]; then
          counter=$((counter + 1))
          echo
          echo "Decoding message $counter of $message_count..."
    
          # Base64 decode the message
          decoded_message=$(echo "$value" | base64 --decode 2>/dev/null || echo "Error decoding message")
          final_decoded_message=$(echo "$decoded_message" | base64 --decode 2>/dev/null || echo "Error decoding message further")
    
          # Print the decoded message
          echo "Decoded Message : $final_decoded_message"
       fi
    done
    
  6. Eseguire lo script e reindirizzare i messaggi di output in un file (come esempio viene utilizzato messages_dump.txt). In alternativa, è possibile eseguire lo script per visualizzare i messaggi sulla console.

    ./ag-streaming.sh > messages_dump.txt
    
  7. Scaricare il file messages_dump.txt da OCI Cloud Shell per controllare i messaggi decodificati per gli aggiornamenti utente effettuati in precedenza.

In questa esercitazione è stato descritto come leggere i messaggi da un flusso OCI pubblicati dal publisher dei dati degli eventi in Oracle Access Governance. Abbiamo visto come possiamo sfruttare l'interfaccia CLI (Command Line Interface) OCI utilizzando OCI Cloud Shell per leggere i messaggi in base a un offset specificato. Questi messaggi contengono modifiche relative a utenti, gruppi, risorse e associazioni di criteri OCI e sono pertanto importanti dal punto di vista di audit, conformità e reporting.

Passi successivi

Dopo aver completato questa esercitazione, è possibile analizzare il contenuto dei messaggi degli eventi dati pubblicati dai flussi di Oracle Access Governance in OCI. Facoltativamente, è possibile impostare ulteriori processi per analizzare i messaggi di evento in base ai requisiti di audit e conformità. Puoi anche spostare i dati dai flussi al data warehouse autonomo per eseguire analisi e visualizzazione avanzate. È inoltre possibile spostare i dati nello storage degli oggetti OCI per lo storage a lungo termine o per eseguire job Hadoop/Spark.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.

Per la documentazione del prodotto, visita l'Oracle Help Center.