Configura restrizioni dell'organizzazione

Questa pagina descrive i prerequisiti per la configurazione del proxy in uscita, come l'ID organizzazione, aggiungi l'intestazione delle restrizioni dell'organizzazione e configura il proxy con l'elenco di URL di destinazione.

Gli amministratori Google Cloud che gestiscono Google Cloud e gli amministratori del proxy in uscita che configurano il proxy in uscita devono collaborare per configurare le restrizioni dell'organizzazione. Per informazioni sulle soluzioni dei partner convalidate con limitazioni per le organizzazioni, vedi Soluzioni dei partner convalidate.

Prima di iniziare

Se sei un amministratore del proxy in uscita, prima di configurare il proxy in uscita per aggiungere l'intestazione delle restrizioni dell'organizzazione, devi completare i seguenti prerequisiti:

  • Se i ruoli di amministratore di Google Cloud e del proxy in uscita sono diversi nella tua organizzazione, assicurati che l'amministratore di Google Cloud interagisca con amministratore del proxy in uscita di configurare il proxy in uscita.

  • Configura le regole firewall della tua organizzazione o configura i dispositivi gestiti per garantire che il traffico in uscita di tutti gli utenti dell'organizzazione passi il proxy in uscita.

  • Assicurati che il proxy in uscita nella tua organizzazione abbia le seguenti funzionalità:

    • Inserisci intestazioni. Inserisce un'intestazione HTTP personalizzata nelle richieste in uscita che passano attraverso il proxy di uscita.
    • Ispezione TLS. Se il traffico verso il proxy in uscita è criptato, il proxy in uscita devono decriptare i pacchetti, inserire l'intestazione e criptare nuovamente il pacchetto prima inviandolo all'obiettivo.
    • Filtra e inserisci intestazioni. Facoltativo. Supporta uno o più dei seguenti filtri e poi aggiungi l'intestazione solo per le richieste che corrispondono alla condizione del filtro:

      • URL di destinazione. Un elenco di URL di destinazione a cui il proxy in uscita può corrispondere.
      • ID dispositivo. Un elenco di ID dispositivo che il proxy in uscita può corrispondere. Gli ID dispositivo devono essere propagati al proxy in uscita.
      • ID utente. Un elenco di ID utente con cui il proxy in uscita può corrispondere. L'utente Gli ID devono essere propagati al proxy in uscita.

Recuperare l'ID organizzazione

In qualità di amministratore di Google Cloud, devi disporre organizzazione per poterlo aggiungere all'intestazione delle restrizioni dell'organizzazione.

Per trovare l'ID risorsa dell'organizzazione, esegui questo comando:

   gcloud organizations list

Questo comando elenca tutte le risorse dell'organizzazione a cui appartieni e le relative gli ID risorsa dell'organizzazione corrispondenti.

Dopo aver ottenuto l'ID organizzazione, puoi aggiungere le restrizioni dell'organizzazione o contattare l'amministratore del proxy in uscita per aggiungere l'intestazione.

Aggiungi l'intestazione delle restrizioni dell'organizzazione

In qualità di amministratore del proxy in uscita, per aggiungere l'intestazione delle restrizioni dell'organizzazione alle richieste in uscita:

  • Crea l'intestazione.
  • Codifica l'intestazione.
  • Configura il proxy in uscita.

Crea l'intestazione

Crea la rappresentazione JSON dell'intestazione nel seguente formato: X-Goog-Allowed-Resources: HEADER_VALUE

HEADER_VALUE contiene un elenco separato da virgole di ID organizzazioni Google Cloud autorizzate. Il valore deve poi essere codificato in codifica Base64 sicura per il web.

