Questo documento descrive come personalizzare le impostazioni di Identity-Aware Proxy (IAP). Con queste impostazioni, puoi controllare i comportamenti, tra cui:
- Compatibilità con Cloud Service Mesh e Istio su Google Kubernetes Engine.
- Gestione delle richieste di preflight CORS.
- Modalità di autenticazione degli utenti.
- La pagina di errore mostrata agli utenti quando l'accesso viene negato.
Gestisci impostazioni
Puoi visualizzare e aggiornare le impostazioni IAP su bilanciatori del carico e app App Engine utilizzando la Google Cloud console, l'API IAP, o Google Cloud CLI.
Per aggiornare le impostazioni IAP su tutte le risorse, incluse cartelle, progetti e organizzazioni, utilizza Google Cloud CLI o l'API.
Per gestire le impostazioni in IAP:
Console
Per visualizzare e modificare le impostazioni utilizzando la Google Cloud console:
- Vai alla pagina Identity-Aware Proxy.
Vai alla pagina Identity-Aware Proxy - Trova la risorsa nella scheda APPLICAZIONI.
- Apri il menu Altre azioni e fai clic su Impostazioni.
- Fai clic su Salva.
gcloud
Per ottenere e modificare le impostazioni utilizzando Google Cloud CLI, utilizza i
gcloud iap settings get
e i
gcloud iap settings set
comandi come segue:
- Per ottenere le impostazioni per un progetto, una cartella o un'organizzazione, utilizza i seguenti comandi. Per configurare le impostazioni IAP utilizzando la Google Cloud console o gcloud CLI, consulta Personalizzazione di IAP.
gcloud iap settings get --project=PROJECT-ID
gcloud iap settings get --folder=FOLDER-ID
gcloud iap settings get --organization=ORGANIZATION-ID
- Per ottenere le impostazioni per un tipo di risorsa IAP specifico in un progetto:
gcloud iap settings get --project=PROJECT-ID \ --resource-type=RESOURCE-TYPE-NAME
- Per impostare le impostazioni per un progetto, una cartella o un'organizzazione o un tipo di risorsa IAP in un progetto, crea un file JSON o YAML che contenga le nuove impostazioni desiderate e specifica il percorso del file. Per ulteriori informazioni, consulta l'
gcloud iap settings setargomento:
gcloud iap settings set SETTING_FILE --project=PROJECT-ID \ --resource-type=RESOURCE-TYPE-NAME
API
Per ottenere e modificare le impostazioni utilizzando l'API IAP, effettua
richieste utilizzando i verbi HTTP GET o PATCH all'endpoint della risorsa selezionata
in Google Cloud. Combina il suffisso del percorso :iapSettings, un percorso della risorsa (come descritto in Risorse e autorizzazioni) e un metodo HTTP appropriato per ottenere o modificare un'impostazione. Per ulteriori informazioni, consulta
getIapSettings()
e
updateIapSettings():
- Per ottenere o impostare le impostazioni per un tipo di risorsa IAP specifico in un progetto:
https://iap.googleapis.com/v1/projects/PROJECT-ID/iap_web/appengine-APP-ID/services/SERVICE-ID/versions/VERSION-ID:iapSettings
- Per ottenere o impostare le impostazioni per un progetto:
https://iap.googleapis.com/v1/projects/PROJECT-ID:iapSettings
- Per ottenere o impostare le impostazioni per una cartella:
https://iap.googleapis.com/v1/folders/FOLDER-ID:iapSettings
- Per ottenere o impostare le impostazioni per un'organizzazione:
https://iap.googleapis.com/v1/organizations/ORGANIZATION-ID:iapSettings
Ruoli e autorizzazioni delle impostazioni IAP
Questa sezione descrive i ruoli e le autorizzazioni necessari per visualizzare e aggiornare le impostazioni IAP.
Ruoli delle impostazioni
Puoi concedere il ruolo Amministratore impostazioni IAP
(roles/iap.settingsAdmin) a livello di organizzazione, cartella e
progetto. Per visualizzare le autorizzazioni concesse dal ruolo Amministratore impostazioni IAP,
consulta Autorizzazioni delle impostazioni.
Per scoprire di più sui ruoli e le autorizzazioni per IAP, consulta Ruoli e autorizzazioni di Identity-Aware Proxy.
I seguenti ruoli di base forniscono queste autorizzazioni:
Il ruolo Visualizzatore progetto (
roles/viewer) concede tutte le autorizzazionigetSettings.Il ruolo Editor (
roles/editor) concede tutte le autorizzazioni descritte nella tabella.
Autorizzazioni delle impostazioni
La tabella seguente elenca le autorizzazioni IAM necessarie per leggere e modificare le impostazioni per ogni tipo di risorsa. Per una descrizione dei diversi tipi di risorse, consulta Risorse e autorizzazioni.
| Risorsa | Autorizzazione per la visualizzazione delle impostazioni | Autorizzazione per la modifica delle impostazioni |
|---|---|---|
| Organizzazione | iap.organizations.getSettings |
iap.organizations.updateSettings |
| Cartella | iap.folders.getSettings |
iap.folders.updateSettings |
| Progetto | iap.projects.getSettings |
iap.projects.updateSettings |
| Tutti i servizi web | iap.web.getSettings |
iap.web.updateSettings |
| Tipi di web | iap.webTypes.getSettings |
iap.webTypes.updateSettings |
| Servizi web | iap.webServices.getSettings |
iap.webServices.updateSettings |
| Versioni dei servizi web | iap.webServiceVersions.getSettings |
iap.webServiceVersions.updateSettings |
| Tipi di web | iap.webTypes.getSettings |
iap.webTypes.updateSettings |
Per scoprire di più sulla concessione dei ruoli IAM, consulta Concessione, modifica e revoca dell'accesso.
Personalizza le impostazioni IAP
IAP fornisce le seguenti impostazioni di personalizzazione:
| Campo | Descrizione |
|---|---|
access_settings.cors_settings.allow_http_options |
Controlla le opzioni HTTP (preflight CORS) |
access_settings.oauth_settings.login_hint |
Semplifica l'accesso per gli utenti di un dominio Google Workspace |
application_settings.access_denied_page_settings.access_denied_page_uri |
Mostra una pagina di errore personalizzata quando l'accesso viene negato |
application_settings.csm_settings.rctoken_aud |
Emetti RCToken di Cloud Service Mesh e Istio |
access_settings.gcip_settings |
Autenticati con Identity Platform |
access_settings.ReauthSettings |
Imposta un criterio di riautenticazione. Per maggiori dettagli, consulta Configurazione della riautenticazione |
Puoi applicare le impostazioni a livello di progetto o a qualsiasi livello inferiore della risorsa IAP.
Puoi configurare le impostazioni per le risorse IAP basate sul web, ma non per le risorse a cui si accede con IAP per l'inoltro TCP.
Utilizzando access_settings.cors_settings.allow_http_options come esempio, puoi configurare le impostazioni di personalizzazione come segue:
YAML
access_settings:
cors_settings:
allow_http_options: "false"JSON
{
"access_settings": {
"cors_settings": {
"allow_http_options": "false"
}
}
}Le sezioni seguenti forniscono ulteriori informazioni su ogni impostazione.