Para mejorar la seguridad general, IAP rechaza de forma predeterminada el acceso a las solicitudes que no tienen una indicación de nombre de servidor (SNI) coincidente. Esto permite que IAP restrinja el redireccionamiento de URL a dominios maliciosos. La función de dominios permitidos de IAP proporciona una capa de seguridad adicional para tus recursos protegidos con IAP. Como propietario de recursos o administrador de IAP, puedes restringir el acceso a los recursos protegidos por IAP a dominios específicos mediante la configuración de la función de dominios permitidos.
También puedes configurar dominios permitidos por IAP en las siguientes situaciones:
- Tu navegador o un proxy intermedio fuerza la agrupación de conexiones: En este caso, recibes la respuesta HTTP 429 y el código de error
51
. Para resolver el problema, un administrador de IAP puede actualizar la lista de dominios permitidos para incluir su nombre de host. - El nombre de host proporcionado no coincide con el certificado SSL del servidor: En este caso, recibes el código de error
52
. Para resolver el problema, un administrador de IAP puede actualizar la lista de dominios permitidos para incluir su nombre de host.
Configurar dominios permitidos
Puedes usar gcloud o la API para configurar los dominios permitidos. Para configurar los dominios permitidos, usa los siguientes campos:
enable
: Booleano. Activa o desactiva la función de dominios permitidos.Domains
: String. La lista de dominios permitidos. Los dominios pueden contener prefijos comodín, como*.abc.com.
. Los nombres de dominio no pueden contener un comodín directamente en un sufijo público ni en un dominio de nivel superior. Ejemplo:*.com
,*.co.in
.
Para obtener más información, consulta IapSettings.
Para configurar los dominios permitidos por IAP, completa los siguientes pasos:
gcloud
Puedes especificar dominios permitidos en los recursos y servicios a nivel de organización, proyecto y carpeta. A continuación, se muestran algunos comandos de ejemplo para especificar dominios permitidos.
Para obtener más información, consulta gcloud iap settings set
.
Ejecuta el siguiente comando:
gcloud iap settings set SETTING_FILE [--folder=FOLDER --organization=ORGANIZATION --project=/PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION
Para configurar dominios permitidos dentro de una organización, ejecuta el siguiente comando:
gcloud iap settings set SETTING_FILE --organization=ORGANIZATION
A fin de establecer los dominios permitidos para los recursos dentro de una carpeta, ejecuta el siguiente comando:
gcloud iap settings set SETTING_FILE --folder=FOLDER
Para establecer dominios permitidos para todos los recursos de tipo web dentro de un proyecto, ejecuta el siguiente comando:
gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=iap_web
Para establecer dominios permitidos para todos los servicios de App Engine dentro de un proyecto, ejecute el siguiente comando:
gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=app-engine --service=SERVICE
En el ejemplo anterior, SETTING_FILE
es:
{
"access_settings": {
"allowed_domains_settings": {
"enable": true,
"domains": [
"*.abc.com",
"*.xyz.co.in"
]
}
}
}
Reemplaza lo siguiente:
- FOLDER: El ID de la carpeta.
- ORGANIZATION: El ID de la organización.
- PROJECT: El ID del proyecto
- RESOURCE_TYPE: El tipo de recurso de IAP. Debe ser
app-engine
,iap_web
,compute
,organization
ofolder
. - SERVICE: el nombre del servicio Esto es opcional cuando
resource-type
escompute
oapp-engine
. - VERSION: Es el nombre de la versión. Esto no se aplica a
compute
y es opcional cuandoresource-type
esapp-engine
.
API
Para configurar los dominios permitidos, completa los siguientes pasos. Si quieres obtener más información sobre el uso de la API para configurar los dominios permitidos, consulta IapSettings.
Crea un archivo JSON con la configuración de dominios permitidos con máscara de campo. Ejemplo de JSON
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" } }
Ejecuta el siguiente comando para usar la API de
UpdateIAPSettings
y agregar la configuración de dominio permitida.curl -i -H "Content-Type:application/json"
-H "Authentication: Bearer $(gcloud auth print-access-token)" IAP_URL
-d SETTINGS_FILE.JSON
Para establecer la configuración de dominios permitidos para todos los recursos dentro de una organización, usa la siguiente URL: https://iap.googleapis.com/v1/organization/ORGANIZATION_ID:iapsettings
Para establecer la configuración de los dominios permitidos para todos los recursos dentro de una carpeta, usa la siguiente URL: https://iap.googleapis.com/v1/folder/FOLDER_ID:iapsettings
Para establecer la configuración de dominios permitidos para todos los recursos de tipo web dentro de un proyecto, usa la siguiente URL: https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web:iapsettings
Para establecer la configuración de los dominios permitidos para todos los recursos de App Engine dentro de un proyecto, usa la siguiente URL: https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/appengine-APP_ID:iapsettings
Para establecer la configuración de los dominios permitidos para una versión del servicio de App Engine dentro de un proyecto, usa la siguiente URL: https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/appengine-APP_ID/services/APP_SERVICE_ID/versions/VERSION_ID:iapsettings
Para establecer la configuración de los dominios permitidos para todos los recursos de Compute Engine dentro de un proyecto, usa la siguiente URL: https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/compute:iapsettings
Para establecer la configuración de dominios permitidos para un recurso de Compute Engine dentro de un proyecto, usa la siguiente URL: https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/compute/services/BACKEND_SERVICE_ID:iapsettings
Soluciona problemas
Problema de acceso a dominios permitidos
Si recibe el Código de error 53, solicite a un administrador de IAP que agregue su nombre de host a la lista de dominios permitidos.