Crea criteri di rete per il traffico tra organizzazioni

Questa pagina fornisce istruzioni per configurare i criteri di rete per il traffico tra organizzazioni in Google Distributed Cloud (GDC) con air gap.

Il traffico tra organizzazioni si riferisce alla comunicazione tra servizi e carichi di lavoro di organizzazioni diverse.

Prima di iniziare

Per configurare i criteri di rete per il traffico tra organizzazioni, devi disporre di quanto segue:

Crea una policy di traffico tra organizzazioni

Puoi definire criteri di traffico in entrata o in uscita tra organizzazioni per gestire la comunicazione tra servizi e carichi di lavoro di organizzazioni diverse.

Il traffico tra organizzazioni si riferisce alla comunicazione tra servizi e carichi di lavoro di organizzazioni diverse.

Puoi creare criteri di rete di progetto per il traffico tra organizzazioni globali che si applicano al traffico in tutte le zone della tua organizzazione. Per saperne di più sulle risorse globali in un universo GDC, vedi Panoramica multizona.

Il collegamento di servizi e carichi di lavoro a una destinazione esterna al tuo progetto in un'altra organizzazione richiede un'approvazione esplicita. Per consentire il traffico tra organizzazioni, devi disattivare la protezione dall'esfiltrazione di dati.

Crea una regola firewall in entrata globale per il traffico tra organizzazioni

Quando esponi i carichi di lavoro nel tuo progetto utilizzando un bilanciatore del carico esterno, devi anche creare un criterio di ingresso ProjectNetworkPolicy per consentire agli indirizzi IP client esterni di accedere ai carichi di lavoro.

Questo criterio di ingresso globale si applica a tutte le zone della tua organizzazione.

Segui questi passaggi per creare una nuova regola firewall e consentire il traffico in entrata dai carichi di lavoro in un progetto di un'altra organizzazione:

Console

  1. Nella console GDC del progetto che stai configurando, vai a Networking > Firewall nel menu di navigazione per aprire la pagina Firewall.
  2. Fai clic su Crea nella barra delle azioni per iniziare a creare una nuova regola firewall.
  3. Nella pagina Dettagli regola firewall, inserisci le seguenti informazioni:

    1. Nel campo Nome, inserisci un nome valido per la regola firewall.
    2. Nella sezione Direzione del traffico, seleziona In entrata per consentire il traffico in entrata dai carichi di lavoro di altre organizzazioni.
    3. Nella sezione Target, seleziona una delle seguenti opzioni:
      • Tutti i workload utente: consentono le connessioni ai workload del progetto che stai configurando.
      • Servizio:indica che questa regola firewall ha come target un servizio specifico all'interno del progetto che stai configurando.
    4. Se la destinazione è un servizio di progetto, seleziona il nome del servizio dall'elenco dei servizi disponibili nel menu a discesa Servizio.
    5. Nella sezione Da, seleziona Al di fuori dell'organizzazione e inserisci il blocco CIDR di un'altra organizzazione nel campo CIDR per consentire le connessioni dalla rete di quell'organizzazione.
    6. Se il target sono tutti i carichi di lavoro utente, seleziona una delle seguenti opzioni nella sezione Protocolli e porte:
      • Consenti tutto:consente le connessioni utilizzando qualsiasi protocollo o porta.
      • Protocolli e porte specificati:consentono le connessioni utilizzando solo i protocolli e le porte specificati nei campi corrispondenti per la regola firewall in entrata.
  4. Nella pagina Dettagli regola firewall, fai clic su Crea.

Ora hai autorizzato le connessioni dai carichi di lavoro del progetto di un'altra organizzazione. Dopo aver creato la regola firewall, questa è visibile in una tabella nella pagina Firewall.

API

Configura e applica la tua policy in entrata ProjectNetworkPolicy personalizzata:

kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT
  name: allow-inbound-traffic-from-external
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - ipBlock:
        cidr: CIDR
EOF

Sostituisci quanto segue:

  • GLOBAL_API_SERVER: il percorso kubeconfig del server API globale. Per saperne di più, vedi Server API globali e di zona. Se non hai ancora generato un file kubeconfig per il server API, consulta la sezione Accedi per i dettagli.
  • PROJECT: il nome del progetto GDC.
  • CIDR: il blocco CIDR di un'altra organizzazione.

Questo criterio è necessario perché il bilanciatore del carico esterno utilizza il ritorno diretto del server (DSR), che conserva l'indirizzo IP esterno di origine e bypassa il bilanciatore del carico sul percorso di ritorno.

Crea una regola firewall di uscita globale per il traffico tra organizzazioni

Per trasferire i dati a servizi esterni all'organizzazione, devi prima disattivare la protezione dall'esfiltrazione di dati. Poi, devi configurare una regola firewall in uscita per consentire il traffico in uscita dai carichi di lavoro o dai servizi del tuo progetto.

