Questa pagina descrive i prerequisiti per la configurazione del proxy in uscita, come ottenere l'ID organizzazione, aggiungere l'intestazione delle restrizioni dell'organizzazione e configurare il proxy con l'elenco degli URL target.
Google Cloud che amministrano Google Cloude 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, 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 Google Cloud amministratore e amministratore del proxy in uscita sono diversi nella tua organizzazione, assicurati che l' Google Cloud amministratore collabori con l' Google Cloud amministratore del proxy in uscita per configurare il proxy in uscita.
Configura le regole del firewall della tua organizzazione o i dispositivi gestiti per assicurarti che il traffico in uscita di tutti gli utenti della tua organizzazione passi per il proxy in uscita.
Assicurati che il proxy di uscita nella tua organizzazione disponga delle seguenti funzionalità:
- Inserisci intestazioni. Inserisce un'intestazione HTTP personalizzata nelle richieste in uscita che attraversano il proxy di uscita.
- Ispezione TLS. Se il traffico al proxy in uscita è criptato, il proxy in uscita deve decriptare i pacchetti, inserire l'intestazione e criptarli di nuovo prima di inviarli alla destinazione.
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 target. Un elenco di URL target che il proxy di uscita può associare.
- ID dispositivo. Un elenco di ID dispositivo che il proxy di uscita può associare. Gli ID dispositivo devono essere propagati al proxy di uscita.
- ID utente. Un elenco di ID utente che il proxy di uscita può associare. Gli ID dell'utente devono essere propagati al proxy di uscita.
Recuperare l'ID organizzazione
In qualità di Google Cloud amministratore, devi recuperare l' Google Cloud ID organizzazione in modo che possa essere aggiunto all'intestazione delle limitazioni dell'organizzazione.
Per trovare l'ID risorsa dell'organizzazione, esegui il seguente comando:
gcloud organizations list
Questo comando elenca tutte le risorse dell'organizzazione a cui appartieni e i relativi ID risorsa dell'organizzazione.
Dopo aver ottenuto l'ID organizzazione, puoi aggiungere l'intestazione delle restrizioni dell'organizzazione o contattare l'amministratore del proxy in uscita per farlo.
Aggiungere l'intestazione delle limitazioni 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 Google Cloud
delle organizzazioni 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 un Google Cloud 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, ma applica l'intestazione delle 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, prendiamo l'esempio in cui Alex è l'amministratore dell'organizzazione di esempio e Lee è 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 Google Cloud accesso solo all'organizzazione di esempio,
Alex utilizza l'opzione cloudStorageReadAllowed
.
Ecco un esempio di intestazione per le restrizioni dell'organizzazione valida:
{
"resources": ["organizations/1234", "organizations/3456"],
"options": "strict"
}
Codifica l'intestazione
Codifica gli ID organizzazione in formato Base64 sicuro per il web. La codifica deve rispettare le specifiche della sezione 5 del documento RFC 4648.
Ad esempio, se la rappresentazione JSON del 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 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 Google Cloud utente della tua organizzazione fornisce esplicitamente un'intestazione HTTP, il proxy di uscita sostituisca i valori forniti dall'utente con quelli forniti dall' Google Cloud amministratore.
Per evitare di aggiungere questa intestazione a destinazioni esterne a Google Cloud, configura il proxy in uscita per aggiungere l'intestazione delle restrizioni dell'organizzazione alle richieste solo con i seguenti target:
*.google.com
*.googleapis.com
*.gcr.io
*.pkg.dev
*.cloudfunctions.net
*.run.app
*.tunnel.cloudproxy.app
*.datafusion.googleusercontent.com
Per informazioni sui messaggi di errore che si verificano a causa di violazioni delle limitazioni dell'organizzazione, consulta Messaggi di errore.
Passaggi successivi
- Scopri di più sull'utilizzo delle limitazioni per le organizzazioni.