Para mejorar la seguridad general, IAP rechaza de forma predeterminada el acceso a las solicitudes que no tienen una indicación de nombre del servidor (SNI) que coincida. Esto permite que IAP restrinja el redireccionamiento de URL a dominios maliciosos. La función de dominios permitidos con IAP proporciona una capa de seguridad adicional para los recursos protegidos con IAP. Como propietario de un recurso o administrador de IAP, puedes restringir el acceso a los recursos protegidos con IAP a dominios específicos mediante la configuración de la función de dominios permitidos.
También puedes configurar los dominios permitidos de IAP en las siguientes situaciones:
- Tu navegador o un proxy intermedio fuerza la agrupación de conexiones: En esta situación, recibirás 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 tu nombre de host. - El nombre de host proporcionado no coincide con el certificado SSL del servidor: en este caso, recibirás el código de error
52
. Para resolver el problema, un administrador de IAP puede actualizar la lista de dominios permitidos para incluir tu nombre de host.
Configura los dominios permitidos
Puedes usar gcloud o la API para definir la configuración de 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. Es la lista de dominios permitidos. Los dominios pueden contener prefijos de comodín, como*.example.com.
. Los nombres de dominio no pueden contener un comodín directamente en un sufijo público o en un dominio de nivel superior. Ejemplo:*.com
,*.co.in
.
Para obtener más información, consulta IapSettings.
Para configurar los dominios permitidos de IAP, completa los siguientes pasos:
Consola
- Ve a la página IAP.
Ve a Identity-Aware Proxy. - Selecciona un proyecto y, luego, elige el recurso en el que deseas habilitar la función de dominios permitidos.
- Abre la Configuración del recurso. En Dominios permitidos, selecciona Habilitar los dominios permitidos.
- Especifica la lista de dominios permitidos y, luego, haz clic en Guardar.
gcloud
A continuación, se muestran algunos comandos de ejemplo para especificar los 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
En el ejemplo anterior, SETTING_FILE
es:
accessSettings:
allowed_domains_settings:
enable: true
domains: ["*.example.com", "*.example.net"]
Reemplaza lo siguiente:
- FOLDER: El ID de la carpeta
- ORGANIZATION: El ID de la organización.
- PROJECT: el ID del proyecto
- RESOURCE_TYPE: Es 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 deseas obtener más información sobre el uso de la API para configurar los dominios permitidos, consulta IapSettings.
- Ejecuta el siguiente comando para preparar un archivo
iap_settings.json
. Actualiza los valores según sea necesario.
{ "access_settings":{ "allowed_domains_settings":{ "enable": true "domains": [ "*.example.com", "*.exampe.net" ] } } }
- Para obtener el nombre del recurso, ejecuta el comando
gcloud iap settings get
. Copia el campo de nombre del resultado. Necesitarás el nombre en el siguiente paso.
gcloud iap settings get [--organization=ORGANIZATION --folder=FOLDER --project=/PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION]
- Reemplaza
RESOURCE_NAME
en el siguiente comando por el nombre del paso anterior. Se actualizará laIapSettings
.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @iap_settings.json \ "https://iap.googleapis.com/v1/RESOURCE_NAME:iapSettings?updateMask=iapSettings.accessSettings.allowedDomainsSettings.enable,iapSettings.accessSettings.allowedDomainsSettings.domains"
Soluciona problemas
Problema de acceso a los dominios permitidos
Si recibes el Código de error 53, pídele a un administrador de IAP que agregue tu nombre de host a la lista de dominios permitidos.