Questa sezione descrive la procedura per attivare il traffico in uscita a livello di progetto. Per informazioni sulla gestione della connettività in uscita a livello di carico di lavoro, vedi Gestire il traffico in uscita dai carichi di lavoro.

Queste regole firewall di uscita globali si applicano a tutte le zone dell'organizzazione.

Segui questi passaggi per creare una nuova regola firewall e consentire il traffico in uscita dai servizi o dai carichi di lavoro del progetto ai carichi di lavoro di un'altra organizzazione:

Console

  1. Nella console GDC del progetto che stai configurando, vai a Networking > Firewall nel menu di navigazione per aprire la pagina Firewall.
  2. Fai clic su Crea nella barra delle azioni per iniziare a creare una nuova regola firewall.
  3. Nella pagina Dettagli regola firewall, inserisci le seguenti informazioni:

    1. Nel campo Nome, inserisci un nome valido per la regola firewall.
    2. Nella sezione Direzione del traffico, seleziona In uscita per indicare che questa regola del firewall controlla il traffico in uscita.
    3. Nella sezione Target, seleziona una delle seguenti opzioni:
      • Tutti i carichi di lavoro utente:consente le connessioni dai carichi di lavoro del progetto che stai configurando.
      • Servizio:indica che questa regola firewall ha come target un servizio specifico all'interno del progetto che stai configurando.
    4. Se la destinazione è un servizio di progetto, seleziona il nome del servizio dall'elenco dei servizi disponibili nel menu a discesa Servizio.
    5. Nella sezione A, seleziona Al di fuori dell'organizzazione e inserisci il blocco CIDR di un'altra organizzazione nel campo CIDR per consentire le connessioni alla rete di quell'organizzazione.
    6. Se il target sono tutti i carichi di lavoro utente, seleziona una delle seguenti opzioni nella sezione Protocolli e porte:
      • Consenti tutto:consente le connessioni utilizzando qualsiasi protocollo o porta.
      • Protocolli e porte specificati:consentono le connessioni utilizzando solo i protocolli e le porte specificati nei campi corrispondenti per la regola firewall in uscita.
  4. Nella pagina Dettagli regola firewall, fai clic su Crea.

Ora hai autorizzato le connessioni a un'altra organizzazione. Dopo aver creato la regola firewall, questa è visibile in una tabella nella pagina Firewall.

API

Per attivare il traffico in uscita verso i servizi esterni all'organizzazione, personalizza la risorsa ProjectNetworkPolicy. Tuttavia, poiché la prevenzione dell'esfiltrazione di dati è abilitata per impostazione predefinita, il criterio di uscita ProjectNetworkPolicy personalizzato mostra un errore di convalida nel campo dello stato e il piano dati lo ignora. Questo comportamento è previsto.

Puoi trasferire i carichi di lavoro da un determinato progetto quando consenti l'esfiltrazione di dati per quel progetto. Il traffico in uscita che consenti è una Network Address Translation (NAT) di origine che utilizza un indirizzo IP noto allocato per il progetto.

Per attivare il criterio di uscita personalizzato:

  1. Configura e applica il tuo criterio di uscita ProjectNetworkPolicy personalizzato a tutti i carichi di lavoro utente in un progetto.

    Utilizza il seguente esempio:

    kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
    apiVersion: networking.global.gdc.goog/v1
    kind: ProjectNetworkPolicy
    metadata:
      namespace: PROJECT
      name: allow-outbound-traffic-to-external
    spec:
      subject:
        subjectType: UserWorkload
      egress:
      - to:
        - ipBlock:
            cidr: CIDR
    EOF
    

    Il criterio consente il traffico in uscita a tutti gli host nel blocco CIDR, che si trovano al di fuori dell'organizzazione. Il primo tentativo deve causare un errore di stato intenzionale e necessario.

  2. Verifica che nello stato sia presente un errore di convalida.

  3. Chiedi all'amministratore IAM dell'organizzazione di disattivare la prevenzione dell'esfiltrazione di dati. Questa azione attiva la configurazione, impedendo tutto il resto del traffico in uscita.

  4. Controlla il ProjectNetworkPolicy che hai creato e verifica che l'errore nel campo dello stato di convalida non sia più presente e che lo stato Ready sia True, a indicare che la policy è in vigore:

    kubectl --kubeconfig GLOBAL_API_SERVER \
        get projectnetworkpolicy allow-outbound-traffic-to-external \
        -n PROJECT -o yaml
    

    Sostituisci quanto segue:

    • GLOBAL_API_SERVER: il percorso kubeconfig del server API globale. Per saperne di più, vedi Server API globali e di zona. Se non hai ancora generato un file kubeconfig per il server API, consulta la sezione Accedi per i dettagli.

    • PROJECT: il nome del progetto Google Cloud.

Dopo aver applicato questa policy e a condizione che non siano state definite altre policy di uscita, tutto il traffico in uscita viene negato per PROJECT.