Daten mit einer instanzspezifischen Zertifizierungsstelle schützen

Sie können alle Daten, die zwischen Ihren Clientanwendungen und Memorystore for Valkey übertragen werden, sicher verschlüsseln. Dies wird als Verschlüsselung während der Übertragung bezeichnet. Bei der Verschlüsselung während der Übertragung wird der gesamte Valkey-Traffic über das TLS-Protokoll (Transport Layer Security) verschlüsselt. So bleiben alle Daten, die zwischen Ihren Anwendungen und Memorystore for Valkey übertragen werden, vertraulich und unverändert.

Wenn die Verschlüsselung während der Übertragung aktiviert ist, kommunizieren Valkey-Clients ausschließlich über eine sichere Verbindung. Valkey-Clients, die nicht für TLS konfiguriert sind, werden blockiert. Wenn Sie die Verschlüsselung während der Übertragung verwenden möchten, müssen Sie dafür sorgen, dass Ihr Valkey-Client das TLS-Protokoll verwenden kann.

Instanzen, die die Verschlüsselung während der Übertragung verwenden, haben Zertifizierungsstellen. Mit den Zertifizierungsstellen authentifizieren Sie die Zertifikate der Maschinen in Ihren Instanzen.

Ein Zertifizierungsstellenmodus, den Sie verwenden können, ist eine Zertifizierungsstelle pro Instanz. Memorystore for Valkey stellt für jede Instanz eine eigene, eindeutige Zertifizierungsstelleninfrastruktur bereit. Um sicher auf eine Instanz zuzugreifen, müssen Sie Ihre Clientanwendung so konfigurieren, dass sie dieser Zertifizierungsstellenhierarchie vertraut. Dazu müssen Sie Zertifizierungsstellenzertifikate auf jedem Client herunterladen und installieren, der auf die Instanz zugreift.

Instanz mit einer Zertifizierungsstelle pro Instanz erstellen

Console

Folgen Sie der Anleitung unter Instanzen erstellen.

gcloud

Verwenden Sie den gcloud memorystore instances create-Befehl, um eine Instanz mit einer Zertifizierungsstelle pro Instanz zu erstellen.

gcloud memorystore instances create INSTANCE_ID \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_ID/global/networks/NETWORK_ID", "projectId": "PROJECT_ID"}}]}]' \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--engine-version=ENGINE_VERSION \
--mode=MODE \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca

Ersetzen Sie die folgenden Werte:

  • INSTANCE_ID: die ID der Instanz, die Sie erstellen. Die Instanz-ID muss zwischen 1 und 63 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern oder Bindestriche enthalten. Sie muss mit einem Kleinbuchstaben beginnen und mit einem Kleinbuchstaben oder einer Ziffer enden.

  • REGION_ID: die Region, in der sich die Instanz befinden soll.

  • PROJECT_ID: die ID des Projekts, in dem Sie die Instanz erstellen möchten.

  • NETWORK_ID: die ID des Netzwerks, das Sie zum Erstellen der Instanz verwenden möchten.

  • REPLICA_COUNT: die Anzahl der Replikate (pro Shard). Zulässige Werte sind 05.

  • NODE_TYPE: der Knotentyp. Zulässige Werte:

    • shared-core-nano
    • standard-small
    • highmem-medium
    • highmem-xlarge
  • SHARD_COUNT: die Anzahl der Shards in der Instanz. Die Anzahl der Shards bestimmt die Gesamtarbeitsspeicherkapazität zum Speichern von Instanzdaten. Weitere Informationen zu den Instanzspezifikationen finden Sie unter Instanz- und Knotenspezifikation.

  • ENGINE_VERSION: die Version der Instanz. Zulässige Werte für diesen Parameter sind VALKEY_7_2, VALKEY_8_0 und VALKEY_9_0. Wenn Sie keinen Wert angeben, wird standardmäßig VALKEY_9_0 verwendet.

  • MODE: bestimmt, ob der Clustermodus aktiviert oder deaktiviert ist. Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Clustermodus aktiviert. Weitere Informationen finden Sie unter Clustermodus aktivieren und deaktivieren.

Der Parameter server-ca-mode stellt den Zertifizierungsstellenmodus für die Instanz dar. Bei einer Zertifizierungsstelle pro Instanz ist google-managed-per-instance-ca der Wert für den Parameter. Wenn Sie diesen Parameter nicht verwenden, ist der Standardmodus für die Zertifizierungsstelle „pro Instanz“.

Beispiel:

