Hinweis:

In einem OCI-Stream veröffentlichte Nachrichten aus Oracle Access Governance Event Data Publisher lesen

Einführung

Event Data Publishing ist ein Prozess zum Exportieren einmaliger Daten und zur kontinuierlichen Veröffentlichung fortlaufender Datenereignisse in externen Systemen, wie einem Oracle Cloud Infrastructure-(OCI-)Cloud-Account. Mit Oracle Access Governance haben Sie die Flexibilität, einmalige Datenereignisse wie Identität, Identitäts-Collections, Policy, Ressource, Zugriff auf Ressourcen usw. in Ihren Cloud-Mandanten zu exportieren und kontinuierlich zu veröffentlichen. Sie können diese Daten verwenden, um Erkenntnisse abzuleiten, Daten für die Compliance zu speichern oder um Zugriffsverwaltungs- und Governance-Daten zu analysieren.

Ein Ereignis bezieht sich auf jede Änderung des Datenstatus, die auftritt, wenn Oracle Access Governance-Komponenten wie Identität, Policys, Ressourcen usw. erstellt, geändert oder gelöscht werden. Mit Event Data Publisher erhalten Administratoren vollständige Kontrolle über Zugriffs- und Identitätsdaten und können damit die Ereignisprotokollierung automatisieren und das Compliance-Reporting optimieren.

Der Datenereignisveröffentlichungsablauf verwendet OCI-Buckets für den einmaligen Export und veröffentlicht nachfolgende Updates je nach Dateigröße entweder in OCI-Streams oder in OCI-Buckets.

Datenereignisveröffentlichungsablauf

In diesem Tutorial erfahren Sie, wie Benutzerupdates in OCI von Oracle Access Governance erfasst und in OCI-Streams veröffentlicht werden und wie Sie diese Streamnachrichten mit einem Skript über die OCI Cloud Shell konsumieren und entschlüsseln.

Hinweis: Der Event Data Publisher unterstützt den Export von Identitäten, Identitäts-Collections, Policys und Ressourcen. In diesem Tutorial werden jedoch Ereignisse für Identitäten erfasst.

Überblick über das Shell-Skript

Der Zweck dieses Shellskripts besteht darin, in einem OCI-Stream veröffentlichte Nachrichten abzurufen und zu decodieren. Diese Nachrichten werden so codiert, dass sie in ihrem Raw-Format unlesbar sind. Wenn Sie das Skript ausführen, werden die Nachrichten in einem klaren, menschenlesbaren Format angezeigt. So wird sichergestellt, dass auch nach dem Verschwinden von kritischen Informationen in der OCI-Konsole auf wichtige Informationen zugegriffen werden kann.

Insbesondere erstellt das Skript einen Cursor, um einen Ausgangspunkt zum Lesen von Nachrichten aus dem angegebenen OCI-Stream zu markieren. Der Cursor basiert auf einem angegebenen Offset und einer Partition, deren Werte durch Erstellen einer Teststreamnachricht abgerufen werden. Mit dem Cursor ruft das Skript Nachrichten aus dem OCI-Stream ab. Schließlich verarbeitet und decodiert das Skript jede abgerufene Nachricht.

Zielgruppe

Oracle Access Governance- und Oracle Cloud Infrastructure Identity and Access Management-(OCI IAM-)Administratoren.

Ziele

Voraussetzungen

Aufgabe 1: Schlüsselparameter für den OCI-Stream abrufen

In dieser Aufgabe melden wir uns bei der OCI-Konsole an, um die Schlüsselparameter für den Stream abzurufen.

  1. Melden Sie sich bei der OCI-Konsole an, navigieren Sie zu Analysen und KI, Messaging, und klicken Sie auf Streaming.

  2. Wählen Sie das Compartment aus, in dem sich der Stream befindet, und klicken Sie auf den Stream, um Details anzuzeigen.

  3. Notieren Sie sich die Werte für den Stream-OCID und den Nachrichtenendpunkt.

    Streamparameter abrufen

  4. Klicken Sie auf Testnachricht erzeugen, geben Sie die Beispielnachricht als Daten ein, und klicken Sie auf Produzieren. Die Meldung Erfolgreich sollte zurückgegeben werden.

    Teststream-Nachricht erstellen

  5. Klicken Sie auf Abbrechen, um das Fenster Stream testen zu schließen.

  6. Klicken Sie auf Nachrichten laden, um die Testnachricht zu prüfen.

  7. Notieren Sie sich im Abschnitt Letzte Nachrichten die Werte für Partition und Offset.

    Stream-Meldungsparameter abrufen

Aufgabe 2: Benutzerattribute in OCI aktualisieren

In dieser Aufgabe nehmen wir Änderungen an Benutzerattributen in OCI vor.

  1. Gehen Sie zur OCI-Konsole, navigieren Sie zu Identität und Sicherheit, und klicken Sie auf Domains.

  2. Wählen Sie Ihre Domain aus, und klicken Sie auf Benutzer. Klicken Sie auf den Benutzer, den Sie aktualisieren möchten, und klicken Sie auf Benutzer bearbeiten.

  3. Aktualisieren Sie die Werte für Land, Titel, Abteilung, Kostenstelle, Benutzertyp, Mitarbeiternummer usw.

  4. Klicken Sie auf Änderungen speichern.

