Restringe el acceso a los recursos a dominios específicos

Para mejorar la seguridad general, IAP deniega, de forma predeterminada, el acceso a que no tienen una indicación de nombre de servidor (SNI) coincidente. IAP también verifica la SNI del certificado del balanceador de cargas. Esto permite IAP para restringir el redireccionamiento de URL a dominios maliciosos. El La función de dominios permitidos de IAP proporciona una capa de seguridad para tus recursos protegidos con IAP. Como propietario de un recurso o IAP, puedes restringir el acceso a Recursos protegidos con IAP a dominios específicos mediante la configuración la función de dominios permitidos.

También puedes configurar dominios permitidos de IAP en las siguientes situaciones:

  • Tu navegador o un proxy intermedio está forzando el grupo 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 que incluya tu nombre de host.
  • El nombre de host proporcionado no coincide con el certificado SSL del servidor: En este caso, recibirás un código de error 52. Para resolver el problema, un administrador de IAP puede actualizar la lista de dominios permitidos para que incluya tu nombre de host.

Configura los dominios permitidos

Puedes usar gcloud o la API para configurar la configuración de dominios permitidos. Para configurar los dominios permitidos, usa los siguientes campos:

  • enable: Booleano. Activa o desactiva la función de dominios permitidos.
  • Domains: Es una cadena. 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:

Console

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

gcloud

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

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: 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: Es 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, completa los siguientes pasos. Si quieres obtener más información sobre el uso de la API para configurar 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 mediante la ejecución del 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
  1. Reemplaza RESOURCE_NAME en el siguiente comando por el nombre que figura en el paso anterior. Se actualizará IapSettings.
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 del IAP que agregue tu nombre de host a la lista de dominios permitidos.