Datenbank-Secret-Rotation ohne Wallet-Funktion

Erfahren Sie, wie Sie mit der vordefinierten Funktion "Datenbank-Secret-Rotation ohne Wallet" in OCI Functions Secrets mit einer TLS-Verbindung zur Datenbank rotieren.

Allgemeine Verwendungsszenarios

Mit der Datenbank-Secret-Rotation ohne Wallet PBF können Sie Secrets der Datenbank automatisch rotieren, indem Sie eine JDBC-TLS-Verbindung ohne Wallet herstellen.

Services für die Datenbank-Secret-Rotation ohne Wallet-Funktion umfassen:

Geltungsbereich

Zu den Umfangsüberlegungen für diese Funktion gehören:

  • Die vordefinierte Funktion kann mit jeder Datenbank verwendet werden, die eine JDBC-URL unterstützt.
  • Secret Service verwendet die von der vordefinierten Funktion erstellte Funktion, um die Datenbank-Secrets zu rotieren.

Voraussetzungen und Empfehlungen

Im Folgenden finden Sie Best Practices bei der Verwendung dieser vordefinierten Funktion:

  • Legen Sie den vordefinierten Funktionstimeout auf 300 Sekunden fest.
  • Das mit der Anwendung verknüpfte VCN erleichtert den Zugriff auf andere OCI-Services über ein Servicegateway, ein Internetgateway oder ein NAT-Gateway.

Datenbank-Secret-Rotation ohne Wallet-Funktion konfigurieren

Um eine Datenbank-Secret-Rotation ohne Wallet-Funktion zu konfigurieren, führen Sie die folgenden Schritte aus:

  1. Wählen Sie auf der Seite Vordefinierte Funktionen die Option Rotation des Datenbank-Secrets ohne Wallet und dann Funktion erstellen aus.
  2. Konfigurieren Sie Name, Compartment und Anwendung wie folgt:
    • Name: Geben Sie einen Namen Ihrer Wahl für die neue Funktion ein. Der Name muss mit einem Buchstaben oder Unterstrich beginnen und darf nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten. Die zulässige Länge beträgt 1–255 Zeichen. Geben Sie keine vertraulichen Informationen ein.

      Um die Funktion in einem anderen Compartment zu erstellen, wählen Sie Compartment ändern aus.

    • Anwendung: Wählen Sie die Anwendung aus, in der Sie die Funktion erstellen möchten.

      Wenn noch keine geeignete Anwendung im aktuellen Compartment vorhanden ist, wählen Sie Neue Anwendung erstellen aus, und geben Sie die folgenden Details an:

      • Name: Ein Name für die neue Anwendung. Geben Sie keine vertraulichen Informationen ein.
      • VCN: Das VCN (virtuelles Cloud-Netzwerk), in dem Funktionen in der Anwendung ausgeführt werden. Wählen Sie optional Compartment ändern aus, um ein VCN aus einem anderen Compartment auszuwählen.
      • Subnetze: Das Subnetz (oder die bis zu drei Subnetze), in denen Funktionen ausgeführt werden sollen. Wählen Sie optional Compartment ändern aus, um ein Subnetz aus einem anderen Compartment auszuwählen.
      • Ausprägung: Die Prozessorarchitektur der Compute-Instanzen, auf denen Funktionen in der Anwendung bereitgestellt und ausgeführt werden sollen. Alle Funktionen in der Anwendung werden auf Compute-Instanzen mit derselben Architektur bereitgestellt und ausgeführt. Das Abbild der Funktion muss die erforderlichen Abhängigkeiten für die ausgewählte Architektur enthalten.
      • Taggingoptionen: Wenn Sie berechtigt sind, eine Ressource zu erstellen, sind Sie auch berechtigt, Freiformtags auf diese Ressource anzuwenden. Um ein definiertes Tag anzuwenden, müssen Sie über die Berechtigungen verfügen, den Tag-Namespace zu verwenden. Weitere Informationen zum Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Sie Tags anwenden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
  3. Konfigurieren Sie die IAM-Policy für vordefinierte Funktionen.

    Standardmäßig erstellt OCI Functions eine dynamische Gruppe und eine IAM-Policy mit den Policy-Anweisungen, die zur Ausführung der vordefinierten Funktion erforderlich sind. Nehmen Sie keine Änderungen vor, um das Standardverhalten zu übernehmen.

    Wenn OCI Functions die dynamische Gruppe und Policy nicht automatisch erstellen soll, wählen Sie Keine dynamische Gruppe und IAM-Policy erstellen aus.

    Wichtig

    Wenn Sie die Option Keine dynamische Gruppe und IAM-Policy erstellen auswählen, müssen Sie die dynamische Gruppe und die IAM-Policy selbst definieren.
  4. Konfigurieren Sie den Funktionsspeicher und die Timeoutwerte wie folgt:
    • Speicher: Der maximale Speicherplatz, den die Funktion während der Ausführung belegen darf, in Megabyte. Dies ist der Speicher, der dem Funktionsbild zur Verfügung steht. (Standard: 512 MB)
    • Timeout: Die maximale Ausführungszeit der Funktion in Sekunden. Wenn die Funktion nicht innerhalb der angegebenen Zeit abgeschlossen wird, bricht das System die Funktion ab. (Standardwert: 300)
  5. (Optional) Konfigurieren Sie Provisioned Concurrency, um anfängliche Verzögerungen beim Aufrufen der Funktion zu minimieren, indem Sie eine Mindestanzahl gleichzeitiger Funktionsaufrufe angeben, für die Sie die Ausführungsinfrastruktur ständig verfügbar machen möchten. (Standard: Nicht aktiviert)

    Wenn diese Option ausgewählt ist, geben Sie die Anzahl der bereitgestellten Nebenläufigkeitseinheiten an, die dieser Funktion zugewiesen sind. Standard: 20.

    Weitere Informationen zum bereitgestellten gleichzeitigen Zugriff finden Sie unter Anfängliche Latenz mit bereitgestelltem gleichzeitigem Zugriff reduzieren.

  6. Geben Sie optional Tags im Abschnitt Taggingoptionen ein. Wenn Sie über Berechtigungen zum Erstellen einer Ressource verfügen, sind Sie auch berechtigt, Freiform-Tags auf diese Ressource anzuwenden. Um ein definiertes Tag anzuwenden, müssen Sie über die Berechtigungen verfügen, den Tag-Namespace zu verwenden. Weitere Informationen zum Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Sie Tags anwenden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
  7. Klicken Sie auf Erstellen.

