Aggiunta delle porte e degli indirizzi IP richiesti alle liste di autorizzazione

Cloud privato virtuale

Le informazioni relative a questa lista di autorizzazioni riguardano specificatamente i cluster VPC. Per informazioni sull'allowlist dei cluster classici, consultare la sezione " Apertura delle porte e degli indirizzi IP richiesti nell'allowlist per i cluster classici ".

Apertura delle porte in un elenco di autorizzazioni aziendale

Se le politiche di rete aziendali impediscono l'accesso dal proprio sistema locale agli endpoint pubblici tramite proxy o liste di autorizzazione, è necessario consentire l'esecuzione dei comandi ibmcloud, ibmcloud oc e ibmcloud cr, dei comandi oc e dei comandi calicoctl dal proprio sistema locale.

Esecuzione dei comandi ibmcloud, ibmcloud oc e ibmcloud cr da una lista di indirizzi autorizzati

Se le politiche di rete aziendali impediscono l'accesso dal proprio sistema locale agli endpoint pubblici tramite proxy o liste di autorizzazione, per eseguire i comandi ibmcloud, ibmcloud oc e ibmcloud cr è necessario consentire l'accesso TCP per IBM Cloud, Red Hat OpenShift on IBM Cloud e IBM Cloud Container Registry.

  1. Aggiungi cloud.ibm.com alla tua lista dei siti autorizzati, consentendo l'accesso alla porta 443.

  2. Verifica la tua connessione accedendo a IBM Cloud tramite questo endpoint API.

    ibmcloud login -a https://cloud.ibm.com/
    
  3. Aggiungi containers.cloud.ibm.com alla tua lista dei siti autorizzati, consentendo l'accesso alla porta 443.

  4. Verifica la tua connessione. Se l'accesso è configurato correttamente, nell'output vengono visualizzati messaggi simili ai seguenti.

    curl https://containers.cloud.ibm.com/global/v1/versions
    

    Output di esempio

    {"kubernetes":[{"major":1,"minor":19,"patch":16,"default":false,"end_of_service":""},{"major":1,"minor":20,"patch":13,"default":false,"end_of_service":""},{"major":1,"minor":21,"patch":7,"default":true,"end_of_service":""},{"major":1,"minor":22,"patch":4,"default":false,"end_of_service":""}],"openshift":[{"major":3,"minor":11,"patch":542,"default":false,"end_of_service":"2022-06-06T12:00:00+0000"},{"major":4,"minor":6,"patch":47,"default":false,"end_of_service":""},{"major":4,"minor":7,"patch":37,"default":false,"end_of_service":""},{"major":4,"minor":8,"patch":21,"default":true,"end_of_service":""}]}
    
  5. Consenti l'accesso alle regioniIBM Cloud Container Registry che intendi utilizzare sulla porta 443 nel tuo allowlist. Il registro globale archivia le immagini pubbliche fornite da IBM e i registri regionali archiviano le tue proprie immagini pubbliche e private. Se la tua lista di autorizzazioni è basata sugli indirizzi IP, puoi verificare quali indirizzi IP sono abilitati quando consenti l'accesso agli endpoint del servizio regionale IBM Cloud Container Registry consultando questa tabella.

  6. Verifica la tua connessione. Il seguente è un esempio per il registro regionale Stati Uniti Est e Stati Uniti Sud. Se l'accesso è configurato correttamente, nell'output viene restituito un messaggio del giorno. Notare che se non ci sono messaggi, viene restituito un 204.

    curl -i https://us.icr.io/api/v1/messages
    

Esecuzione di comandi oc da dietro un allowlist

Se le politiche di rete aziendali impediscono l'accesso dal proprio sistema locale agli endpoint pubblici tramite proxy o liste di autorizzazione, per eseguire i comandi oc è necessario consentire l'accesso TCP per il cluster.

Quando viene creato un cluster, la porta presente negli URL degli endpoint di servizio viene assegnata in modo casuale all'interno dell'intervallo compreso tra 30000 e 32767. È possibile scegliere se aprire l'intervallo di porte 30000-32767 per qualsiasi cluster che possa essere creato oppure consentire l'accesso a un cluster specifico già esistente.

Prima di cominciare, consenti l'accesso per eseguire i comandi ibmcloud oc.

