Hinweis:

Identity and Access Management-Berichte über Oracle Cloud Infrastructure Audit generieren

Einführung

Oracle Cloud Infrastructure-(OCI-)Identitätsdomains sind der Nachfolger von Oracle Identity Cloud Service und integrieren alle Funktionen von Oracle Identity Cloud Service in einen zentralen Oracle Cloud Infrastructure-Service. Oracle Identity Cloud Service war ein eigenständiges SaaS-ähnliches Angebot, das Berichte zur Benutzeraktivität usw. im Service bereitstellt.

Im Gegensatz zu Oracle Identity Cloud Service sind OCI-Identitätsdomains im größeren OCI-Kontext vorhanden. Ein OCI-Designprinzip besteht darin, wenn möglich gemeinsame Servicefunktionen zu verwenden. Daher werden einige der Berichte, die in Oracle Identity Cloud Service verfügbar gemacht wurden, veraltet, da die von ihnen verwendeten Daten jetzt über die allgemeine Servicefunktion von OCI Audit verfügbar sind.

Dieses Tutorial zeigt, wie Sie die veralteten Berichte aus den OCI-Auditdaten erstellen und diese Berichte im OCI-Dashboard verfügbar machen.

Ziele

Voraussetzungen

Aufgabe 1: Auditereignisse für OCI Identity and Access Management untersuchen

Jeder OCI-Service erstellt Auditdatensätze für Benutzer- oder Serviceaktionen. OCI IAM ist keine Ausnahme, da Auditdatensätze für den Benutzerzugriff sowie Änderungen oder Ereignisse in OCI IAM erstellt werden.

  1. Greifen Sie unter den Beobachtbarkeits- und Managementfunktionen in der OCI-Konsole auf den Logging-Service zu, und wählen Sie dann den Abschnitt Suchen aus.

  2. Klicken Sie auf Zu suchende Logs auswählen, um den Kontext für die Logsuche auf das Compartment mit der OCI-IAM-Identitätsdomain festzulegen, für das Sie den Bericht generieren möchten.

    Compartment zur Logging-Suche hinzufügen

    Nachdem Sie das relevante Compartment ausgewählt haben, werden wahrscheinlich mehrere Einträge für die Benutzer- oder Serviceaktivität angezeigt. Die spezifischen Einträge hängen davon ab, wie Ihr Mandant verwendet wird. Sie können auch Ihre eigenen oder andere Anmeldeereignisse sehen. Wenn keine Einträge angezeigt werden, stellen Sie sicher, dass Sie die richtige Region ausgewählt haben, indem Sie Weitere Suchoptionen einblenden, oder blenden Sie das Zeitfenster ein, indem Sie die Einstellung Nach Zeit filtern ändern.

  3. Klicken Sie auf Erweiterten Modus anzeigen, um Freitextabfragen einzugeben. Fügen Sie dann eine der folgenden Optionen am Ende der Standardabfrage (nach "Nach Datum/Uhrzeit absteigend") hinzu, um denselben Inhalt zu generieren, der im Oracle Identity Cloud Service-Bericht enthalten war.

    Bericht Abfrage
    Bericht über erfolgreiche Anmeldungen | wobei data.additionalDetails.eventId = 'sso.session.create.success' | data.additionalDetails.domainDisplayName als Domain, data.additionalDetails.actorName als Anmeldung, data.additionalDetails.eventId als Ergebnis, data.additionalDetails.ssoRp als Provider, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') als Datum auswählen
    Bericht über nicht erfolgreiche Anmeldungen | wobei data.additionalDetails.eventId='sso.authentication.failure' | data.additionalDetails.domainDisplayName als Domain, data.additionalDetails.actorName als Benutzer, data.additionalDetails.eventId als Ergebnis, data.message als Kommentare, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') als Datum auswählen
    Bericht zu Anwendungszugriffen | wobei data.additionalDetails.eventId = 'sso.session.create.success' oder data.additionalDetails.eventId = 'sso.authentication.failure' oder data.additionalDetails.eventId = 'sso.session.modify.success' | data.additionalDetails.domainDisplayName als Domain, data.additionalDetails.actorDisplayName als Benutzer, data.additionalDetails.actorName als Anmeldung, data.additionalDetails.eventId als "Erfolg/Fehler", data.additionalDetails.ssoRp als Anwendung, time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') als Datum auswählen
    Auditlogbericht | 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 Target
    Bericht "App-Rollenzuweisungen" | wobei data.additionalDetails.eventId = 'admin.approle.add.member.success' oder data.additionalDetails.eventId = 'admin.approle.remove.member.success' | data.additionalDetails.domainDisplayName als Domain, data.additionalDetails.actorDisplayName als Genehmiger, data.additionalDetails.adminAppRoleAppName als "Anwendungsname", data.additionalDetails.adminRefResourceName als Begünstigter, data.additionalDetails.adminRefResourceType als "Benutzer/Gruppe", data.additionalDetails.adminResourceName als "Anwendungsrollenname", time_format(datetime, 'yyyy-MM-dd hh:mm:ss z') als Datum, data.additionalDetails.eventId als "Hinzugefügt/Entfernt" auswählen

    Beispiel: Für den Bericht Successful Logins würde die Abfrage ähnlich wie unten aussehen.

    Darstellung der Anwendungszugriffsabfrage in der erweiterten Suche

  4. Klicken Sie auf Suchen, um die aktualisierte Abfrage zu verwenden. Wenn keine Ergebnisse zurückgegeben werden, müssen Sie den Zeitfilter möglicherweise ändern.

    Beispielergebnisse aus der Anwendungszugriffsabfrage

  5. Alle zurückgegebenen Ergebnisse können exportiert werden, indem Sie in der Dropdown-Liste Aktionen über den Ergebnissen auf Logdaten exportieren (JSON) klicken.

    Logdaten aus der Logsuche exportieren

    Hinweis: Oracle Identity Cloud Service-Berichte unterstützen den Download als CSV-Datei, während dieser Export nur den JSON-Export unterstützt. Die in den obigen Abfragen verwendeten SELECT-Anweisungen vereinfachen jedoch den JSON in ein einzelnes Objekt mit Attributen, sodass Sie bei Bedarf zwischen dem JSON-Export und CSV konvertieren können.

