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 bringen alle Funktionen von Oracle Identity Cloud Service in einen Oracle Cloud Infrastructure-Kernservice. Oracle Identity Cloud Service war ein eigenständiges SaaS-ähnliches Angebot und bietet Berichte zur Benutzeraktivität und dergleichen im Service.

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 allgemeine Servicefunktionen zu verwenden. Daher werden einige der Berichte, die in Oracle Identity Cloud Service verfügbar gemacht wurden, eingestellt, da die von ihnen verwendeten Daten jetzt über die allgemeine Servicefunktion von OCI Audit verfügbar sind.

In diesem Tutorial wird gezeigt, wie Sie die veralteten Berichte aus den OCI-Auditdaten erstellen und diese Berichte im OCI-Dashboard verfügbar machen.

Ziele

Voraussetzungen

Aufgabe 1: OCI Identity and Access Management-Auditereignisse kennenlernen

Jeder OCI-Service erstellt Auditdatensätze für Benutzer- oder Serviceaktionen, und OCI IAM bildet keine Ausnahme. Dabei werden Auditdatensätze für den Benutzerzugriff sowie alle Änderungen oder Ereignisse innerhalb von OCI IAM erstellt.

  1. Rufen Sie den Logging-Service unter den Beobachtbarkeits- und Managementfunktionen in der OCI-Konsole auf, 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 die Sie den Bericht generieren möchten.

    Compartment zur Loggingsuche hinzufügen

    Nachdem Sie das relevante Compartment ausgewählt haben, werden wahrscheinlich mehrere Einträge für Benutzer- oder Serviceaktivitäten angezeigt. Die spezifischen Einträge hängen davon ab, wie Ihr Mandant verwendet wird. Möglicherweise werden auch Ihre eigenen oder andere Anmeldeereignisse angezeigt. Wenn keine Einträge angezeigt werden, stellen Sie sicher, dass der richtige Bereich ausgewählt ist, 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 die Möglichkeit zur Eingabe von Freitextabfragen aufzurufen. Fügen Sie dann eine der folgenden Optionen am Ende der Standardabfrage hinzu (nach "Sortieren nach Datum/Uhrzeit-Beschreibung"), um denselben Inhalt zu generieren, der im Oracle Identity Cloud Service-Bericht enthalten war.

    Bericht Abfrage
    Bericht "Erfolgreiche Anmeldungen | 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 Date
    Bericht über nicht erfolgreichen Anmeldungen | 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 Date
    Bericht zu Anwendungszugriffen | 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 Date
    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 zu Anwendungsrollenzuweisungen | 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"

    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 (JSON) exportieren klicken.

    Logdaten aus der Logsuche exportieren

    Hinweis: Oracle Identity Cloud Service-Berichte unterstützen das Herunterladen als CSV-Datei, während dieser Export nur den JSON-Export unterstützt. Die in den obigen Abfragen verwendeten Auswahlanweisungen vereinfachen jedoch die 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 Sie die Abfrage jedes Mal erneut eingeben, wenn Sie auf diese Berichte zugreifen möchten, können Sie die Funktion "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 Benutzeroberfläche für gespeicherte Suchen können Sie auf "Zurück" klicken, um die neuesten Daten zu erhalten.

Hinweis: Sie können die Ergebnisse nicht direkt aus der Benutzeroberfläche 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 OCI-Konsolen-Landingpage, klicken Sie im oberen Banner auf Oracle Cloud, und wechseln Sie dann 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 entsprechende Beschreibung hinzu.

    Dashboard zur Anzeige der IAM-Berichte erstellen

  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 entsprechenden Namen an, und wählen Sie dann Ihre 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 gegebenenfalls weitere gespeicherte Suchen hinzu.

    Beispiel-Dashboard mit mehreren IAM-Berichten

Extrahierung der Berichtsdaten automatisieren

Die oben genannten Ansätze bieten die Möglichkeit, Ad-hoc-Berichte zu IAM-Daten durchzuführen. Für den laufenden Betrieb 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. Dabei kann der Zeitraum angepasst und die Abfrage aus der anfänglichen Logsuche hinzugefügt werden:

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: Geben Sie in der Suchabfrage doppelte Anführungszeichen (") mit umgekehrten Schrägstrichen (\) ein. as "Success/Failure" wird also 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 Auditweiterleitung an Azure Sentinel abdecken.

Bestätigungen

Weitere Lernressourcen

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

Die Produktdokumentation finden Sie im Oracle Help Center.