Vault für einen benutzerdefinierten Endpunkt konfigurieren

Um einen benutzerdefinierten Endpunkt für Ihre Visual Builder-Instanz zu erstellen, können Sie mit dem Key Management Service in OCI einen Vault erstellen, in dem die Masterverschlüsselungsschlüssel und Secrets gespeichert werden, mit denen der Zugriff auf Ihren benutzerdefinierten Endpunkt geschützt wird.

In der OCI-Konsole erstellen Sie einen OCI-Vault in dem Compartment, in dem Sie Ihren benutzerdefinierten Endpunkt erstellen möchten. Weitere Informationen zum Arbeiten mit Vaults finden Sie unter Mit Compartments arbeiten, Überblick über Vault und Neuen Vault erstellen.

Hinweis

Wenn Sie einen WAF- und Load Balancer zum Schutz Ihres benutzerdefinierten Endpunkts verwenden, müssen Sie keinen Vault erstellen.

Nachdem Sie einen Vault in der OCI-Konsole erstellt und konfiguriert haben, können Sie den ersten (primären) benutzerdefinierten Endpunkt Ihrer Instanz auf der Detailseite der Visual Builder-Instanz konfigurieren. Wenn Ihre Instanz bereits über einen primären Endpunkt verfügt und Sie einen weiteren hinzufügen möchten, müssen Sie einen alternativen Endpunkt über die Befehlszeile erstellen. Wenn Ihre Instanz bereits über mehrere benutzerdefinierte Endpunkte verfügt und Sie einen davon bearbeiten möchten, müssen Sie dies auch über die Befehlszeile tun. Weitere Informationen finden Sie unter Alternative Endpunkte erstellen und aktualisieren.

Wenn Sie das Secret in Ihrem Vault erstellen, müssen Sie ein Secret-Zertifikat angeben, das Folgendes enthält:

  • das SSL-Zertifikat des Hostnamens,
  • den übereinstimmenden Private Key und
  • alle Zwischenzertifikate in der SSL-Kette.

Sie müssen auch eine Passphrase angeben, wenn für das SSL-Zertifikat eine Passphrase erforderlich ist. Diese erhalten Sie von Ihrem SSL-Zertifikatsanbieter.

Hinweis

Mit openssl können Sie das SSL-Zertifikat und den Private Key validieren.

