Netzzugriff einschränken

Event Streams-Instanzen werden standardmäßig so konfiguriert, dass sie das öffentliche IBM Cloud®-Netz verwenden, um über das öffentliche Internet zugänglich zu sein.

Bei Bedarf können Sie den Netztyp oder kontextbasierte Einschränkungen verwenden, um die Netzkonnektivität wie folgt einzuschränken:

Netztyp

IBM Cloud bietet sowohl privaten als auch öffentlichen Netzbetrieb. Wenn Ihre Arbeitslast vollständig innerhalb des IBM Cloud läuft und der öffentliche Zugriff auf den Dienst nicht erforderlich ist, können Event Streams-Instanzen stattdessen so konfiguriert werden, dass sie nur über das private IBM Cloud-Netzwerk zugänglich sind. Dies ermöglicht eine erhöhte Isolation und verursacht nicht die Bandbreitengebühren für abgehenden Datenverkehr (Egress), die mit öffentlichem Datenverkehr verbunden sind. Instanzen können darüber hinaus so konfiguriert werden, dass sie sowohl über das öffentliche als auch über das private IBM Cloud-Netz zugänglich sind, wobei für Ihre Workload die am besten geeignete Schnittstelle für den Standort verwendet werden kann. Weitere Informationen zum privaten Netzbetrieb finden Sie unter Virtual routing and forwarding on IBM Cloud.

Kontextbasierte Einschränkungen (CBR)

Sie können Zugriffsregeln definieren, die die Netzadressen begrenzen, von denen Verbindungen akzeptiert werden. Beispiele: Netztyp, IP-Bereiche, VPC oder andere Services. Weitere Informationen finden Sie unter Was sind kontextbasierte Einschränkungen?

Prüfereignisse für kontextbasierte Einschränkungen werden unter kontextbasierten Einschränkungen IBM Cloud Activity Tracker-Ereignisse Kontextbasierte Einschränkungsregelereignisseveröffentlicht. Activity Tracker-Ereignisse im Zusammenhang mit der CBR-Durchsetzung sind auf privaten Endpunkten nicht verfügbar.

Netztyp konfigurieren

Sie können Enterprise-Serviceinstanzen so konfigurieren, dass sie in privaten, öffentlichen oder privaten IBM Cloud-Netzen sowie in privaten und öffentlichen Netzen verfügbar sind. Die folgenden Informationen beschreiben, wie der erforderliche Netztyp ausgewählt und aktualisiert wird. Der öffentliche Netzbetrieb ist standardmäßig ausgewählt.

Voraussetzungen

Stellen Sie sicher, dass Sie die folgenden Tasks ausführen:

  • Erstellen Sie Ihre Serviceinstanz unter Verwendung des Enterprise-Plans an einem der unterstützten Standorte mit mehreren Zonen. Weitere Informationen finden Sie unter Auswahl des Tarifs.

  • Aktivieren Sie Virtual Route Forwarding(VRF) für Ihr IBM Cloud-Konto.

  • Aktivieren Sie die Konnektivität der Serviceendpunkte, indem Sie den folgenden Befehl ausführen:

    ibmcloud account update --service-endpoint-enable true
    

    Um zu überprüfen, ob die Voraussetzungen erfüllt sind, führen Sie den folgenden Befehl aus, und überprüfen Sie, ob die folgenden beiden Eigenschaften zutreffen:

    ibmcloud account show
    
    VRF Enabled:                        true
    Service Endpoint Enabled:           true
    

Netzkonfiguration während der Bereitstellung auswählen

Sie haben eine Reihe von Möglichkeiten, die Netzkonfiguration Ihres Unternehmensclusters auszuwählen.

  1. Verwenden Sie das öffentliche IBM Cloud-Netz. Endpunkte sind über das öffentliche Internet zugänglich. Dies ist der Standardwert.

  2. Verwenden Sie das IBM Cloud private Netzwerk. Endpunkte sind im öffentlichen Internet nicht sichtbar.

  3. Verwenden Sie das öffentliche und private IBM Cloud-Netzwerk. Endpunkte sind sowohl im öffentlichen Internet als auch intern in IBM Cloudsichtbar.