Per concedere l'accesso per un cluster specifico:

  1. Accedi alla CLI IBM Cloud. Immetti le tue credenziali IBM Cloud quando richiesto. Se hai un account federato, includi l'opzione --sso.

    ibmcloud login [--sso]
    
  2. Se il cluster si trova in un gruppo di risorse diverso da quello di default, specifica tale gruppo di risorse. Per visualizzare il gruppo di risorse a cui appartiene ciascun cluster, esegui ibmcloud oc cluster ls. Nota: devi disporre almeno del ruolo Visualizzatore per il gruppo di risorse.

    ibmcloud target -g RESOURCE_GROUP_NAME
    
  3. Richiama il nome del tuo cluster.

    ibmcloud oc cluster ls
    
  4. Richiama gli URL degli endpoint del servizio per il tuo cluster.

    • Se viene popolato solo il campo Private Service Endpoint URL, ottieni questo URL. I tuoi utenti del cluster autorizzati possono accedere al master tramite questo endpoint sulla rete privata.
    • Se vengono popolati entrambi i campi Public Service Endpoint URL e Private Service Endpoint URL, ottieni i due URL. I tuoi utenti del cluster autorizzati possono accedere al master tramite l'endpoint pubblico sulla rete pubblica o l'endpoint privato sulla rete privata.
    ibmcloud oc cluster get --cluster CLUSTER_NAME_OR_ID
    

    Output di esempio

    ...
    Public Service Endpoint URL:    https://c3.<region>.containers.cloud.ibm.com:30426
    Private Service Endpoint URL:   https://c3-private.<region>.containers.cloud.ibm.com:31140
    ...
    
  5. Consenti l'accesso agli URL e alle porte degli endpoint del servizio che hai ottenuto nel passo precedente. Se la tua lista di autorizzazioni è basata sugli indirizzi IP, puoi verificare quali indirizzi IP sono abilitati quando consenti l'accesso agli URL degli endpoint del servizio consultando questa tabella.

  6. Verifica la tua connessione.

    • Se l'endpoint del servizio cloud pubblico è abilitato:
        curl --insecure <public_service_endpoint_URL>/version
        ```
        Comando di esempio
        ```sh {: pre}
        curl --insecure https://c3.<region>.containers.cloud.ibm.com:31142/version
        ```
        Output di esempio
        ```json {: screen}
        {
            "major": "1",
            "minor": "7+",
            "gitVersion": "v1.7.4-2+eb9172c211dc41",
            "gitCommit": "eb9172c211dc4108341c0fd5340ee5200f0ec534",
            "gitTreeState": "clean",
            "buildDate": "2017-11-16T08:13:08Z",
            "goVersion": "go1.8.3",
            "compiler": "gc",
            "platform": "linux/amd64"
        }
        ```
    * Se è abilitato solo l'endpoint del servizio cloud privato, è necessario trovarsi all'interno della rete privata IBM Cloud oppure connettersi alla rete privata tramite una connessione VPN per verificare la connessione al master. **Nota**: devi [esporre l'endpoint master tramite un programma di bilanciamento del carico privato](/docs/openshift?topic=openshift-cluster-access-private-vpc) in modo che gli utenti possano accedere al master tramite una VPN o una connessione IBM Cloud&reg; Direct Link.
    ```sh {: pre}
        curl --insecure <private_service_endpoint_URL>/version
        ```
        Comando di esempio
        ```sh {: pre}
        curl --insecure https://c3-private.<region>.containers.cloud.ibm.com:31142/version
        ```
        Output di esempio
        ```json {: screen}
        {
            "major": "1",
            "minor": "7+",
            "gitVersion": "v1.7.4-2+eb9172c211dc41",
            "gitCommit": "eb9172c211dc4108341c0fd5340ee5200f0ec534",
            "gitTreeState": "clean",
            "buildDate": "2017-11-16T08:13:08Z",
            "goVersion": "go1.8.3",
            "compiler": "gc",
            "platform": "linux/amd64"
        }
        ```
    
  7. Facoltativo: ripeti questa procedura per ogni cluster che devi esporre.

Esecuzione di comandi calicoctl da dietro un allowlist

Se le politiche di rete aziendali impediscono l'accesso dal proprio sistema locale agli endpoint pubblici tramite proxy o liste di autorizzazione, per eseguire i comandi calicoctl è necessario consentire l'accesso TCP per i comandi Calico.

Prima di cominciare, consenti l'accesso per eseguire i comandi ibmcloud e i comandi oc.

  1. Richiama l'indirizzo IP dall'URL master che hai utilizzato per consentire i comandi oc.

  2. Ottieni la porta per etcd.

    oc get cm -n kube-system cluster-info -o yaml | grep etcd_host
    
  3. Consenti l'accesso alle politiche Calico tramite l'indirizzo IP dell'URL master e la porta etcd.

Concessione dell'accesso al registro di immagini Red Hat OpenShift in un allowlist

Se si configura un percorso esterno sicuro per il registro delle immagini interno, oppure per accedere a un bucket di IBM Cloud Object Storage che esegue il backup del registro delle immagini interno in un cluster VPC, è necessario autorizzare l'accesso per il registro interno e per gli endpoint IBM Cloud Object Storage nell'elenco delle autorizzazioni aziendali.

  1. Se si crea un percorso esterno per il registro delle immagini interno Red Hat OpenShift, è necessario consentire l'accesso al dominio *.containers.appdomain.cloud in modo da poter accedere al percorso image-registry-openshift-image-registry.<cluster_name>-<ID_string>.<region>.containers.appdomain.cloud dalla rete aziendale.

  2. Cluster VPC: se è necessario accedere a un bucket di IBM Cloud Object Storage che contiene il backup del registro delle immagini interno Red Hat OpenShift, oppure se è necessario accedere in altro modo a IBM Cloud Object Storage dalla rete aziendale, consentire l'accesso al dominio *.cloud-object-storage.appdomain.cloud.

Consentire il traffico proveniente dal proprio cluster nelle liste di autorizzazione di altri servizi o nelle liste di autorizzazione on-premises

Consenti ai tuoi nodi di lavoro di comunicare con i servizi protetti da elenchi di autorizzazione.

Ad esempio, potresti avere servizi che girano all’interno o all’esterno di IBM Cloud, oppure servizi che girano in locale, protetti da una lista di autorizzazioni. Vuoi consentire il traffico di rete in entrata a tali servizi dal tuo cluster. Nell'elenco delle eccezioni del tuo servizio, devi aggiungere gli indirizzi IP esterni dei gateway pubblici presenti nelle sottoreti VPC del tuo cluster.

Se desideri consentire il traffico in uscita dai tuoi servizi protetti dall'allowlist verso il tuo cluster, devi aggiungere gli indirizzi IP privati dei tuoi nodi worker o i CIDR delle sottoreti VPC del tuo cluster all'allowlist del tuo servizio. Tieni presente che, poiché i nodi di lavoro nei cluster VPC hanno solo indirizzi IP privati, le connessioni ai nodi di lavoro del cluster VPC possono provenire solo dai sistemi connessi alla tua rete privata IBM Cloud.

Prima di iniziare

  1. Accedi al tuo cluster Red Hat OpenShift.
  2. Installa il plugin della CLI infrastructure-service. Il prefisso per l'esecuzione dei comandi dell'infrastruttura VPC è ibmcloud is.
    ibmcloud plugin install infrastructure-service
    

Consentire l'accesso da un cluster a un altro servizio

Per consentire l'ingresso dal tuo cluster a un altro servizio, modifica la allowlist di tale servizio o la allowlist in loco.

  1. Ottieni le Worker Zones e i VPCs in cui è stato creato il tuo cluster.

    ibmcloud oc cluster get -c <cluster>
    

    Output di esempio

    ...
    Worker Zones:                   us-south-1, us-south-2, us-south-3
    Ingress Subdomain:              vpc-prod.us-south.containers.appdomain.cloud
    Ingress Secret:                 vpc-prod
    Creator:                        -
    Public Service Endpoint URL:    https://c2.us-south.containers.cloud.ibm.com:20267
    Private Service Endpoint URL:   https://c2.private.us-south.containers.cloud.ibm.com:20267
    Pull Secrets:                   enabled in the default namespace
    VPCs:                           ff537d43-a5a4-4b65-9627-17eddfa5237b
    ...
    
  2. Per le zone di lavoro e i VPC che hai trovato, assicurati di aver abilitato un gateway pubblico sulle sottoreti VPC in ogni zona di lavoro.

  3. Elenca i gateway pubblici per le sottoreti. Nell'output, per le zone e i VPC in cui si trova il tuo cluster, prendi nota degli indirizzi Floating IP del gateway per le sottoreti.

    ibmcloud is public-gateways
    

    Output di esempio

    ID                                     Name                                       Status      Floating IP      VPC              Zone
    5d308ea5-9f32-43b3-aaae-194d5723a3e5   pgw-b9d45630-c053-11e9-b2f8-79328ce05e7e   available   169.XX.XXX.XX    test-vpc         us-south-1
    f8b95e43-a408-4dc8-a489-ed649fc4cfec   pgw-18a3ebb0-b539-11e9-9838-f3f4efa02374   available   169.XX.XXX.XX    prod             us-south-1
    2ba9a280-fffa-4b0c-bdca-7970f09f9b8a   pgw-73b62bc0-b53a-11e9-9838-f3f4efa02374   available   169.XX.XXX.XX    prod             us-south-2
    057ddef6-631f-4b22-89eb-1e99982a54fa   pgw-64c5cae0-0be2-11ea-8f26-e1565e79a36c   available   52.XX.XXX.XXX    prod             us-south-3
    
  4. Aggiungi gli indirizzi IP del gateway pubblico all'elenco dei domini consentiti del tuo servizio o all'elenco dei domini consentiti locale per il traffico in entrata.

  5. Ripeti questi passi per ciascun cluster per il quale vuoi consentire il traffico in entrata o in uscita.

Consentire l'accesso a un cluster da un altro servizio

Per consentire l'uscita dal tuo cluster da un altro servizio, modifica l'elenco dei consentiti del servizio o il tuo elenco dei consentiti in loco.

  1. Ottieni le sottoreti o gli indirizzi IP del nodo di lavoro.
    • CIDR delle sottoreti dei nodi di lavoro: se prevedi di modificare frequentemente il numero di nodi di lavoro nel tuo cluster, ad esempio se abiliti la funzione di autoscalatura del cluster, potresti preferire non aggiornare l'elenco dei nodi autorizzati per ogni nuovo nodo di lavoro. Puoi invece aggiungere le sottoreti VPC utilizzate dal cluster. Tieni presente che la sottorete VPC potrebbe essere condivisa da nodi di lavoro in altri cluster.
      1. Ottieni le Worker Zones e i VPCs in cui è stato creato il tuo cluster.
        ibmcloud oc cluster get -c <cluster>
        
        Output di esempio
        ...
        Worker Zones:                   us-south-1, us-south-2, us-south-3
        Ingress Subdomain:              vpc-prod.us-south.containers.appdomain.cloud
        Ingress Secret:                 vpc-prod
        Creator:                        -
        Public Service Endpoint URL:    https://c2.us-south.containers.cloud.ibm.com:20267
        Private Service Endpoint URL:   https://c2.private.us-south.containers.cloud.ibm.com:20267
        Pull Secrets:                   enabled in the default namespace
        VPCs:                           ff537d43-a5a4-4b65-9627-17eddfa5237b
        ...
        
      2. Per le sottoreti nelle zone e VPC in cui si trova il tuo cluster, prendi nota del valore Subnet CIDR.
        ibmcloud is subnets
        
        Output di esempio
        ID                                     Name             Status      Subnet CIDR        Addresses   ACL                                                          Public Gateway                             VPC              Zone
        5f5787a4-f560-471b-b6ce-20067ac93439   vpc-prod-dal1    available   10.240.0.0/24      183/256     allow-all-network-acl-ff537d43-a5a4-4b65-9627-17eddfa5237b   -                                          prod             us-south-1
        e3c19786-1c54-4248-86ca-e60aab74ed62   vpc-prod-dal2    available   10.240.64.0/24     183/256     allow-all-network-acl-ff537d43-a5a4-4b65-9627-17eddfa5237b   -                                          prod             us-south-2
        2930a068-51cc-4eca-807b-3f296d0891b4   vpc-prod-dal3    available   10.240.128.0/24    249/256     allow-all-network-acl-ff537d43-a5a4-4b65-9627-17eddfa5237b   -                                          prod             us-south-3
        
    • Indirizzi IP dei singoli nodi di lavoro: se disponi di un numero limitato di nodi di lavoro che eseguono una sola applicazione e non richiedono scalabilità, oppure se desideri aggiungere un solo nodo di lavoro, elenca tutti i nodi di lavoro presenti nel tuo cluster e prendi nota degli indirizzi IP primari. Vengono aggiunti solo questi nodi di lavoro. Se si eliminano o si aggiungono nodi di lavoro al cluster, è necessario aggiornare di conseguenza l'elenco dei nodi autorizzati.
        ibmcloud oc worker ls --cluster <cluster_name_or_ID>
        ```
    
  2. Aggiungi i CIDR delle sottoreti o i singoli indirizzi IP dei nodi di lavoro all'elenco dei permessi del tuo servizio o all'elenco dei permessi locale per il traffico in uscita.
  3. Ripeti questi passi per ciascun cluster per il quale vuoi consentire il traffico in entrata o in uscita.