gcloud memorystore instances create my-instance \
--location=us-central1 \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/my-project/global/networks/my-network", "projectId": "my-project"}}]}] \
--replica-count=1 \
--node-type=highmem-medium \
--shard-count=3 \
--engine-version=VALKEY_9_0 \
--mode=CLUSTER \
--transit-encryption-mode=server-authentication \
--server-ca-mode=google-managed-per-instance-ca

Zertifizierungsstellen herunterladen

Wenn Sie die Verschlüsselung während der Übertragung für eine Instanz aktivieren, werden bei Verwendung des get-certificate-authority Befehls die Zertifikate der Zertifizierungsstellen angezeigt.

gcloud memorystore instances get-certificate-authority INSTANCE_ID

Ersetzen Sie INSTANCE_ID durch die ID der Instanz.

Der Antworttext enthält Zertifikate für alle anwendbaren Zertifizierungsstellen.

Zertifizierungsstellenzertifikate auf dem Client installieren

Sie müssen die Zertifizierungsstellenzertifikate auf dem Client installieren, der eine Verbindung zur Instanz herstellt. Je nach Clienttyp kann die Installation des Zertifizierungsstellenzertifikats variieren.

So installieren Sie ein Zertifizierungsstellenzertifikat auf einer Compute Engine-Linux-VM:

  1. Stellen Sie eine SSH-Verbindung zu einem Compute Engine-Linux-Client her.

  2. Erstellen Sie im Client mit dem folgenden Befehl eine Datei server_ca.pem:

    sudo vim /tmp/server_ca.pem
    
  3. Laden Sie die Zertifizierungsstellen herunter und fügen Sie sie in die server_ca.pem Datei ein.

    Sie müssen den Text der Zertifizierungsstellen korrekt formatieren. Die Datei server_ca.pem kann so aussehen:

    -----BEGIN CERTIFICATE-----
    MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkNzYx
    NTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2YxOWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29n
    bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH
    b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE3MjEzNDE1WhcNMzAwOTE1
    MjEzNTE1WjCBhTEtMCsGA1UELhMkNzYxNTc4OGMtMTI2Yi00Nzk0LWI2MWMtY2Yx
    OWE2Y2Y1ZjNiMTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk
    aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw
    ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyDKmDHZm6tzMhNtKOnp8H
    8+zTv1qA6OkBToVqCjKTTMGO18ovNtAAMjbGvclLuJNLbA2WTTWVttHen6Cn82h0
    3gG9HMk9AwK1cVT7gW072h++TRsYddIRlwnSweRWL8jUX+PNt7CjFqH+sma/Hb1m
    CktHdBOa897JiYHrMVNTcpS8SFwwz05yHUTEVGlHdkvlaJXfHLe6keCMABLyjaMh
    1Jl4gZI2WqLMV680pJusK6FI6q/NmqENFc9ywMEg395lHTK9w9e014WIXg0q7sU3
    84ChVVS2yYOMEUWeov4Qx6XeVfA4ss5t7OCqsMQkvslkE90mJZcVvhBj3QvTH9Rz
    AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB
    AJkn+MDE4V10DZn4uEc0s0Mg4FEMC1fDewmDYwSNnxRlzfEi+wAX2AaqrJ4m4Qa7
    xIyuSYxArEOY6QeyJyw7/06dom8aAv4aO2p8hE04Ih6QwaTMFIlT2Jf6TidVd3eT
    wfjwFJVoJ+dgxsaCv2uMFZWee5aRHmKzj9LhqPwpWnTs9Q/qmOheUNoe2/1i8yvn
    662M7RZMR7fZH6ETsdz5w1nPXXiRqJ7K0EGKoPNjMlYK3/U1X3sazI4tpMNgTdxG
    rnNh9Sd9REMBmDCPj9dUI9k4hQX4yQZp96fnLT6cet22OPajEKnpzyqJs1s4iX/g
    lEtWs4V/YBhKA56CW6ASZS8=
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIDnTCCAoWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBhTEtMCsGA1UELhMkYjg4
    ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdhMzM4NmIwZmU4MTEwLwYDVQQDEyhHb29n
    bGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVkaXMgU2VydmVyIENBMRQwEgYDVQQKEwtH
    b29nbGUsIEluYzELMAkGA1UEBhMCVVMwHhcNMjAwOTE4MjEzMTI3WhcNMzAwOTE2
    MjEzMjI3WjCBhTEtMCsGA1UELhMkYjg4ZTUzYTMtODdmNC00N2VhLWJjN2MtYTdh
    MzM4NmIwZmU4MTEwLwYDVQQDEyhHb29nbGUgQ2xvdWQgTWVtb3J5c3RvcmUgUmVk
    aXMgU2VydmVyIENBMRQwEgYDVQQKEwtHb29nbGUsIEluYzELMAkGA1UEBhMCVVMw
    ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEO4Zs/So5DA6wtftkAElD
    8BVREob4gby2mGBYAtd3JJQKFC+zIqCf2DhrWihrCeXhsdsZqJUF16E3MsCCWS2T
    UWt6T37zObU2fzKmb7X+TSw1tunIUcIXwWzoMhqdGrIvfI9guMbF+KssQIjDMs9M
    G/hY6cY1NB5THOxXqcxzYrwSKB1EE160EDz4RgKAYQhw7AyVOBBAbWqA5pTEDuUy
    qpsz+NFpKYTwaeTpzil0xIl0JJS3DOd4G7ZnMG2wFT2j3wt+P0SkAPuOWgmX82iO
    gGmKoaCh3KcICie/rZRTfsRPjMm+yswRQRDeLB5eoMmH+gbUInVZU0qOJ/7gOYEb
    AgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEB
    AF4xlEbwLUK5VjoKlJBtKXLYrYcW+AbQLhZQFP8exE8bOW7p39h+5J0nl3ItPxu6
    97BCt1P5TFisba8pBxaExiDsYmjKQrhtizMkzl5h9hGksOgoLlAqaaxfA97+Q9Tq
    5gaYChESur/159Z3jiM47obKoZmHfgSgr//7tjII7yZxUGhOjIVffv/fEa4aixqM
    0yH1V1s8hWHZeui2VFrHmTxY20IH9ktyedjSUgnFXzsEH6sbR18p0wBZqyrrtURs
    DaUIeoOHfHgEJM8k/wphSJI0V6pMC6nax2JhexLTRiUsiGTLRDe3VtsdWqS2DLa9
    9DmrfdF0eFrfWw3VRNLwwXg=
    -----END CERTIFICATE-----
    

    Folgen Sie diesen Richtlinien, um den Text in der Datei korrekt zu formatieren:

    • Kopieren Sie die gesamte Zertifizierungsstelle, einschließlich der Zeilen -----BEGIN CERTIFICATE----- und
      -----END CERTIFICATE-----.

    • Der Text der Zertifizierungsstellen muss vollständig linksbündig sein. Vor keiner Zeile der Zertifizierungsstellen dürfen Leerzeichen stehen.

    • Fügen Sie jede Zertifizierungsstelle in einer neuen Zeile hinzu. Zwischen den Zertifizierungsstellen dürfen keine Leerzeilen sein.

