Hinweis:

Ereignisse mit OCI Events Service und OCI Functions in einen OCI Private Stream schreiben

Einführung

Mit den Oracle Cloud Infrastructure (OCI) Events Service-Regeln werden Ressourcenänderungen in OCI anhand von Ereignissen verfolgt, die dem Standard der Cloud Native Computing Foundation (CNCF) CloudEvents entsprechen. Auf diese Weise können Entwickler auf Echtzeitänderungen reagieren, indem sie Code mit OCI Functions auslösen, Daten in OCI Streaming schreiben oder Alerts mit OCI Notifications senden.

Während das Senden von Ereignissen an öffentliche Streams nativ unterstützt wird, erfordert das Schreiben in einen privaten Stream einen benutzerdefinierten Ansatz mit OCI Functions oder benutzerdefiniertem Code. Dieses Tutorial zeigt, wie Sie mit OCI Functions Ereignis-Payloads aus einer OCI Events Service-Regel erfassen und in einen privaten Stream schreiben.

Zielsetzung

Voraussetzungen

Aufgabe 1: Erforderliche Policys und Oracle Cloud Infrastructure Identity and Access Management-(OCI IAM-)Berechtigungen einrichten

Jede Komponente dieser Lösung muss Zugriff auf die OCI-Ressourcen haben, mit denen sie interagiert. Um diesem Tutorial zu folgen, muss der Entwickler über die folgenden Berechtigungen verfügen.

Detaillierte Richtlinien finden Sie hier:

Aufgabe 2: Privaten Stream erstellen

OCI Streaming ist ein vollständig verwalteter OCI-Service, in dem Daten im Ruhezustand und während der Übertragung verschlüsselt werden, um die Integrität und Sicherheit von Nachrichten sicherzustellen. Um die Sicherheit zu erhöhen, können Sie mit dem OCI Vault-Service Ihre eigenen Verschlüsselungsschlüssel speichern und verwalten, um bestimmte Compliance- oder Sicherheitsanforderungen zu erfüllen. Private Endpunkte können in einem virtuellen Cloud-Netzwerk (VCN) konfiguriert werden, um Ihre Streams weiter zu sichern und eine private IP-Adresse mit dem Streampool zu verknüpfen. Dadurch wird sichergestellt, dass der OCI Streaming-Traffic im VCN bleibt und das Internet vollständig vermieden wird. Beachten Sie jedoch, dass Streams, die private Endpunkte verwenden, nicht über das Internet zugänglich sind. Dies schränkt auch die Möglichkeit ein, ihre neuesten Nachrichten über die Konsole anzuzeigen. Um Nachrichten aus einem privaten Stream zu konsumieren, muss der Consumer sowohl über die Route als auch über Zugriff auf das Netzwerk verfügen, in dem der private Stream gehostet wird.

Erstellen Sie einen Stream und einen Streampool. Geben Sie den Streamnamen ein, und wählen Sie Neuen Streampool erstellen aus, um einen Streampool zu erstellen. Geben Sie im Abschnitt Streampool konfigurieren den Streampoolnamen ein, wählen Sie Privater Endpunkt aus, und geben Sie VCN und Subnetz sowie Netzwerkdetails entsprechend ein. Obwohl optional, wird empfohlen, eine Netzwerksicherheitsgruppe mit einer Ingress-Regel für den gesamten Traffic innerhalb dieser NSG bereitzustellen. Weitere Informationen finden Sie unter Stream erstellen und Streampool erstellen.

Bild der NSG-Regel

Bild der Stream- und Streampoolerstellung

Sie können Ihre eigenen Verschlüsselungsschlüssel verwenden, um mehr Kontrolle über den Lebenszyklus des Schlüssels zu erhalten. Sie können die Aufbewahrung von Nachrichten im Stream anpassen. Der Standardwert ist 1 Tag, der Höchstwert ist 7 Tage.

Image der Streamverschlüsselung

Bild des Streampools

Notieren Sie sich die Stream-OCID und den Nachrichtenendpunkt. Wir müssen diese Informationen an die Funktion weitergeben.

Aufgabe 3: OCI-Benachrichtigungsthema und OCI-Ereignisserviceregel erstellen

Als Auffrischung, hier ist, wie ein Ereignis funktioniert. OCI-Services geben Ereignisse für Ressourcen oder Daten aus. Wir erstellen Regeln, die einen Filter enthalten, um die relevanten Ereignisse anzugeben. Die Regeln müssen eine Aktion auslösen, wenn der Filter ein passendes Ereignis findet. Die Aktion kann ein OCI Notifications-Thema, ein OCI Streaming-Service oder OCI Functions sein.