Hinweis: Optional können Sie bei Bedarf einige weitere Benutzer aktualisieren.

Aufgabe 3: Laden von Daten in Oracle Access Governance ausführen

In dieser Aufgabe führen wir den Dataload in Oracle Access Governance aus, um die OCI-Änderungen zu synchronisieren.

  1. Melden Sie sich bei Oracle Access Governance an, und navigieren Sie zu Serviceadministration und Orchestrierte Systeme.

  2. Suchen Sie das orchestrierte System für OCI, klicken Sie auf das Drei-Punkte-Symbol (IPv), und wählen Sie Integration verwalten aus.

  3. Klicken Sie auf Daten jetzt laden, und warten Sie, bis der Dataload abgeschlossen ist.

    Daten laden

Aufgabe 4: OCI Cloud Shell zur Ausführung des Skripts zum Erfassen von Nachrichten aus dem Stream konfigurieren

In dieser Aufgabe konfigurieren wir OCI Cloud Shell und verwenden das bereitgestellte Skript zum Dekodieren von von Oracle Access Governance veröffentlichten Nachrichten.

  1. Gehen Sie zur OCI-Konsole, klicken Sie in der oberen rechten Ecke auf Cloud Shell, und warten Sie, bis das cloud shell-Fenster initialisiert ist.

    Zu Cloud Shell navigieren

    Starten Sie Cloud Shell

  2. Initialisieren Sie die folgenden Parameter.

    export STREAM_OCID=<STREAM_OCID_VALUE>
    export ENDPOINT=<MESSAGES_ENDPOINT>
    export CURSOR_TYPE="AFTER_OFFSET"
    export PARTITION=<PARTITION>
    export OFFSET=<OFFSET>
    
    • Ersetzen Sie die Parameter STREAM_OCID, ENDPOINT, PARTITION und OFFSET für den Stream durch die in Aufgabe 1 erfassten Werte.

    • CURSOR_TYPE ist auf AFTER_OFFSET gesetzt, um alle Nachrichten aufzunehmen, die nach dem angegebenen Offsetwert zum Lesen generiert wurden. Ändern Sie diesen Wert nicht.

      Hinweis: Ein Beispielwert für den Offset kann aus der Testnachricht abgerufen werden. Sie sollten jedoch einen Wert auswählen, nach dem Sie die Nachrichten erfassen möchten. Das macht CURSOR_TYPE als AFTER_OFFSET.

  3. Erstellen Sie eine Shell-Skriptdatei, und machen Sie sie ausführbar.

    touch ag-streaming.sh
    chmod u+x ag-streaming.sh
    
  4. Öffnen Sie das Skript mit dem vi-Editor.

    vi ag-streaming.sh
    
  5. Drücken Sie i, um in den Einfügemodus zu wechseln. Fügen Sie den folgenden Inhalt ein, und drücken Sie dann Esc und :wq!, um die Änderungen zu speichern.

    #!/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. Führen Sie das Skript aus, und leiten Sie die Ausgabemeldungen in eine Datei um (als Beispiel wird messages_dump.txt verwendet). Alternativ können Sie das Skript ausführen, um Meldungen in der Konsole anzuzeigen.

    ./ag-streaming.sh > messages_dump.txt
    
  7. Laden Sie die Datei messages_dump.txt aus der OCI Cloud Shell herunter, um die entschlüsselten Nachrichten auf die zuvor vorgenommenen Benutzerupdates zu prüfen.

In diesem Tutorial haben wir gelernt, wie Sie Nachrichten aus einem OCI-Stream lesen, die vom Event Data Publisher in Oracle Access Governance veröffentlicht werden. Wir haben gesehen, wie wir die OCI-Befehlszeilenschnittstelle (CLI) mit OCI Cloud Shell nutzen können, um die Nachrichten basierend auf einem angegebenen Offset zu lesen. Diese Nachrichten enthalten Änderungen in Bezug auf OCI-Benutzer, Gruppen, Ressourcen und Policy-Verknüpfungen und sind daher aus Sicht von Auditing, Compliance und Reporting wichtig.

Nächste Schritte

Nach Abschluss dieses Tutorials können Sie den Inhalt der Datenereignisnachrichten analysieren, die aus Oracle Access Governance in OCI-Streams veröffentlicht wurden. Optional können Sie weitere Prozesse zur Analyse der Ereignismeldungen für Auditing- und Complianceanforderungen einrichten. Sie können auch Daten aus Streams in ein autonomes Data Warehouse verschieben, um erweiterte Analysen und Visualisierungen durchzuführen Daten können auch für den langfristigen Speicher in OCI Object Storage verschoben oder Hadoop-/Spark-Jobs ausgeführt werden.

Danksagungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.