Client für die Verschlüsselung während der Übertragung konfigurieren

Der Client, mit dem Sie eine Verbindung zur Instanz herstellen, muss entweder TLS unterstützen oder eine Sidecar-Datei von einem Drittanbieter verwenden, um TLS zu aktivieren.

Wenn Ihr Client TLS unterstützt, konfigurieren Sie ihn so, dass er auf die IP-Adresse der Instanz, Port 6379 und die Datei mit der Zertifizierungsstelle verweist. Beispiele für das Herstellen einer Verbindung zu einer Instanz mit aktiviertem oder deaktiviertem Clustermodus in Memorystore for Valkey, für die die Verschlüsselung während der Übertragung aktiviert ist, finden Sie unter Verbindung zu einer Instanz mit aktiviertem Clustermodus herstellen und Verbindung zu einer Instanz mit deaktiviertem Clustermodus herstellen.

Zertifizierungsstellenrotation verwalten

Wir empfehlen, alle herunterladbaren Zertifizierungsstellenzertifikate auf den Clients zu installieren, die auf die Instanz zugreifen.

Wenn Sie die neuesten Zertifizierungsstellenzertifikate regelmäßig installieren, haben Sie die erforderlichen Zertifikate, wenn Memorystore for Valkey die Zertifizierungsstellen rotiert. Während dieser Rotation sind sowohl die vorhandenen als auch die neuen Zertifizierungsstellen aktiv.

Codebeispiel für die Verbindung zu einer Instanz, die die Verschlüsselung während der Übertragung verwendet

Ein Codebeispiel zum Einrichten einer Clientbibliothek für die Verbindung zu einer Instanz, die die Verschlüsselung während der Übertragung verwendet, finden Sie unter Codebeispiel für die IAM-Authentifizierung und die Verschlüsselung während der Übertragung.