In diesem Tutorial werden wir Ansatz 3 untersuchen, der am komplexesten ist.

  1. Erstellen Sie ein OCI Notifications-Thema. Weitere Informationen finden Sie unter Themen erstellen.

    Bild des Benachrichtigungsthemas

  2. Ereignisregel erstellen. Um den Ansatz zu rechtfertigen, werden wir zwei Ereignisregeln erstellen. Weitere Informationen finden Sie unter Ereignisregeln erstellen.

    Bild des CG-Ereignisses

    Bild des Identitätsereignisses

Aufgabe 4: Funktion entwickeln und bereitstellen

Diese Funktion kodiert die Ereignis-Payload und veröffentlicht sie im angegebenen Nachrichtenendpunkt und -stream. Weitere Informationen finden Sie unter Funktionen erstellen.

Bild vom Fn

Der letzte Schritt besteht darin, der Funktion mitzuteilen, wo sich der private Stream befindet. Diese Funktion verwendet Konfigurationsparameter, sodass sie wiederverwendbar ist, wenn Sie sie in einem anderen Mandanten bereitstellen möchten.

Bild der Fn-Konfiguration

Aufgabe 5: Funktion für Benachrichtigungsthema abonnieren

Abonnieren Sie in dieser Aufgabe die bereitgestellte Funktion für das Thema "OCI-Benachrichtigungen". Wenn das Thema "OCI-Benachrichtigungen" eine Nachricht empfängt, löst es die Funktion aus, und die Funktion schreibt die Ereignis-Payload für einen privaten Stream.

Sie können bestimmte Felder entfernen oder erweitern, indem Sie den Funktionscode entsprechend den Anforderungen ändern. Für Funktionsabonnements ist keine Bestätigung erforderlich. Weitere Informationen finden Sie unter Funktionsabonnement erstellen.

Bild des Abonnements

Bild von Subscription2

Verifizierung

Es gibt mehrere Stellen, an denen der Datenfluss überprüft werden kann.

  1. Prüfen Sie auf der Seite "Ereignismetriken", ob Ereignisse mit der angegebenen Regel übereinstimmen. Das Fehlerdiagramm muss leer sein.

    Bild der Ereignismetriken

  2. Prüfen Sie die Metriken zum Thema "OCI-Benachrichtigungen". Stellen Sie sicher, dass alle Nachrichten zugestellt werden. Die Diagramme für nicht erfolgreiche Nachrichten enthalten keine Daten.

    Bild der Benachrichtigungsmetriken

  3. Prüfen Sie die Metriken für den Aufruf der Funktion. Stellen Sie sicher, dass keine Fehler vorliegen und die Funktion nicht gedrosselt wird.

    Bild der Fn-Metriken

  4. Prüfen Sie, ob die Daten im privaten Stream aufgenommen werden.

Bild der Streammetriken

Wenn die Daten in einem der folgenden Diagramme fehlen, stoppen Sie den Vorgang, und aktivieren Sie Logs für diesen Service. In Logs wird erläutert, warum eine bestimmte Ressource die Aufgabe nicht ausführen kann.

Nächste Schritte

In diesem Tutorial haben Sie gelernt, wie Sie den OCI Events Service, OCI Notifications, OCI Functions und OCI Streaming integrieren, um Ereignis-Payloads sicher zu verarbeiten und in privaten Streams zu veröffentlichen. Sie haben die Einrichtung sicherer Endpunkte, die Verwaltung von Verschlüsselungsschlüsseln und die Verwendung von OCI IAM zur feingranulierten Zugriffskontrolle untersucht, um sicherzustellen, dass nur autorisierte Benutzer und Services mit Ihren Streamingdaten interagieren können.

Mit dieser Lösung können Teams Ressourcenänderungen in Echtzeit erfassen und gleichzeitig robuste Sicherheitsstandards beibehalten. Unternehmen können private Streams verwenden, um sensible Daten zu schützen, Branchenvorschriften einzuhalten und sicherzustellen, dass betriebliche Workflows den Sicherheits- und Compliancezielen des Unternehmens entsprechen. Dieser Ansatz stärkt Ihre Sicherheitslage und ermöglicht Ihrem Team eine nahtlose und sichere ereignisgesteuerte Automatisierung.

Weitere Informationen zur Verwendung von privaten OCI Functions- und OCI-Streamfunktionen erhalten Sie von Ihrem Oracle-Mitarbeiter oder unter Cloud-Sicherheitslösungen.

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.