Aufgabe 2: Gespeicherte Suche für Ihren Bericht erstellen

Um zu vermeiden, dass die Abfrage bei jedem Zugriff auf diese Berichte erneut eingegeben wird, können Sie die gespeicherte Suche von OCI Logging nutzen.

  1. Nachdem Sie die Abfrage validiert haben, klicken Sie auf Suche speichern, damit die Abfrage wiederverwendet und in das Dashboard eingebettet werden kann.

  2. Geben Sie einen Namen für die Suche ein, z.B. "Successful_Login_Report" oder ähnliches, sowie eine Beschreibung, und klicken Sie auf Speichern.

  3. Über die Schnittstelle für gespeicherte Suchen können Sie auf Ihre Suche zurück klicken, um die neuesten Daten abzurufen.

Hinweis: Sie können die Ergebnisse nicht direkt aus der Schnittstelle für gespeicherte Suchen exportieren. Stattdessen müssen Sie Mit Logsuche explorieren aus der Dropdown-Liste Aktionen verwenden und dann die Ergebnisse aus der Suchansicht exportieren.

Aufgabe 3: Bericht zu einem OCI-Dashboard hinzufügen

Neben dem Zugriff auf die Berichte aus dem OCI Logging-Service können sie auch über die Dashboard-Funktion von OCI verfügbar gemacht werden, damit die OCI IAM-Ereignisse zentral geprüft werden können.

  1. Navigieren Sie zur Landingpage der OCI-Konsole, klicken Sie im oberen Banner auf Oracle Cloud, und wechseln Sie zur Ansicht Dashboard.

  2. Erstellen Sie ein neues Dashboard für die OCI IAM-Berichte, indem Sie auf Neues Dashboard klicken.

  3. Wählen Sie Von Grund auf neu erstellen, und fügen Sie einen entsprechenden Namen und eine Beschreibung hinzu.

    Erstellen Sie ein Dashboard, um die IAM-Berichte anzuzeigen.

  4. Erstellen Sie eine neue Dashboard-Gruppe, oder weisen Sie dieses Dashboard gegebenenfalls einer vorhandenen Gruppe zu.

  5. Klicken Sie auf Widget hinzufügen, wählen Sie Loggingdatentabelle aus, und klicken Sie im neuen Widget auf Konfigurieren.

  6. Geben Sie einen geeigneten Namen an, und wählen Sie die gespeicherte Suche aus. Fügen Sie eine entsprechende Standardperiode hinzu.

    Widget für den Anwendungszugriffsbericht erstellen.

  7. Ändern Sie das Layout, und fügen Sie bei Bedarf weitere gespeicherte Suchen hinzu.

    Beispiel-Dashboard mit mehreren IAM-Berichten

Extraktion der Berichtsdaten automatisieren

Die oben genannten Ansätze bieten die Möglichkeit, Ad-hoc-Berichte zu IAM-Daten durchzuführen. Für laufende Vorgänge kann es jedoch erforderlich sein, die Extraktion dieser Daten zu automatisieren. Dazu können Sie die OCI-API, die OCI-CLI oder eines der OCI-SDKs nutzen.

Die SearchLogs-API kann mit einer Anforderung wie der folgenden aufgerufen werden: Passen Sie den Zeitraum an, und fügen Sie die Abfrage aus der anfänglichen Logsuche hinzu:

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
}

Der entsprechende OCI-CLI-Befehl lautet wie folgt:

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

Hinweis: Escape-Zeichen in doppelten Anführungszeichen (") in der Suchabfrage mit umgekehrten Schrägstrichen (\). Das heißt, as "Success/Failure" wird zu as \"Success/Failure\".

Wenn Sie Auditereignisse lieber an ein alternatives System übertragen möchten, können Sie mit OCI Connector Hub oder OCI-Ereignisse die Logweiterleitung vereinfachen, z.B. unter Multicloud-Sicherheit mit OCI Audit implementieren, um Ereignisse aus OCI Identity and Access Management zu erfassen, die eine Auditweiterleitung an Azure Sentinel abdecken.

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.