Apertura di porte nei gruppi di sicurezza VPC o nelle ACL VPC

Se si impostano gruppi di sicurezza VPC o liste di controllo degli accessi(ACL)VPC per proteggere la rete del cluster, assicurarsi di creare le regole per consentire al traffico necessario di comunicare con altri servizi IBM Cloud.

Aprire le porte richieste nelle liste pubbliche di permessi

Opzionale: Consentire il traffico di rete in entrata per il monitoraggio del sottodominio in ingresso

Se si desidera utilizzare il monitoraggio dello stato di salute del dominio Ingress per monitorare lo stato di salute degli endpoint del servizio, è necessario consentire l'accesso in entrata dai servizi di monitoraggio.

Per impostazione predefinita, le richieste di monitoraggio dello stato di salute vengono inviate attraverso HTTPS alla porta 443, pertanto è necessario consentire l'elenco del traffico proveniente dai seguenti intervalli IP e indirizzato alla porta 443. Se il monitor sanitario è configurato per utilizzare HTTP, il traffico dell'elenco di permessi deve essere indirizzato alla porta 80. Inoltre, se si utilizza una porta personalizzata TCP, assicurarsi di consentire il traffico in entrata su tale porta.

Per ulteriori informazioni, consultare la documentazione di IBM NS1 Connect sul monitoraggio.

