Restringir el acceso a recursos a dominios específicos

Para mejorar la seguridad general, IAP deniega de forma predeterminada el acceso a las solicitudes que no tienen un indicador de nombre de servidor (SNI) coincidente. IAP también comprueba el SNI del certificado del balanceador de carga. Esto permite que IAP restrinja la redirección de URLs a dominios maliciosos. La función de dominios permitidos de IAP proporciona una capa de seguridad adicional para tus recursos protegidos por IAP. Como propietario de un recurso o administrador de IAP, puedes restringir el acceso a los recursos protegidos mediante IAP a dominios específicos configurando la función de dominios permitidos.

También puedes configurar los dominios permitidos de las compras en la aplicación en los siguientes casos:

  • Tu navegador o un proxy intermedio está forzando la agrupación de conexiones: en este caso, recibes la respuesta HTTP 429 y el código de error 51. Para solucionar el problema, un administrador de IAP puede actualizar la lista de dominios permitidos para incluir el nombre de tu 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 solucionar el problema, un administrador de IAP puede actualizar la lista de dominios permitidos para incluir el nombre de tu host.

Configurar dominios permitidos

Puedes usar gcloud o la API para configurar los ajustes de dominios permitidos. Para configurar los dominios permitidos, utiliza los siguientes campos:

  • enable: booleano. Activa o desactiva la función de dominios permitidos.
  • Domains: cadena. La lista de dominios permitidos. Los dominios pueden contener prefijos 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 la compra en la aplicación, sigue estos pasos:

Consola

  1. Ve a la página de IAP.
    Ve a Identity-Aware Proxy.
  2. Selecciona un proyecto y, a continuación, el recurso en el que quieras habilitar la función de dominios permitidos.
  3. Abre Configuración del recurso. En Dominios permitidos, selecciona Habilitar dominios permitidos.
  4. Especifica la lista de dominios permitidos y, a continuación, haz clic en Guardar.

gcloud

A continuación se muestran algunos ejemplos de comandos 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

Donde SETTING_FILE es:

accessSettings:
  allowed_domains_settings:
    enable: true
    domains: ["*.example.com", "*.example.net"]

Haz los cambios siguientes:

  • 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 o folder.
  • SERVICE: el nombre del servicio. Es opcional cuando resource-type es compute o app-engine.
  • VERSION: el nombre de la versión. Esto no se aplica a compute y es opcional cuando resource-type es app-engine.

API

Para configurar los dominios permitidos, sigue estos pasos. Para obtener más información sobre cómo usar la API para configurar los dominios permitidos, consulta IapSettings.

  1. 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"
             ]
         }
     }
 }
  1. Obtén el nombre del recurso ejecutando el comando gcloud iap settings get. Copia el campo de nombre de la salida. 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
  1. Sustituye RESOURCE_NAME en el siguiente comando por el nombre del paso anterior. El IapSettings se actualizará.
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"

Solución de problemas

Problema de acceso a dominios permitidos
Si recibes el código de error 53, pide a un administrador de IAP que añada el nombre de tu host a la lista de dominios permitidos.