Sie können diese Auswahl zur Bereitstellungszeit über die Seite Event Streams für die Katalogbereitstellung treffen. Verwenden Sie das Dropdown-Menü Dienst-Endpunkte, um entweder Öffentlich (Standard), Privat oder Öffentlich und Privat auszuwählen.

Wenn Sie die Befehlszeilenschnittstelle (CLI) zum Bereitstellen eines Event Streams-Service verwenden möchten, können Sie alternativ die folgenden Befehle verwenden.

  • So aktivieren Sie öffentliche Endpunkte (Standardeinstellung):

    ibmcloud resource service-instance-create <instance-name> messagehub ibm.message.hub.enterprise.3nodes.2tb <region> --service-endpoints public
    
  • Zum Aktivieren nur privater Endpunkte:

    ibmcloud resource service-instance-create <instance-name> messagehub ibm.message.hub.enterprise.3nodes.2tb <region> --service-endpoints private
    
  • So aktivieren Sie sowohl private als auch öffentliche Endpunkte:

    ibmcloud resource service-instance-create <instance-name> messagehub ibm.message.hub.enterprise.3nodes.2tb <region> --service-endpoints public-and-private
    

Netzkonfiguration aktualisieren

Sie können auch die Endpunkte wechseln, die Ihr Enterprise-Cluster nach der Bereitstellung verwendet. Verwenden Sie dazu die folgenden CLI-Befehle:

Gehen Sie wie folgt vor, um direkt von öffentlichen oder privaten auf öffentliche und private Endpunkte zu migrieren:

ibmcloud resource service-instance-update <instance-name> --service-endpoints public-and-private

Gehen Sie wie folgt vor, um von öffentlichen und privaten auf öffentliche Endpunkte zu migrieren:

ibmcloud resource service-instance-update <instance-name> --service-endpoints public

Gehen Sie wie folgt vor, um von öffentlichen und privaten auf private Endpunkte zu migrieren:

ibmcloud resource service-instance-update <instance-name> --service-endpoints private

Der direkte Wechsel von öffentlichen zu privaten Endpunkten oder von privaten zu öffentlichen Endpunkten wird nicht unterstützt. Der Switch inaktiviert alle öffentlichen Endpunkte und Ihre Anwendungen verlieren den Zugriff auf den Cluster. Um dies zu vermeiden, aktivieren Sie zunächst sowohl öffentliche als auch private Endpunkte, konfigurieren Sie dann die Anwendungen so um, dass sie private Endpunkte verwenden, und wechseln Sie schließlich zu ausschließlich privaten Endpunkten.

Gehen Sie beispielsweise wie folgt vor, um von öffentlichen auf private Endpunkte zu migrieren:

Aktivieren Sie zunächst sowohl öffentliche als auch private Endpunkte:

ibmcloud resource service-instance-update <instance-name> --service-endpoints public-and-private

Erstellen Sie als Nächstes einen neuen Berechtigungsnachweis, der private Endpunkte und einen neuen API-Schlüssel enthält, wie folgt:

ibmcloud resource service-key-create <private-key-name> <role> --instance-name <instance-name> --service-endpoint private

Aktualisieren Sie anschließend alle Anwendungen, die die Instanz verwenden, mit dem neuen Serviceschlüssel und den Endpunktdetails.

Nachdem die Anwendungen auf die privaten Endpunkte migriert wurden, führen Sie den folgenden Befehl aus, um die öffentlichen Endpunkte zu deaktivieren:

ibmcloud resource service-instance-update <instance-name> --service-endpoints private

IP-Zulassungsliste angeben (veraltet)

Dieses Feature ist jetzt veraltet. Verwenden Sie stattdessen kontextbasierte Einschränkungen CBR konfigurieren.