Im Dialogfeld "Bereitstellen" werden die Aufgaben zum Bereitstellen der Funktion angezeigt (siehe Vordefiniertes Funktions-Deployment beenden).

Konfigurationsoptionen

Diese Funktion wird aufgerufen

Die mit dieser PBF erstellte Funktion wird vom Secret Service aufgerufen, um das Secret zu rotieren.
  1. Erstellen Sie eine Funktion mit dieser PBF, und kopieren Sie die Funktions-ID.
    1. Öffnen Sie das Navigationsmenü, wählen Sie Identität und Sicherheit und dann Vault aus.
    2. Wählen Sie unter Listengeltungsbereich ein Compartment mit den Secrets aus, die Sie in einem Vault erstellt haben.
    3. Wählen Sie in der Liste der Secrets einen Secret-Namen aus, den Sie mit dieser PBF rotieren müssen, oder erstellen Sie ein neues Secret.
      • Informationen zum Erstellen eines neuen Secrets finden Sie unter Secret erstellen.
      • Informationen zum Aktualisieren eines vorhandenen Secrets finden Sie unter Secret aktualisieren.
  2. Wählen Sie Zielsystemtyp als Funktion für Rotationen aus.
  3. Fügen Sie die aus Schritt 1 kopierte Funktions-ID als Zielsystem-ID hinzu.
  4. Stellen Sie sicher, dass das Secret den folgenden Anforderungen entspricht:
    • Für Secret muss die automatische Generierung aktiviert sein.
    • Es wird erwartet, dass der Secret Content eine JSON-Zeichenfolge mit dem folgenden Format ist:
      {
          ‘username’: <required: username>,
          ‘password’: <required: password>
          ‘connectionString’: <required: DB connection string>
        }
    • Benutzername und Kennwort müssen eine Verbindung zur Datenbank im folgenden Format herstellen: jdbc:oracle:thin:@<connectionString>?user=<username>&password=<example-password>
    • Stellen Sie sicher, dass Sie die TLS-Verbindung verwenden.
      Hinweis

      Diese Funktion ist nicht mit der MTLS-Verbindung kompatibel.

Fehlersuche

Eine vordefinierte Funktionsausführung gibt einen 502-Fehlercode zurück, wenn der Code der vordefinierten Funktion auf ein Problem stößt. Um die Ursache zu identifizieren, aktivieren Sie Loggingfeatures für die vordefinierte Funktion (siehe Funktion aufrufen gibt eine Meldung "Funktion nicht erfolgreich" und einen 502-Fehler zurück).

