Limitazione dell'accesso alla rete
Per impostazione predefinita, le istanze Event Streams sono configurate per utilizzare la rete pubblica IBM Cloud®, in modo che siano accessibili su Internet pubblico.
Se necessario, è possibile utilizzare il tipo di rete o le limitazioni basate sul contesto per limitare la connettività di rete nel modo seguente:
- Tipo di rete
-
IBM Cloud offre una rete pubblica e privata. Se il tuo carico di lavoro è interamente in esecuzione all'interno delle istanze IBM Cloud, e l'accesso pubblico al servizio non è richiesto, le istanze Event Streams possono essere configurate per essere accessibili solo sulla rete privata IBM Cloud. Questo offre un maggiore isolamento e non comporta i costi della larghezza di banda in uscita associati al traffico pubblico. Le istanze possono anche essere configurate per essere accessibili su entrambe le reti pubbliche e private IBM Cloud, dove il tuo carico di lavoro può utilizzare l'interfaccia più appropriata per la sua posizione. Puoi trovare ulteriori informazioni sulla rete privata in Virtual routing and forwarding on IBM Cloud.
- Restrizioni basate sul contesto (CBR)
-
È possibile definire regole di accesso che limitano le ubicazioni di rete da cui vengono accettate le connessioni. Ad esempio, tipo di rete, intervalli IP, VPC o altri servizi. Per ulteriori informazioni, consultare Quali sono le limitazioni basate sul contesto.
-
Gli eventi di controllo per le restrizioni basate sul contesto sono pubblicati sotto le restrizioni basate sul contesto IBM Cloud Activity Tracker eventi Eventi delle regole di restrizioni basate sul contesto. Gli eventi Activity Tracker relativi all'applicazione CBR non sono disponibili sugli endpoint privati.
Configurazione del tipo di rete
Puoi configurare le istanze del servizio aziendale in modo che siano disponibili nelle reti private, pubbliche o private e pubbliche IBM Cloud. Le seguenti informazioni descrivono come selezionare e aggiornare il tipo di rete richiesto. La rete pubblica è selezionata per impostazione predefinita.
Prerequisiti
Assicurati di completare le seguenti attività:
-
Crea la tua istanza del servizio utilizzando il piano Enterprise in una delle ubicazioni multizona supportate. Per ulteriori informazioni, consultare Scegliere il piano.
-
Abilita VRF(Virtual Route Forwarding) per il tuo conto IBM Cloud.
-
Abilitare la connettività degli endpoint del servizio eseguendo il seguente comando:
ibmcloud account update --service-endpoint-enable truePer verificare se i prerequisiti sono stati completati, eseguire il seguente comando e verificare se le seguenti due proprietà sono vere:
ibmcloud account show VRF Enabled: true Service Endpoint Enabled: true
Selezione di una configurazione di rete durante il provisioning
Hai una serie di opzioni per selezionare la configurazione di rete del tuo cluster Enterprise.
-
Utilizza la rete pubblica IBM Cloud. Gli endpoint sono accessibili su Internet pubblico. Questo è il valore predefinito.
-
Utilizzare la rete privata IBM Cloud. Gli endpoint non sono visibili su Internet pubblico.
-
Utilizza la rete pubblica e privata IBM Cloud. Gli endpoint sono visibili sia su internet pubblico che internamente all'interno di IBM Cloud.
Puoi effettuare questa selezione al momento del provisioning tramite la pagina di provisioning del catalogo di Event Streams. Utilizza il menu a discesa Endpoint del servizio per selezionare Pubblico (predefinito), Privato o Pubblico e privato.
In alternativa, se vuoi utilizzare la CLI per eseguire il provisioning di un servizio Event Streams, utilizza i seguenti comandi:
-
Per abilitare gli endpoint pubblici (impostazione predefinita):
ibmcloud resource service-instance-create <instance-name> messagehub ibm.message.hub.enterprise.3nodes.2tb <region> --service-endpoints public -
Per abilitare gli endpoint solo privati:
ibmcloud resource service-instance-create <instance-name> messagehub ibm.message.hub.enterprise.3nodes.2tb <region> --service-endpoints private -
Per abilitare gli endpoint privati e pubblici:
ibmcloud resource service-instance-create <instance-name> messagehub ibm.message.hub.enterprise.3nodes.2tb <region> --service-endpoints public-and-private
Aggiornamento della configurazione di rete
È anche possibile commutare gli endpoint utilizzati dal cluster Enterprise dopo il provisioning. A tal fine, utilizzare i seguenti comandi CLI:
Per migrare direttamente da endpoint pubblici o privati a endpoint pubblici e privati:
ibmcloud resource service-instance-update <instance-name> --service-endpoints public-and-private
Per migrare da endpoint pubblici e privati a endpoint pubblici:
ibmcloud resource service-instance-update <instance-name> --service-endpoints public
Per migrare da endpoint pubblici e privati a endpoint privati:
ibmcloud resource service-instance-update <instance-name> --service-endpoints private
Il passaggio direttamente da endpoint pubblici a endpoint privati o da endpoint privati a endpoint pubblici non è supportato. Lo switch disabilita tutti gli endpoint pubblici e le tue applicazioni perdono l'accesso al cluster. Per evitare ciò, abilitare prima gli endpoint pubblici e privati, quindi riconfigurare le applicazioni per utilizzare gli endpoint privati e infine passare agli endpoint solo privati.
Ad esempio, per migrare da endpoint pubblici a privati:
Innanzitutto, abilitare gli endpoint pubblici e privati:
ibmcloud resource service-instance-update <instance-name> --service-endpoints public-and-private
Successivamente, crea una nuova credenziale che contiene endpoint privati e una nuova chiave API, come segue:
ibmcloud resource service-key-create <private-key-name> <role> --instance-name <instance-name> --service-endpoint private
Quindi, aggiorna tutte le applicazioni che utilizzano l'istanza con la nuova chiave di servizio e i dettagli dell'endpoint.
Infine, dopo che le applicazioni sono state migrate agli endpoint privati, eseguire il seguente comando per disattivare gli endpoint pubblici:
ibmcloud resource service-instance-update <instance-name> --service-endpoints private
Specifica di un elenco IP consentiti (obsoleto)
Questa funzione è ora obsoleta, utilizzare invece le limitazioni basate sul contesto Configurazione di CBR.
Quando esegui il provisioning di un'istanza del piano Enterprise, seleziona gli endpoint privati e vuoi limitare ulteriormente l'accesso solo alle VSI note con specifici VPC, puoi aggiungere un elenco di IP consentiti utilizzando la CLI e accodando come segue:
ibmcloud resource service-instance-create <instance-name> <plan-name> <region> --service-endpoints private -p '{"private_ip_allowlist":["CIDR1","CIDR2"]}' "
dove CIDR1, CIDR2 sono indirizzi IP nel formato a.b.c.d/e. L'array di CIDR può avere qualsiasi numero di elementi.
In alternativa, per aggiornare l'elenco di IP consentiti per un'istanza del servizio esistente, completa la seguente procedura:
-
Ottenere l'IP allowlist originale applicato all'istanza:
$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 -
Aggiungere o eliminare i CIDR da
Private IP allowlist. -
Esegui il seguente comando per aggiornare l'istanza del servizio con un nuovo elenco:
ibmcloud resource service-instance-update <instance-name> --service-endpoints private -p '{"private_ip_allowlist":["CIDR1","CIDR2"]}'dove CIDR1, CIDR2 sono indirizzi IP nel formato a.b.c.d/e
Se l'endpoint privato viene abilitato utilizzando la CLI, la volta successiva che aggiorni l'elenco di IP privati consentiti, puoi omettere --service-endpoints private.
La commutazione di elenchi IP consentiti disabilita qualsiasi indirizzo IP consentito non presente nel nuovo elenco. Le applicazioni che accedono al cluster da tali indirizzi perdono l'accesso al cluster.
Richiamo delle informazioni sull'endpoint
Le informazioni sull'endpoint per la tua istanza del servizio sono specifiche del tipo di rete. Le istanze del servizio con reti pubbliche e private selezionate hanno un endpoint per ciascuna.
È possibile recuperare le informazioni sull'endpoint per il tipo di rete richiesto utilizzando l'opzione --service-endpoint del comando CLI service-key-create nel modo seguente:
ibmcloud resource service-key-create <private-key-name> <role> --instance-name <instance-name> --service-endpoint private
Accesso alla console IBM Event Streams
La console continua a essere accessibile se per l'istanza è disponibile una rete pubblica, compresa quella pubblica e quella privata.
La console non sarà accessibile se è stata selezionata la rete privata e se è stata impostata una restrizione basata sul contesto a causa di una limitazione tecnica. Si consiglia di utilizzare la CLI per eseguire qualsiasi operazione amministrativa,
ad esempio ibmcloud es topic-create [--name] TOPIC_NAME [--partitions PARTITIONS] [--config KEY=VALUE[;KEY=VALUE]* ]*
Configurazione delle limitazioni basate sul contesto
È possibile definire regole che limitano le ubicazioni di rete da cui vengono accettate le connessioni. Ad esempio, per tipo di rete, intervalli IP, VPC o da altri servizi. Per ulteriori informazioni, consultare Cosa sono le limitazioni basate sui contesti
Le limitazioni basate sul contesto possono essere definite sia per le istanze del piano Standard che Enterprise Event Streams. Quando vengono definite regole di restrizioni basate sul contesto, si applicano le seguenti regole:
-
L'API REST Admin, l'API Producer REST, l'API Registro schema e le chiamate client Kafka si trovano nell'ambito delle regole di limitazioni basate sul contesto create rispetto a un'istanza Event Streams.
-
Le funzioni di amministrazione per l'istanza del servizio (ad esempio, i comandi IBM Cloud
service-instance-create,service-instance-deleteoservice-instance-updateo equivalenti) non rientrano nell'ambito delle regole di restrizioni basate sul contesto create rispetto a un'istanza Event Streams.
Gestione delle impostazioni delle limitazioni basate sul contesto
La creazione di regole di limitazioni basate sul contesto è un processo in due fasi:
-
Creare una zona di rete con un elenco di indirizzi IP consentiti, VPC consentiti o fare riferimento a un servizio. Per ulteriori informazioni, vedi Creazione di zone di rete.
-
Crea regole che specificano una o più zone di rete rispetto alla risorsa Event Streams. Per ulteriori informazioni sulla creazione di regole, vedi Creazione di regole.
Quindi, tenere presenti le seguenti considerazioni:
- Per limitare l'accesso, devi essere il proprietario dell'account o avere una politica di accesso con il ruolo di amministratore su tutti i servizi di gestione dell'account.
- Dopo aver creato o aggiornato una zona o una regola, l'applicazione della modifica può richiedere alcuni minuti (fino a 10 minuti).
- Una volta applicate le restrizioni basate sul contesto, vengono applicate solo ai client che eseguono l'autenticazione dopo la creazione della regola. I client esistenti devono eseguire nuovamente l'autenticazione per applicare le regole di limitazione.
Supporto delle connessioni tra servizi (service - to - service) con restrizioni basate sul contesto
Se un'istanza del servizio Event Streams è configurata per utilizzare la crittografia gestita dal cliente ( customer - managed encryption), al servizio deve essere anche concessa la possibilità di connettersi ai IBM Key Management Services selezionati.
L'amministratore dell'account può impostare quanto segue:
- Aggiungi un riferimento al servizio per il servizio Event Streams alla zona di rete richiesta.
- Assicurati che l'accesso da questa zona sia consentito tramite le regole di restrizioni basate sul contesto applicabili ad altri servizi cloud.
Per ulteriori informazioni sulla creazione di riferimenti di servizi, consultare Riferimenti di servizi.
Coesistenza di regole di restrizioni basate sul contesto e di elenchi di IP privati consentiti
Le regole di restrizioni basate sul contesto ora sostituiscono l'utilizzo degli IP consentiti privati come approccio consigliato per l'implementazione di allowlist rispetto a un'istanza Event Streams. L'utilizzo degli IP consentiti privati continua ad essere supportato ma è ora obsoleto.
Se entrambe le regole di limitazioni basate sul contesto e gli IP allowlist sono definiti rispetto alla stessa istanza Event Streams, l'IP allowlist viene ignorato perché le regole di restrizioni basate sul contesto sovrascrivono qualsiasi IP privato precedente allowlist.
Migrazione da elenchi di IP privati a restrizioni basate sul contesto
Il cliente è responsabile della migrazione. Puoi creare nuovamente le definizioni dell'elenco di IP consentiti come zone di rete di restrizioni basate sul contesto e applicarle all'istanza del servizio creando una regola di limitazioni basata sul contesto. È quindi possibile eliminare l'elenco di IP privati precedenti.