Wenn Sie eine Instanz des Enterprise-Plans bereitstellen, private Endpunkte auswählen und den Zugriff auf bekannte VSIs mit bestimmten VPCs weiter einschränken möchten, können Sie über die Befehlszeilenschnittstelle eine IP-Zulassungsliste hinzufügen und wie folgt anhängen:

ibmcloud resource service-instance-create <instance-name> <plan-name> <region> --service-endpoints private -p '{"private_ip_allowlist":["CIDR1","CIDR2"]}' "

wobei CIDR1, CIDR2 IP-Adressen der Form a.b.c.d/e sind. Das Array von CIDRs kann eine beliebige Anzahl von Elementen aufweisen.

Führen Sie alternativ die folgenden Schritte aus, um die IP-Zulassungsliste für eine vorhandene Serviceinstanz zu aktualisieren:

  1. Erhalten Sie die ursprüngliche IP-Zulassungsliste, die auf die Instanz angewendet wurde:

    $ibmcloud es init -i <instance-name>
    API Endpoint:		https://mh-cktmqpdbvkfczhmn.us-south.containers.appdomain.cloud
    Service endpoints:	public-and-private
    Private IP allowlist:	"10.243.0.8/32","10.243.128.8/32","10.243.64.4/32"
    Storage size:		4096 GB
    Throughput:		300 MB/s
    OK
    
  2. Fügen Sie CIDRs in der Zulassungsliste für private IP-Adressen (Private IP allowlist) hinzu oder löschen Sie CIDRs.

  3. Führen Sie den folgenden Befehl aus, um die Serviceinstanz mit der neuen Liste zu aktualisieren:

    ibmcloud resource service-instance-update <instance-name> --service-endpoints private -p '{"private_ip_allowlist":["CIDR1","CIDR2"]}'
    

    wobei CIDR1, CIDR2 IP-Adressen der Form a.b.c.d/e sind

Wenn der private Endpunkt über die Befehlszeilenschnittstelle aktiviert wird und Sie das nächste Mal die private IP-Zulassungsliste aktualisieren, können Sie --service-endpoints private weglassen.

Das Umschalten von IP-Zulassungslisten deaktiviert alle zugelassenen IP-Adressen, die nicht in der neuen Liste enthalten sind. Anwendungen, die von diesen Adressen auf den Cluster zugreifen, verlieren den Zugriff auf den Cluster.

Endpunktinformationen abrufen

Die Endpunktinformationen für Ihre Serviceinstanz sind für den Netztyp spezifisch. Serviceinstanzen, für die sowohl der öffentliche als auch der private Netzbetrieb ausgewählt ist, verfügen jeweils über einen Endpunkt.

Sie können die Endpunktinformationen für den erforderlichen Netztyp mit der Option --service-endpoint des CLI-Befehls service-key-create wie folgt abrufen:

ibmcloud resource service-key-create <private-key-name> <role> --instance-name <instance-name> --service-endpoint private

Zugriff auf die IBM Event Streams-Konsole

Auf die Konsole kann weiterhin zugegriffen werden, wenn ein öffentliches Netzwerk für die Instanz verfügbar ist, einschließlich öffentlich und öffentlich-privat.

Auf die Konsole kann nicht zugegriffen werden, wenn nur ein privates Netzwerk ausgewählt und eine kontextbasierte Einschränkung aufgrund technischer Beschränkungen eingerichtet ist. CLI wird empfohlen, um alle administrativen Vorgänge durchzuführen. z.B. ibmcloud es topic-create [--name] TOPIC_NAME [--partitions PARTITIONS] [--config KEY=VALUE[;KEY=VALUE]* ]*

Kontextbasierte Einschränkungen konfigurieren

Sie können Regeln definieren, die die Netzadressen begrenzen, von denen Verbindungen akzeptiert werden. Beispielsweise nach Netztyp, IP-Bereichen, VPC oder anderen Services. Weitere Informationen finden Sie unter Was sind kontextbasierte Einschränkungen?