Tipp

Ausführliche Informationen zur Fehlerbehebung bei einer Funktion finden Sie unter Fehlerbehebung bei OCI Functions.

Tipps zur Loganalyse

  • Da eine Anwendung mehrere Funktionen hat, werden die vordefinierten Funktionslogeinträge durch das Präfix "PBF | <PBF NAME>" identifiziert.

    Beispiel: Ein Logeintrag für die vordefinierte Funktion "Datenbank-Secret-Rotation ohne Wallet" sieht ungefähr wie folgt aus:

    "PBF | Database Secret Rotation without Wallet | INFO | 2024-01-31T18:06:50.809Z | Fetching details from Events JSON"
  • Alle vordefinierten Funktionen bieten eine Option zur Angabe der Logging-Ebene als Konfigurationsparameter. Sie können die Logging-Ebene auf DEBUG setzen, um weitere Informationen zu erhalten.

In der folgenden Tabelle werden allgemeine Fehler zusammengefasst, die bei der Arbeit mit vordefinierten Funktionen auftreten können:

Fehlercode Fehlermeldung Maßnahme
404 NotAuthorizedOrNotFound Prüfen Sie, ob die erforderlichen Policys konfiguriert sind.

In der folgenden Tabelle werden die Antwortstatuscodes zusammengefasst, die bei der Arbeit mit dieser vordefinierten Funktion auftreten können:

Schritt Statuscode Reaktionsmeldung Beschreibung
VERIFY_CONNECTION 200 Verbindung mit ausstehender Secret-Version war erfolgreich. Es ist eine ausstehende Version des Secrets vorhanden, und die Datenbankverbindung wurde mit dieser Version erfolgreich hergestellt.
Verbindung mit der aktuellen Secret-Version war erfolgreich. Datenbankverbindung mit aktueller Secret-Version erfolgreich.
400 Verbindung mit der aktuellen Secret-Version war nicht erfolgreich. Ungültige Zugangsdaten in der aktuellen Secret-Version oder einer ausstehenden Version, falls vorhanden.
404 Aktuelle Version des Secrets nicht gefunden Es ist keine aktuelle Version des Secrets mit der angegebenen Datei secretId vorhanden.
500 <EXCEPTION-NACHRICHT> Wird ausgelöst, wenn beim Prüfen der Verbindung eine Ausnahme auftritt.
CREATE_PENDING_VERSION 200 Ausstehende Version ist bereits vorhanden. Eine ausstehende Version des Secrets ist bereits vorhanden. Erstellt keine neue ausstehende Version.
Ausstehende Version erfolgreich erstellt. Es ist keine ausstehende Version vorhanden. Es wird eine neue ausstehende Version des Secrets erstellt.
<AUSNAHMECODE> Ausstehende Version konnte nicht erstellt werden. Ausnahme vom DP-Client beim Versuch, eine neue ausstehende Version des Secrets zu erstellen.
500 <EXCEPTION-NACHRICHT> Wird ausgelöst, wenn beim Erstellen einer neuen Version eine Ausnahme auftritt.
UPDATE_TARGET_SYSTEM 200 Das Zielsystem wurde bereits aktualisiert. Die Datenbank kann mit der ausstehenden Secret-Version verbunden werden, was darauf hinweist, dass diese Version zuvor zum Aktualisieren der Datenbankzugangsdaten verwendet wurde.
Zielsystem erfolgreich aktualisiert. Datenbankzugangsdaten wurden mit der ausstehenden Version des Secrets aktualisiert.
404 Keine ausstehende Version vorhanden. Es ist keine ausstehende Version des Secrets vorhanden, die zum Aktualisieren des Zielsystems verwendet werden kann.
500 Zielsystem konnte nicht aktualisiert werden. Es wurde versucht, das Zielsystem mit den neuen Zugangsdaten für die ausstehende Version zu aktualisieren. Die Verifizierung der Datenbankverbindung mit diesen Zugangsdaten war jedoch nicht erfolgreich.
<EXCEPTION-NACHRICHT> Wird ausgelöst, wenn beim Aktualisieren des Zielsystems eine Ausnahme auftritt.
PROMOTE_PENDING_VERSION 200 Ausstehende Version hochgestuft! Ausstehende Version wurde erfolgreich auf aktuell hochgestuft.
500 <EXCEPTION-NACHRICHT> Wird ausgelöst, wenn beim Hochstufen der ausstehenden Version eine Ausnahme auftritt.