IBM NS1 Connect Monitoraggio degli intervalli IP
  • 163.114.225.0/24
  • 163.114.230.0/24
  • 163.114.231.0/24

Aggiornamento degli elenchi di permessi IAM per le zone di rete di Kubernetes Service

Per impostazione predefinita, tutti gli indirizzi IP possono essere utilizzati per accedere alla console IBM Cloud ed eseguire azioni per gestire il cluster, come la creazione, l'aggiornamento, l'eliminazione o la visualizzazione delle credenziali. Nella console IBM Cloud IAM (Identity and Access Management), puoi creare una allowlist specificando quali indirizzi IP hanno accesso, limitando tutti gli altri indirizzi IP.

Se si sceglie di impostare un elenco di permessi IAM, è necessario includere una zona di rete che comprenda il sito Kubernetes Service. Altrimenti i cluster esistenti non funzioneranno correttamente. Questo perché il piano di controllo di Kubernetes Service deve essere in grado di contattare IAM per distribuire e gestire i servizi IBM necessari per il cluster. Seguire attentamente queste istruzioni prima di impostare l'elenco dei permessi di IBM.

Nella propria allowlist, è necessario configurare anche le zone di rete nel piano di controllo di Red Hat OpenShift on IBM Cloud per la regione in cui si trova il cluster, in modo che Red Hat OpenShift on IBM Cloud possa creare o accedere a componenti come gli ALB di ingresso o la console web di Red Hat OpenShift, che richiede tutti gli indirizzi IP del piano di controllo.