So erstellen und konfigurieren Sie einen OCI-Vault in der OCI-Konsole:

  1. Klicken Sie in der OCI-Konsole auf Navigationsmenü Menüsymbol, wählen Sie Identität und Sicherheit, und wählen Sie Vault aus, um die Seite "Vaults" zu öffnen.
  2. Klicken Sie auf der Seite "Vaults" auf Vault erstellen, um den Bereich "Vault erstellen" zu öffnen.

    Bestätigen Sie im Bereich "Vault erstellen", dass Sie den Vault im richtigen Compartment erstellen. Wenn Sie sich nicht im richtigen Compartment befinden, wählen Sie das Compartment in der Dropdown-Liste "Erstellen in Compartment" aus.

  3. Geben Sie einen Namen für den Vault ein. Klicken Sie auf Vault erstellen, um zur Seite "Vaults" zurückzukehren.


    Nachdem Sie auf Vault erstellen geklickt haben, kann es einige Minuten dauern, bis der neue Vault in der Tabelle auf der Seite "Vaults" angezeigt wird.

  4. Klicken Sie in der Tabelle auf der Seite "Vaults" auf den Namen des Vaults, den Sie erstellt haben, um die Detailseite des Vaults zu öffnen.
  5. Erstellen Sie einen Masterverschlüsselungsschlüssel für den Vault.
    1. Öffnen Sie die Registerkarte Masterverschlüsselungsschlüssel des Vaults.
    2. Klicken Sie auf Schlüssel erstellen, um den Bereich "Schlüssel erstellen" zu öffnen.
    3. Geben Sie im Feld "Bezeichnung" einen Namen für den Schlüssel ein.

      Um den Schlüssel zu erstellen, müssen Sie nur einen Namen eingeben. Verwenden Sie die Standardeinstellungen für die anderen Optionen.

    4. Klicken Sie auf Schlüssel erstellen, um zur Registerkarte "Masterverschlüsselungsschlüssel" zurückzukehren.
  6. Erstellen Sie das Secret.

    Speichern Sie das Zertifikat als Secret im OCI Vault. Weitere Informationen zu Secrets finden Sie unter Neues Secret erstellen.

    1. Öffnen Sie die Registerkarte Secrets des Vaults.
    2. Klicken Sie auf Secret erstellen, um den Bereich "Secret erstellen" zu öffnen.
    3. Geben Sie einen Namen und eine Beschreibung für das Secret an.
    4. Wählen Sie in der Dropdown-Liste Verschlüsselungsschlüssel den Schlüssel aus, den Sie auf der Registerkarte "Masterverschlüsselungsschlüssel" erstellt haben.
    5. Wählen Sie Manuelle Secret-Generierung aus.

      Stellen Sie sicher, dass Sie "Manuelle Secret-Generierung" explizit auswählen. Der Standardwert ist "Automatische Secret-Generierung".



    6. Generieren Sie das Secret-Zertifikat, und fügen Sie es in das Feld "Secret Contents" ein.

      Verwenden Sie dieses Format für das Zertifikat:

      {
        "key": "-----BEGIN PRIVATE KEY-----\n…..-----END PRIVATE KEY-----\n",
        "cert": "-----BEGIN CERTIFICATE-----\n….-----END CERTIFICATE-----\n",
        "intermediates": [
          "-----BEGIN CERTIFICATE-----\n….-----END CERTIFICATE-----\n",
          "-----BEGIN CERTIFICATE-----\n….-----END CERTIFICATE-----\n"
        ],
        "passphrase": "<private key password if encrypted key is provided>"
      }
      Beachten Sie beim Generieren des Zertifikats die folgenden Zertifikatanforderungen:
      • Die Elemente key und cert sind erforderlich.
      • Jedes Zwischenzertifikat muss als separates Element in einem intermediates-Array angegeben werden. In den meisten Fällen wird es nur eine Zwischenstufe geben. Das Zwischenprodukt wird vom SSL-Anbieter bereitgestellt.
      • Stellen Sie immer sicher, dass die letzte Root-CA als letztes Element im Array angegeben ist. Beispiel: Wenn es drei Zwischenzertifikate für das Blattzertifikat gibt, muss das Zertifikat, das das Blattzertifikat ausgestellt hat, als Element intermediates[0] verwendet werden. Das Zertifikat, das das intermediates[0]-Zertifikat ausgestellt hat, muss im Element intermediates[1] enthalten sein. Das Zertifikat, das das das intermediates[1]-Zertifikat ausgestellt hat, muss im Element intermediates[2] enthalten sein.
      • Das Attribut passphrase ist nur erforderlich, wenn der Private Key mit einer Passphrase verschlüsselt ist. Nehmen Sie das Attribut nicht auf, wenn es nicht erforderlich ist.
      • Wenn Sie einen verschlüsselten Private Key verwenden, ist das folgende Format erforderlich (PKCS1 wird unterstützt):
        -----BEGIN RSA PRIVATE KEY-----
        Proc-Type: 4,ENCRYPTED
        -----END RSA PRIVATE KEY-----
        

        Eine JSON-Datei mit einem verschlüsselten Private Key sieht wie folgt aus:

        {
          "key": "-----BEGIN RSA PRIVATE KEY-----\nProc-Type: 4,ENCRYPTED\n....\n-----END RSA PRIVATE KEY-----",
        ..
        ..
          "passphrase": "<passphrase to decrypt the key>"
        }
        

        Eine JSON-Datei mit einem unverschlüsselten Private Key sieht wie folgt aus:

        {
          "key": "-----BEGIN RSA PRIVATE KEY-----\nvRXUK08v31bw2rnDLw+vjuX2i8ujHWs\n....\n-----END RSA PRIVATE KEY-----",
        ..
        ..
        }
        
      • Wenn Ihr Private Key das Format PKCS8 aufweist, müssen Sie ihn in das Format PKCS1 konvertieren:
        openssl rsa -in <input_pkcs8_encrypted_private_key> -out <converted_encrypted_private_key_file_name> -aes256
      Hinweis

      Es wird dringend empfohlen, das Zertifikat-JSON über die Linux/Unix-Befehlszeile oder Unix-Utilitys zu generieren, um sicherzustellen, dass die Zeilenenden korrekt codiert werden. Falsche Zeilenende führen zu einem Fehler.

      • Um manuelle Fehler zu vermeiden, können Sie Ihr PEM-Zertifikat mit den folgenden awk-Befehlen wie erwartet in eine einzelne Zeile mit "\n" konvertieren.

        Für das Blattzertifikat:

        awk -v RS= '{gsub(/\n+/, "\\n")}1' <cert_pem_file>

        Für jedes Zwischen-/Root-Zertifikat:

        awk -v RS= '{gsub(/\n+/, "\\n")}1' <each_intermediate_cert_pem_file>

        Für den Private Key:

        awk -v RS= '{gsub(/\n+/, "\\n")}1' <private_key_pem_file>
      • Die letzte Version des Secrets wird verwendet, wenn Sie einen benutzerdefinierten Endpunkt entweder über den Vorgang "Instanz erstellen" oder "Instanz bearbeiten" mit Ihrer Instanz verknüpfen. Informationen zu Secret-Versionen finden Sie unter Secret-Versionen und Rotationsstatus.
      • Wenn Sie ein Hostnamenzertifikat verwenden, dessen Certificate Authority (CA) nicht im Visual Builder Trust Store enthalten ist, müssen Sie das Zertifikat auch in die Visual Builder-Instanz hochladen. Andernfalls wird eine Ausnahme in den Szenarios ausgelöst, die von der Instanz selbst aufgerufen werden.

      Verwenden Sie die Standardeinstellungen für die anderen Optionen auf der Seite "Secret erstellen".

    7. Klicken Sie auf Secret erstellen, um zur Registerkarte "Secrets" zurückzukehren.
  7. Erstellen Sie eine Identity and Access-Management-(IAM-)Policy, um:
    1. Erlauben Sie dem Visual Builder-Service, die Version und den Inhalt des Secrets zu lesen.

      Policy-Syntax für einen Visual Builder-Service:

      allow group <group-name> to read secret-bundle in compartment <secrets-compartment>

      Beispiel:

      allow group VBInstanceAdmins to read secret-bundle in compartment MySecretCompartment

      Wenn sich die VB-Instanz NICHT in einer Standarddomain befindet, müssen Sie das Domainpräfix vor dem Gruppennamen einschließen.

      Beispiel:

      Allow group mydomain/VBInstanceAdmins to read secret-bundle in compartment MySecretCompartment

    2. Erlauben Sie der Admin-Gruppe, auf das Secret, den Schlüssel und den Vault zuzugreifen (oder ein neues Secret, einen neuen Schlüssel und einen neuen Vault zu erstellen), während Sie eine Visual Builder-Instanz mit einem benutzerdefinierten Endpunkt erstellen oder aktualisieren.

      Policy-Syntax:

      allow group <group-name> to manage secrets in compartment <secrets-compartment>

      allow group <group-name> to manage keys in compartment <secrets-compartment>

      allow group <group-name> to manage vaults in compartment <secrets-compartment>

      und hier einige Beispiele:

      Allow group VBInstanceAdmins to manage secrets in compartment MySecretCompartment

      Allow group VBInstanceAdmins to manage keys in compartment MySecretCompartment

      Allow group VBInstanceAdmins to manage vaults in compartment MySecretCompartment

      Wenn sich die VB-Instanz NICHT in einer Standarddomain befindet, müssen Sie das Domainpräfix vor dem Gruppennamen einschließen.

      Beispiele:

      Allow group mydomain/VBInstanceAdmins to manage secrets in compartment MySecretCompartment

      Allow group mydomain/VBInstanceAdmins to manage keys in compartment MySecretCompartment

      Allow group mydomain/VBInstanceAdmins to manage vaults in compartment MySecretCompartment

    Beachten Sie, dass Sie die Ressource angeben müssen, die in <resource-type> zurückgegeben werden soll, wie unter Details zum Vault-Service beschrieben.

    Die Syntax der Policy-Anweisung finden Sie in Tabelle 3-1 oben und in CreatePolicy API-Anforderung.