HEADER_VALUE ha la seguente struttura JSON:

  {
  "resources": [string,..],
  "options": string
  }
  • resources. Un elenco di stringhe. Ogni stringa in questo elenco deve fare riferimento a una Organization ID (ID organizzazione). Gli ID organizzazione in questo elenco sono considerati organizzazioni autorizzate durante la valutazione.
  • options. Una stringa contenente uno dei seguenti valori:
    • "strict". Applica l'intestazione delle restrizioni dell'organizzazione per tutti i tipi di richiesta ai servizi Google Cloud supportati.
    • "cloudStorageReadAllowed". Consente le richieste di lettura a Cloud Storage, l'intestazione delle restrizioni dell'organizzazione per tutti i tipi di richiesta servizi Google Cloud supportati. Questa opzione consente l'accesso per le seguenti operazioni di lettura di Cloud Storage:
      • storage.objects.get
      • storage.objects.list
      • storage.objects.getIamPolicy
      • storage.buckets.get
      • storage.buckets.list
      • storage.buckets.getIamPolicy

Per dimostrare questa opzione, consideriamo un esempio in cui Alex è l'amministratore. di Organizzazione di esempio, mentre Leo è un dipendente di questa organizzazione. Prendi in considerazione un sito web come altostrat.com che memorizza contenuti statici in bucket Cloud Storage pubblici ed è esterno all'organizzazione di esempio. Se Alex utilizza l'opzione strict per limitare l'accesso di Lee solo all'organizzazione di esempio, a Lee viene negato l'accesso ai contenuti statici di altostrat.com, che esistono nei bucket Cloud Storage pubblici di proprietà di altostrat.com. Questo comportamento influisce sulla capacità di Lee di navigare efficacemente nel sito web e lo stesso comportamento si verifica per qualsiasi sito web che utilizza Cloud Storage pubblico per archiviare contenuti statici. Per consentire a Lee di visualizzare i contenuti statici su altostrat.com e limitare tutto l'altro accesso a Google Cloud solo all'organizzazione Example, Alex utilizza l'opzione cloudStorageReadAllowed.

Ecco un esempio di intestazione valida per le restrizioni dell'organizzazione:

  {
  "resources": ["organizations/1234", "organizations/3456"],
  "options": "strict"
  }

Codifica l'intestazione

Codifica gli ID organizzazione in formato Base64 sicuro per il web. La codifica deve seguire le Specifiche RFC 4648 Sezione 5.

Ad esempio, se la rappresentazione JSON per il valore dell'intestazione è memorizzata nel fileauthorized_orgs.json, per codificare il file, esegui il seguente comando basenc:

     $ cat authorized_orgs.json | basenc --base64url -w0
ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K

Ecco un'intestazione di esempio dopo la codifica dell'ID organizzazione:

// Encoded representation
X-Goog-Allowed-Resources: ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K

// Plain-text representation (As HTTP disallows some characters, encode the organization ID)
// Plain-text representation is included here only for readability
X-Goog-Allowed-Resources: {"resources": ["organizations/1234", "organizations/3456"], "options": "strict"}

Configura il proxy in uscita

Per inserire l'intestazione nelle richieste provenienti dai dispositivi gestiti, configura il proxy in uscita.

Assicurati che, se un utente Google Cloud della tua organizzazione fornisce esplicitamente un'intestazione HTTP, il proxy di uscita sostituisca i valori forniti dall'utente con quelli forniti dall'amministratore di Google Cloud.

Per evitare di aggiungere questa intestazione a destinazioni esterne a Google Cloud, configura il traffico in uscita proxy per aggiungere l'intestazione Restrizioni dell'organizzazione alle richieste solo con le seguenti destinazioni:

  • *.google.com
  • *.googleapis.com
  • *.gcr.io
  • *.pkg.dev
  • *.cloudfunctions.net
  • *.run.app
  • *.tunnel.cloudproxy.app
  • *.datafusion.googleusercontent.com

Per informazioni sui messaggi di errore visualizzati a causa di restrizioni dell'organizzazione violazioni, consulta i messaggi di errore.

Passaggi successivi