Edge for Private Cloud v4.19.01
Nachdem Sie die apigee-mtls-Komponente auf jedem Knoten im Cluster installiert haben, müssen Sie sie konfigurieren und initialisieren. Dazu generieren Sie ein Zertifikat-/Schlüsselpaar und aktualisieren die Konfigurationsdatei auf Ihrem Administrationscomputer. Anschließend stellen Sie die generierten Dateien auf allen Knoten im Cluster bereit und initialisieren die lokale apigee-mtls-Komponente.
apigee-mtls konfigurieren (nach der Erstinstallation)
In diesem Abschnitt wird beschrieben, wie Sie Apigee mTLS für ein einzelnes Rechenzentrum direkt nach der Erstinstallation konfigurieren. Informationen zum Aktualisieren einer vorhandenen Installation von Apigee mTLS finden Sie unter Vorhandene apigee-mtls-Konfiguration ändern. Informationen zum Konfigurieren mehrerer Rechenzentren finden Sie unter Mehrere Rechenzentren für Apigee mTLS konfigurieren.
Im Folgenden wird der allgemeine Prozess zum Konfigurieren von apigee-mtls beschrieben:
- Konfigurationsdatei aktualisieren: Aktualisieren Sie auf Ihrem Administrationscomputer die Konfigurationsdatei, um die
apigee-mtls-Einstellungen einzuschließen. - Consul installieren und Anmeldedaten generieren: Installieren Sie Consul und generieren Sie damit die TLS-Anmeldedaten (nur einmal).
Bearbeiten Sie außerdem Ihre Apigee mTLS-Konfigurationsdatei, um:
- Anmeldedaten hinzufügen
- Topologie des Clusters definieren
Sie können Ihre vorhandenen Anmeldedaten verwenden oder mit Consul generieren.
- Konfigurationsdatei und Anmeldedaten verteilen: Verteilen Sie das generierte Zertifikat/Schlüsselpaar und die aktualisierte Konfigurationsdatei an alle Knoten in Ihrem Cluster.
- apigee-mtls initialisieren: Initialisieren Sie die Komponente
apigee-mtlsauf jedem Knoten.
Jeder dieser Schritte wird in den folgenden Abschnitten beschrieben.
Schritt 1: Konfigurationsdatei aktualisieren
In diesem Abschnitt wird beschrieben, wie Sie Ihre Konfigurationsdatei so ändern, dass sie mTLS-Konfigurationsattribute enthält. Allgemeine Informationen zur Konfigurationsdatei finden Sie unter Konfigurationsdatei erstellen.
Nachdem Sie die Konfigurationsdatei mit den mTLS-bezogenen Attributen aktualisiert haben, kopieren Sie sie auf alle Knoten im Cluster, bevor Sie die apigee-mtls-Komponente auf diesen Knoten initialisieren.
In Befehlen, die auf die Konfigurationsdatei verweisen, wird „config_file“ verwendet, um anzugeben, dass der Speicherort variabel ist, je nachdem, wo Sie sie auf den einzelnen Knoten speichern.
So aktualisieren Sie die Konfigurationsdatei:
- Öffnen Sie die Konfigurationsdatei auf Ihrem Administrationscomputer.
- Kopieren Sie die folgenden mTLS-Konfigurationsattribute und fügen Sie sie in die Konfigurationsdatei ein:
ALL_IP="ALL_PRIVATE_IPS_IN_CLUSTER" ZK_MTLS_HOSTS="ZOOKEEPER_PRIVATE_IPS" CASS_MTLS_HOSTS="CASSANDRA_PRIVATE_IPS" PG_MTLS_HOSTS="POSTGRES_PRIVATE_IPS" RT_MTLS_HOSTS="ROUTER_PRIVATE_IPS" MS_MTLS_HOSTS="MGMT_SERVER_PRIVATE_IPS" MP_MTLS_HOSTS="MESSAGE_PROCESSOR_PRIVATE_IPS" QP_MTLS_HOSTS="QPID_PRIVATE_IPS" LDAP_MTLS_HOSTS="OPENLDAP_PRIVATE_IPS" MTLS_ENCAPSULATE_LDAP="y" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="BASE64_GOSSIP_MESSAGE" PATH_TO_CA_CERT="PATH/TO/consul-agent-ca.pem" PATH_TO_CA_KEY="PATH/TO/consul-agent-ca-key.pem" APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR="NUMBER_OF_DAYS"
Legen Sie den Wert der einzelnen Attribute so fest, dass er Ihrer Konfiguration entspricht.
In der folgenden Tabelle werden diese Konfigurationsattribute beschrieben:
Attribut Beschreibung ALL_IPEine durch Leerzeichen getrennte Liste der privaten Host-IP-Adressen aller Knoten im Cluster. Die Reihenfolge der IP-Adressen spielt keine Rolle, sie muss jedoch in allen Konfigurationsdateien im gesamten Cluster gleich sein.
Wenn Sie Apigee mTLS für mehrere Rechenzentren konfigurieren, listen Sie alle IP-Adressen für alle Hosts in allen Regionen auf.
LDAP_MTLS_HOSTSDie private Host-IP-Adresse des OpenLDAP-Knotens im Cluster. ZK_MTLS_HOSTSEine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen ZooKeeper-Knoten im Cluster gehostet werden.
Gemäß den Anforderungen müssen mindestens drei ZooKeeper-Knoten vorhanden sein.
CASS_MTLS_HOSTSEine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen Cassandra-Server im Cluster gehostet werden. PG_MTLS_HOSTSEine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen Postgres-Server im Cluster gehostet werden. RT_MTLS_HOSTSEine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen Router im Cluster gehostet werden. MTLS_ENCAPSULATE_LDAPVerschlüsselt den LDAP-Traffic zwischen dem Message Processor und dem LDAP-Server. Legen Sie yfest.MS_MTLS_HOSTSEine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen Management Server-Knoten im Cluster gehostet werden. MP_MTLS_HOSTSEine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen Message Processor im Cluster gehostet werden. QP_MTLS_HOSTSEine durch Leerzeichen getrennte Liste privater Host-IP-Adressen, auf denen Qpid-Server im Cluster gehostet werden. ENABLE_SIDECAR_PROXYBestimmt, ob Cassandra und Postgres das Service Mesh kennen sollen. Sie müssen diesen Wert auf „y“ festlegen.
ENCRYPT_DATADer base64-codierte Verschlüsselungsschlüssel, der von Consul verwendet wird . Sie haben diesen Schlüssel mit dem Befehl consul keygenin Schritt 2: Consul installieren und Anmeldedaten generieren generiert.Dieser Wert muss für alle Knoten im Cluster gleich sein.
PATH_TO_CA_CERTDer Speicherort der Zertifikatsdatei auf dem Knoten. Diese Datei haben Sie in Schritt 2: Consul installieren und Anmeldedaten generieren generiert. Dieser Speicherort sollte auf allen Knoten im Cluster identisch sein, damit die Konfigurationsdateien identisch sind.
Das Zertifikat muss X509v3-codiert sein.
PATH_TO_CA_KEYDer Speicherort der Schlüsseldatei auf dem Knoten. Diese Datei haben Sie in Schritt 2: Consul installieren und Anmeldedaten generieren generiert. Dieser Speicherort sollte auf allen Knoten im Cluster identisch sein, damit die Konfigurationsdateien identisch sind.
Die Schlüsseldatei muss X509v3-codiert sein.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FORDie Anzahl der Tage, die ein Zertifikat gültig ist, wenn Sie ein benutzerdefiniertes Zertifikat generieren.
Der Standardwert ist 365. Der Höchstwert beträgt 7.865 Tage (5 Jahre).
Zusätzlich zu den oben aufgeführten Attributen verwendet Apigee mTLS mehrere zusätzliche Attribute, wenn Sie es in einer Konfiguration mit mehreren Rechenzentren installieren. Weitere Informationen finden Sie unter Mehrere Rechenzentren konfigurieren.
- Die Property
ENABLE_SIDECAR_PROXYmuss auf „y“ festgelegt sein. - Aktualisieren Sie die IP-Adressen in den hostbezogenen Attributen. Verwenden Sie die privaten IP-Adressen, wenn Sie auf die einzelnen Knoten verweisen, nicht die öffentlichen IP-Adressen.
In späteren Schritten legen Sie die Werte der anderen Attribute wie
ENCRYPT_DATA,PATH_TO_CA_CERTundPATH_TO_CA_KEYfest. Sie legen die Werte noch nicht fest.Beachten Sie beim Bearbeiten der Konfigurationsattribute für
apigee-mtlsFolgendes:- Alle Attribute sind Strings. Sie müssen die Werte aller Attribute in einfache oder doppelte Anführungszeichen setzen.
- Wenn ein hostbezogener Wert mehr als eine private IP-Adresse hat, trennen Sie die einzelnen IP-Adressen durch ein Leerzeichen.
- Verwenden Sie für alle hostbezogenen Attribute in der Konfigurationsdatei private IP-Adressen und keine Hostnamen oder öffentlichen IP-Adressen.
- Die Reihenfolge der IP-Adressen in einem Attributwert muss in allen Konfigurationsdateien im Cluster gleich sein.
- Speichern Sie die Änderungen in der Konfigurationsdatei.
Schritt 2: Consul installieren und Anmeldedaten generieren
In diesem Abschnitt wird beschrieben, wie Sie Consul installieren und Anmeldedaten generieren.
Sie müssen eine der folgenden Methoden zum Generieren von Anmeldedaten auswählen:
- Erstellen Sie Ihre eigene Zertifizierungsstelle mit Consul, wie in diesem Abschnitt beschrieben (empfohlen).
- Anmeldedaten einer vorhandenen Zertifizierungsstelle mit Apigee mTLS verwenden (erweitert)
Anmeldedaten
Die Anmeldedaten bestehen aus Folgendem:
- Zertifikat: Das auf jedem Knoten gehostete TLS-Zertifikat
- Schlüssel: Der öffentliche TLS-Schlüssel, der auf jedem Knoten gehostet wird.
- Gossip-Nachricht: Ein Base64-codierter Verschlüsselungsschlüssel
Sie generieren jede dieser Dateien nur einmal. Sie kopieren die Schlüssel- und Zertifikatsdateien auf alle Knoten in Ihrem Cluster und fügen den Verschlüsselungsschlüssel Ihrer Konfigurationsdatei hinzu, die Sie ebenfalls auf alle Knoten kopieren.
Weitere Informationen zur Verschlüsselungsimplementierung von Consul finden Sie hier:
Consul installieren und Anmeldedaten generieren
Sie verwenden eine lokale Consul-Binärdatei, um Anmeldedaten zu generieren, die Apigee mTLS für die Authentifizierung der sicheren Kommunikation zwischen den Knoten in Ihrem Private Cloud-Cluster verwendet. Daher müssen Sie Consul auf Ihrem Administrationscomputer installieren, bevor Sie Anmeldedaten generieren können.
So installieren Sie Consul und generieren mTLS-Anmeldedaten:
- Laden Sie auf Ihrem Verwaltungscomputer die Consul 1.6.2-Binärdatei von der HashiCorp-Website herunter.
- Extrahieren Sie den Inhalt der heruntergeladenen Archivdatei. Extrahieren Sie den Inhalt beispielsweise nach
/opt/consul/. - Erstellen Sie auf Ihrem Verwaltungscomputer mit dem folgenden Befehl eine neue Zertifizierungsstelle (Certificate Authority, CA):
/opt/consul/consul tls ca create
Consul erstellt die folgenden Dateien, die ein Zertifikat/Schlüsselpaar sind:
consul-agent-ca.pem(Zertifikat)consul-agent-ca-key.pem(Schlüssel)
Standardmäßig sind Zertifikats- und Schlüsseldateien X509v3-codiert.
Später kopieren Sie diese Dateien auf alle Knoten im Cluster. Derzeit müssen Sie jedoch nur entscheiden, wo auf den Knoten Sie diese Dateien ablegen möchten. Sie sollten sich auf jedem Knoten am selben Speicherort befinden. Beispiel:
/opt/apigee/. - Legen Sie in der Konfigurationsdatei den Wert von
PATH_TO_CA_CERTauf den Speicherort fest, an den Sie die Dateiconsul-agent-ca.pemauf dem Knoten kopieren. Beispiel:PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
- Legen Sie den Wert von
PATH_TO_CA_KEYauf den Speicherort fest, an den Sie die Dateiconsul-agent-ca-key.pemauf dem Knoten kopieren möchten. Beispiel:PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
- Erstellen Sie mit dem folgenden Befehl einen Verschlüsselungsschlüssel für Consul:
/opt/consul/consul keygen
Consul gibt einen zufälligen String aus, der in etwa so aussieht:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- Kopieren Sie den String und legen Sie ihn als Wert des Attributs
ENCRYPT_DATAin Ihrer Konfigurationsdatei fest. Beispiel:ENCRYPT_DATA="
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=" - Speichern Sie die Konfigurationsdatei.
Das folgende Beispiel zeigt die mTLS-bezogenen Einstellungen in einer Konfigurationsdatei (mit Beispielwerten):
... IP1=10.126.0.121 IP2=10.126.0.124 IP3=10.126.0.125 IP4=10.126.0.127 IP5=10.126.0.130 ALL_IP="$IP1 $IP2 $IP3 $IP4 $IP5" LDAP_MTLS_HOSTS="$IP3" ZK_MTLS_HOSTS="$IP3 $IP4 $IP5" CASS_MTLS_HOSTS="$IP3 $IP4 $IP5" PG_MTLS_HOSTS="$IP2 $IP1" RT_MTLS_HOSTS="$IP4 $IP5" MS_MTLS_HOSTS="$IP3" MP_MTLS_HOSTS="$IP4 $IP5" QP_MTLS_HOSTS="$IP2 $IP1" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=" PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem" PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem" ...
Schritt 3: Konfigurationsdatei und Anmeldedaten verteilen
Kopieren Sie die folgenden Dateien mit einem Tool wie scp auf die Knoten, auf denen ZooKeeper ausgeführt wird:
- Konfigurationsdatei: Kopieren Sie die aktualisierte Version dieser Datei und ersetzen Sie die vorhandene Version auf allen Knoten (nicht nur auf den Knoten, auf denen ZooKeeper ausgeführt wird).
- consul-agent-ca.pem: Kopieren Sie die Datei an den Speicherort, den Sie in der Konfigurationsdatei als Wert für
PATH_TO_CA_CERTangegeben haben. - consul-agent-ca-key.pem: Kopieren Sie die Datei an den Speicherort, den Sie in der Konfigurationsdatei als Wert von
PATH_TO_CA_KEYangegeben haben.
Achten Sie darauf, dass die Speicherorte, an die Sie die Zertifikats- und Schlüsseldateien kopieren, mit den Werten übereinstimmen, die Sie in der Konfigurationsdatei in Schritt 2: Consul installieren und Anmeldedaten generieren festgelegt haben.
Schritt 4: apigee-mtls initialisieren
Nachdem Sie die Konfigurationsdatei aktualisiert, sie und die Anmeldedaten auf alle Knoten im Cluster kopiert und apigee-mtls auf jedem Knoten installiert haben, können Sie die Komponente apigee-mtls auf jedem Knoten initialisieren.
So initialisieren Sie apigee-mtls:
- Melden Sie sich als Root-Nutzer bei einem Knoten im Cluster an. Sie können diese Schritte auf den Knoten in beliebiger Reihenfolge ausführen.
- Machen Sie den Nutzer
apigee:apigeezum Inhaber der aktualisierten Konfigurationsdatei, wie im folgenden Beispiel gezeigt:chown apigee:apigee config_file
- Konfigurieren Sie die Komponente
apigee-mtlsmit dem folgenden Befehl:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
- (Optional) Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Einrichtung erfolgreich war:
/opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
- Starten Sie Apigee mTLS mit dem folgenden Befehl:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls start
Nach der Installation von Apigee mTLS müssen Sie diese Komponente vor allen anderen Komponenten auf dem Knoten starten.
- (Nur Cassandra-Knoten) Cassandra benötigt zusätzliche Argumente, um im Sicherheits-Mesh-Netzwerk zu funktionieren. Daher müssen Sie die folgenden Befehle auf jedem Cassandra-Knoten ausführen:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart - (Nur Postgres-Knoten) Postgres erfordert zusätzliche Argumente, um im Sicherheits-Mesh zu funktionieren. Daher müssen Sie auf den Postgres-Knoten Folgendes tun:
(Nur Master)
- Führen Sie die folgenden Befehle auf dem Postgres-Masterknoten aus:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
(nur Standby)
- Sichern Sie Ihre vorhandenen Postgres-Daten. Wenn Sie Apigee mTLS installieren möchten, müssen Sie die Master-/Standby-Knoten neu initialisieren. Dadurch gehen Daten verloren. Weitere Informationen finden Sie unter Master-/Standby-Replikation für Postgres einrichten.
- Löschen Sie alle Postgres-Daten:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- Konfigurieren Sie Postgres und starten Sie Postgres dann neu, wie im folgenden Beispiel gezeigt:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Wenn Sie die Installation in einer Topologie mit mehreren Rechenzentren durchführen, verwenden Sie einen absoluten Pfad für die Konfigurationsdatei.
- Führen Sie die folgenden Befehle auf dem Postgres-Masterknoten aus:
- Starten Sie die verbleibenden Apigee-Komponenten auf dem Knoten in der Startreihenfolge, wie im folgenden Beispiel gezeigt:
/opt/apigee/apigee-service/bin/apigee-service component_name start
- Wiederholen Sie diesen Vorgang für jeden Knoten im Cluster.
- (Optional) Prüfen Sie mit einer oder mehreren der folgenden Methoden, ob die Initialisierung von
apigee-mtlserfolgreich war:- iptables-Konfiguration validieren
- Status des Remote-Proxys prüfen
- Quorumstatus prüfen
Jede dieser Methoden wird unter Konfiguration prüfen beschrieben.
Vorhandene apigee-mtls-Konfiguration ändern
Wenn Sie eine vorhandene apigee-mtls-Konfiguration anpassen möchten, müssen Sie apigee-mtls deinstallieren und neu installieren.
Noch einmal zur Erinnerung: Wenn Sie eine vorhandene Apigee-mTLS-Konfiguration ändern, gilt Folgendes:
- Wenn Sie eine Konfigurationsdatei ändern, müssen Sie zuerst
apigee-mtlsdeinstallieren undsetupoderconfigurenoch einmal ausführen:# DO THIS:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls uninstall# BEFORE YOU DO THIS:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f fileOR/opt/apigee/apigee-service/bin/apigee-service apigee-mtls configure - Sie müssen
setupoderconfigureauf allen Knoten im Cluster deinstallieren und noch einmal ausführen, nicht nur auf einem einzelnen Knoten.