Configura restrizioni dell'organizzazione

In questa pagina vengono descritti i prerequisiti per la configurazione del proxy in uscita, come ottenere l'ID organizzazione, aggiungere l'intestazione restrizioni dell'organizzazione'organizzazione e configurare il proxy con l'elenco di URL di destinazione.

Gli amministratori di Google Cloud, che amministrano 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 restrizioni dell'organizzazione, consulta 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 l'amministratore del proxy in uscita per configurare il proxy in uscita.

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

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

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

      • URL di destinazione. Un elenco di URL di destinazione corrispondenti al proxy in uscita.
      • ID dispositivo. Un elenco di ID dispositivo corrispondenti al proxy in uscita. Gli ID dispositivo devono essere propagati al proxy in uscita.
      • ID utente. Un elenco di ID utente corrispondenti al proxy in uscita. Gli ID utente devono essere propagati al proxy in uscita.

Recuperare l'ID organizzazione

In qualità di amministratore di Google Cloud, devi ottenere l'ID organizzazione Google Cloud in modo da poterlo aggiungere all'intestazione 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 i relativi ID risorsa dell'organizzazione corrispondenti.

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

Aggiungi l'intestazione restrizioni dell'organizzazione

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

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

Crea l'intestazione

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

HEADER_VALUE contiene un elenco separato da virgole di ID organizzazione Google Cloud autorizzati. Il valore deve quindi essere codificato con la 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 un ID organizzazione Google Cloud. 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 restrizioni dell'organizzazione per tutti i tipi di richieste ai servizi Google Cloud supportati.
    • "cloudStorageReadAllowed". Consente di leggere le richieste a Cloud Storage, ma applica l'intestazione restrizioni dell'organizzazione per tutti i tipi di richieste ai 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, considera un esempio in cui Alex è l'amministratore di Example Organization e Lee è un dipendente di questa organizzazione. Prendi in considerazione un sito web come altostrat.com che archivia contenuti statici in bucket Cloud Storage pubblici e che si trova all'esterno di 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 su altostrat.com, che esistono nei bucket Cloud Storage pubblici di proprietà di altostrat.com. Questo comportamento influisce sulla capacità di Lee di esplorare il sito web in modo efficace e lo stesso comportamento si applica a 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 tutti gli altri accessi a Google Cloud solo all'organizzazione di esempio, Alex utilizza l'opzione cloudStorageReadAllowed.

Ecco un esempio di intestazione valida per le restrizioni dell'organizzazione 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 della sezione 5 della RFC 4648.

Ad esempio, se la rappresentazione JSON per il valore di intestazione è archiviata nel file authorized_orgs.json, per codificare il file, esegui il seguente comando basenc:

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

Ecco un esempio di intestazione 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 di Google Cloud della tua organizzazione fornisce esplicitamente un'intestazione HTTP, il proxy in uscita sostituisce i valori forniti dall'utente con i valori forniti dall'amministratore di Google Cloud.

Per evitare di aggiungere questa intestazione a destinazioni al di fuori di Google Cloud, configura il proxy in uscita per aggiungere l'intestazione restrizioni dell'organizzazione 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 violazioni restrizioni dell'organizzazione dell'organizzazione, consulta la sezione sui messaggi di errore.

Passaggi successivi