Prima di iniziare, i passaggi seguenti richiedono di modificare l'elenco delle autorizzazioni IAM per l'utente le cui credenziali vengono utilizzate per le autorizzazioni relative all'infrastruttura della regione e del gruppo di risorse del cluster. Se sei il proprietario delle credenziali, puoi modificare le tue impostazioni della allowlist IAM. Se non sei il titolare delle credenziali, ma ti è stato assegnato il ruolo di accesso alla piattaforma IAM di IBM Cloud "Editor" o "Amministratore" per il servizio di gestione degli utenti, puoi aggiornare le reti per conto del titolare delle credenziali.

  1. Accedere alla console IBM Cloud.

  2. Creare zone di rete che includano gli IP di Kubernetes Service per tutte le regioni o solo per le regioni in cui sono presenti i cluster.

    1. Nell'account in cui si trova il cluster, dalla barra dei menu, fare clic su Gestione > Restrizioni contestuali.

    2. Fare clic su Zone di rete > Crea.

    3. Per il Nome, inserire un nome descrittivo per la zona di rete, ad esempio us-south-kubernetes-service-network-zone.

    4. Non inserire alcun valore nelle sezioni Indirizzi IP consentiti e VPC consentiti.

    5. Nella sezione Riferimento a un servizio, selezionare Kubernetes Service e fare clic su +.

    6. Per le località, è possibile lasciare il campo vuoto in modo che vengano utilizzate tutte le località, il che si applica ai cluster di altre regioni, oppure specificare una singola regione.

    7. Fare clic su Avanti e rivedere le selezioni.

    8. Fai clic su Crea.

    9. Ripetere l'operazione per altre zone.

  3. Aggiungere i nomi delle zone di rete all'elenco di permessi IAM.

    1. Dalla barra dei menu, fai clic su Gestisci > Accesso (IAM) e seleziona Impostazioni.

    2. In Limitare l'accesso all'indirizzo IP, selezionare Abilita e fornire il nome della zona di rete dal passaggio precedente.

    3. Fai clic su Apply.