Kontextbasierte Einschränkungen können sowohl für Standard-als auch für Enterprise Plan Event Streams-Instanzen definiert werden. Wenn kontextbasierte Einschränkungsregeln definiert sind, gelten die folgenden Regeln:

  • Admin-REST-API, REST-Producer-API, Schemaregistry-API und Kafka-Clientaufrufe unterliegen dem Geltungsbereich von kontextbasierten Einschränkungsregeln, die für eine Event Streams-Instanz erstellt werden.

  • The Administration functions for the service instance itself (for example the IBM Cloud CLI service-instance-create, service-instance-delete or service-instance-update commands, or equivalent) are not under the scope of the context-based restrictions rules that are created against an Event Streams instance.

Einstellungen für kontextbasierte Einschränkungen verwalten

Das Erstellen von Regeln für kontextbasierte Einschränkungen ist ein zweistufiger Prozess:

  1. Erstellen Sie eine Netzzone mit einer Liste zulässiger IP-Adressen, zulässiger VPCs oder verweisen Sie auf einen Service. Weitere Informationen finden Sie unter Netzzonen erstellen.

  2. Erstellen Sie Regeln, die mindestens eine Netzzone für die Ressource Event Streams angeben. Weitere Informationen zur Regelerstellung finden Sie unter Regeln erstellen.

Als Nächstes sollten Sie die folgenden Überlegungen anstellen:

  • Sie müssen der Kontobesitzer sein oder über eine Zugriffsrichtlinie mit der Administratorrolle für alle Kontoverwaltungsdienste verfügen, um den Zugriff zu beschränken.
  • Nach dem Erstellen oder Aktualisieren einer Zone oder Regel kann es einige Minuten (bis zu 10 Minuten) dauern, bis die Änderung wirksam wird.
  • Nachdem kontextbasierte Einschränkungen angewendet wurden, werden sie nur für Clients erzwungen, die sich authentifizieren, nachdem die Regel erstellt wurde. Vorhandene Clients sollten sich erneut authentifizieren, damit Einschränkungsregeln durchgesetzt werden.

Verbindungen zwischen Services (Service-zu-Service) mit kontextbasierten Einschränkungen unterstützen

Wenn eine Event Streams-Serviceinstanz für die Verwendung der vom Kunden verwalteten Verschlüsselung konfiguriert ist, muss dem Service auch die Möglichkeit erteilt werden, eine Verbindung zu den ausgewählten IBM Key Management Services herzustellen.

Der Administrator des Kontos kann dies wie folgt konfigurieren:

  1. Fügen Sie eine Servicereferenz für den Service Event Streams zur erforderlichen Netzzone hinzu.
  2. Stellen Sie sicher, dass der Zugriff über diese Zone über die kontextbasierten Einschränkungsregeln zulässig ist, die für andere Cloud-Services gelten.

Weitere Informationen zur Erstellung von Servicereferenzen finden Sie unter Servicereferenzen.

Koexistenz von Regeln für kontextbasierte Einschränkungen und privaten IP-Zulassungslisten

Kontextbasierte Einschränkungsregeln ersetzen jetzt die Verwendung von privaten IP-Zulassungslisten als empfohlene Methode für die Implementierung von Zulassungslisten für eine Event Streams-Instanz. Die Verwendung von privaten IP-Zulassungslisten wird weiterhin unterstützt, ist aber veraltet.

Wenn sowohl kontextbasierte Einschränkungsregeln als auch IP-Zulassungslisten für dieselbe Event Streams-Instanz definiert werden, wird die IP-Zulassungsliste ignoriert, da die kontextbasierten Einschränkungsregeln alle vorherigen privaten IP-Zulassungslisten überschreiben.

Migration von privaten IP-Zulassungslisten auf kontextbasierte Einschränkungen

Der Kunde ist für die Migration verantwortlich. Sie können IP-Zulassungslistendefinitionen erneut als kontextbasierte Einschränkungsnetzzonen erstellen und sie auf die Serviceinstanz anwenden, indem Sie eine kontextbasierte Einschränkungsregel erstellen. Anschließend können Sie die vorherige Zulassungsliste für private IP-Adressen löschen.