Per migliorare la sicurezza generale, IAP per impostazione predefinita nega l'accesso a richieste che non hanno l'indicazione del nome del server (SNI) corrispondente. Questo consente a IAP di limitare il reindirizzamento degli URL a domini dannosi. La funzionalità Domini consentiti IAP fornisce un ulteriore livello di sicurezza per le risorse protette da IAP. Come proprietario di una risorsa o amministratore di IAP, puoi limitare l'accesso alle risorse protette da IAP a domini specifici configurando la funzionalità Domini consentiti.
Puoi anche configurare i domini consentiti per IAP nei seguenti scenari:
- Il browser o un proxy intermedio forza il pool di connessioni: in questo scenario, ricevi la risposta HTTP 429 e il codice di errore
51
. Per risolvere il problema, un amministratore IAP può aggiornare l'elenco dei domini consentiti in modo da includere il nome host. - Il nome host fornito non corrisponde al certificato SSL sul server:in questo scenario, viene visualizzato il codice di errore
52
. Per risolvere il problema, un amministratore IAP può aggiornare l'elenco dei domini consentiti in modo da includere il nome host.
Configura domini consentiti
Per configurare le impostazioni dei domini consentiti, puoi utilizzare gcloud o l'API. Per configurare i domini consentiti, utilizza i campi seguenti:
enable
: booleano. Attiva o disattiva la funzionalità Domini consentiti.Domains
: stringa. L'elenco dei domini consentiti. I domini possono contenere prefissi con caratteri jolly, ad esempio*.abc.com.
I nomi di dominio non possono contenere caratteri jolly direttamente su un suffisso pubblico o su un dominio di primo livello. Esempio:*.com
,*.co.in
.
Per ulteriori informazioni, vedi IapSettings.
Per configurare i domini consentiti per IAP, completa i seguenti passaggi:
gcloud
Puoi specificare i domini consentiti a livello di risorse e servizi a livello di organizzazione, progetto e cartella. Di seguito sono riportati alcuni comandi di esempio per specificare i domini consentiti.
Per saperne di più, vedi gcloud iap settings set
.
Esegui questo comando:
gcloud iap settings set SETTING_FILE [--folder=FOLDER --organization=ORGANIZATION --project=/PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION
Per impostare i domini consentiti all'interno di un'organizzazione, esegui questo comando:
gcloud iap settings set SETTING_FILE --organization=ORGANIZATION
Per impostare i domini consentiti per le risorse all'interno di una cartella, esegui questo comando:
gcloud iap settings set SETTING_FILE --folder=FOLDER
Per impostare i domini consentiti per tutte le risorse del tipo web all'interno di un progetto, esegui il comando seguente:
gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=iap_web
Per impostare i domini consentiti per tutti i servizi di App Engine all'interno di un progetto, esegui il comando seguente:
gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=app-engine --service=SERVICE
Dove si trova SETTING_FILE
:
{
"access_settings": {
"allowed_domains_settings": {
"enable": true,
"domains": [
"*.abc.com",
"*.xyz.co.in"
]
}
}
}
Sostituisci quanto segue:
- FOLDER: l'ID cartella.
- ORGANIZATION: l'ID organizzazione.
- PROJECT: l'ID progetto.
- RESOURCE_TYPE: il tipo di risorsa IAP. Deve essere
app-engine
,iap_web
,compute
,organization
ofolder
. - SERVICE: il nome del servizio. Facoltativo quando
resource-type
ècompute
oapp-engine
. - VERSION: nome della versione. Questo non è applicabile per
compute
ed è facoltativo quandoresource-type
èapp-engine
.
API
Per configurare i domini consentiti, completa i seguenti passaggi. Per saperne di più sull'utilizzo dell'API per configurare i domini consentiti, vedi IapSettings.
Crea un file JSON con le impostazioni dei domini consentite con maschera dei campi. JSON di esempio
SETTING_FILE
:{ "iap_settings":{ "value":{ "access_settings":{ "allowed_domains_settings":{ "enable":{ "value":"True" }, "domains":{ "value":[ "*.abc.com", "*.xyz.co.in" ] } } } } }, "update_mask":{ "value":"iap_settings.access_settings.allowed_domains_settings" } }
Esegui il comando seguente per utilizzare l'API
UpdateIAPSettings
per aggiungere le impostazioni dei domini consentiti.curl -i -H "Content-Type:application/json"
-H "Authentication: Bearer $(gcloud auth print-access-token)" IAP_URL
-d SETTINGS_FILE.JSON
Per configurare le impostazioni relative ai domini consentiti per tutte le risorse di un'organizzazione, utilizza il seguente URL:
https://iap.googleapis.com/v1/organization/ORGANIZATION_ID:iapsettings
Per configurare le impostazioni relative ai domini consentiti per tutte le risorse all'interno di una cartella, utilizza il seguente URL:
https://iap.googleapis.com/v1/folder/FOLDER_ID:iapsettings
Per configurare le impostazioni relative ai domini consentiti per tutte le risorse del tipo web all'interno di un progetto, utilizza il seguente URL:
https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web:iapsettings
Per configurare le impostazioni relative ai domini consentiti per tutte le risorse App Engine all'interno di un progetto, utilizza il seguente URL:
https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/appengine-APP_ID:iapsettings
Per configurare le impostazioni dei domini consentite per una versione del servizio App Engine all'interno di un progetto, utilizza il seguente URL:
https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/appengine-APP_ID/services/APP_SERVICE_ID/versions/VERSION_ID:iapsettings
Per configurare le impostazioni dei domini consentite per tutte le risorse Compute Engine all'interno di un progetto, utilizza il seguente URL:
https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/compute:iapsettings
Per configurare le impostazioni dei domini consentite per una risorsa Compute Engine all'interno di un progetto, utilizza il seguente URL:
https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/compute/services/BACKEND_SERVICE_ID:iapsettings
Risolvere i problemi
Problema di accesso ai domini consentiti
Se ricevi il codice di errore 53, chiedi a un amministratore di IAP di aggiungere il tuo nome host all'elenco dei domini consentiti.