En esta página, se describe cómo configurar y usar el reenvío de TCP de Identity-Aware Proxy (IAP) con una dirección IP o un nombre de host en un entorno Google Cloud o que no sea deGoogle Cloud .
Descripción general
Puedes usar la Google Cloud CLI para crear túneles a los recursos con una dirección IP privada o un nombre de host del recurso. Si tienes recursos externos en entornos que no son deGoogle Cloud conectados a Google Cloud través de Cloud Interconnect o una VPN, puedes usar el reenvío de TCP de IAP con esos recursos.
Antes de comenzar
Si necesitas crear un túnel a recursos fuera de Google Cloud, debes tener configurada la conectividad híbrida. La conectividad híbrida es necesaria para conectar tus recursos externos que no son deGoogle Cloud a Google Cloud. Para obtener más información, consulta la documentación de Cloud Interconnect o Cloud VPN.
Tu Cloud Router debe anunciar el rango de IP de IAP-TCP 35.235.240.0/20, de modo que los destinos envíen el tráfico de respuesta a través de Cloud VPN o Cloud Interconnect, y no a través de Internet. Si no tienes esta configuración, no puedes crear túneles a recursos externos a
tu Google Cloud proyecto.
Para configurar tu Cloud Router para que anuncie el rango de IP de IAP-TCP 35.235.240.0/20, sigue las instrucciones que se indican en Anuncia rangos de IP personalizados.
En los siguientes procedimientos, se proporcionan ejemplos de Google Cloud CLI para completar las tareas. Para obtener información sobre cómo interactuar con los grupos de destino mediante las APIs, consulta Recurso de REST: projects.iap_tunnel.locations.destGroups.
Crea un grupo de destino de túnel
Cuando configuras un túnel, especificas un grupo de destino de túnel para usarlo en las verificaciones de permisos. Los grupos de destino de túnel representan recursos que tienen las mismas restricciones de acceso al túnel. Puedes crear cualquier cantidad de grupos de destino, cada uno con cualquier cantidad de rangos de IP o nombres de dominio completamente calificados (FQDN) coincidentes. Los grupos de destino pueden superponerse para obtener más flexibilidad.
Cuando creas un grupo de destino, debes especificar una región. Para obtener los mejores resultados, la región que especifiques debe coincidir con la ubicación de los recursos de destino. Por ejemplo, si los recursos están conectados por una VPN, debes usar la región de la puerta de enlace de VPN.
Para crear un grupo de destino, debes tener el permiso iap.tunnelDestGroups.create, que puedes otorgar a través del rol iap.tunnelDestGroupEditor. Para otorgar un solo
rol, consulta Otorga un solo rol
en la documentación de IAM.
Console
Ve a la página de IAP y selecciona un proyecto si aún no se seleccionó uno.
En la pestaña Recursos SSH y TCP, haz clic en Crear grupo de destino.
Ingresa un nombre para tu grupo. El nombre del grupo solo puede contener letras en minúscula (a-z) y guiones (-).
En la lista desplegable, selecciona la región en la que se creará el grupo de destino.
En la sección Dirección IP , haz clic en Agregar fila y, luego, ingresa las direcciones IP o los FQDN de los recursos.
Un rango de IP consta de rangos separados por comas que usan la notación CIDR, como
10.1.2.0/24,172.0.0.0/8.Una lista de FQDN es una lista de nombres de host separados por comas, como
*.internal.company.com. Puedes usar comodines con tu entrada de FQDN.Haz clic en Crear grupo de destino.
gcloud
gcloud iap tcp dest-groups createYOUR_GROUP_NAME\ --region=REGION\ --ip-range-list=IP_RANGE_LIST\ --fqdn-list=FQDN_LIST
Reemplaza lo siguiente:
YOUR_GROUP_NAME: Es el nombre de tu grupo. El nombre de un grupo solo puede contener letras en minúscula (a-z) y guiones (-).REGION: Es la región en la que se creará el grupo de destino, comous-central1.IP_RANGE_LIST: Es opcional. La lista de rangos de IP, que consta de rangos separados por comas que usan la notación CIDR, como10.1.2.0/24,172.0.0.0/8.FQDN_LIST: Es opcional. La lista de FQDN es una lista de nombres de host separados por comas, como*.internal.company.com. Si una entrada de FQDN tiene un prefijo comodín, coincidirá con cualquier nombre de host con el final especificado. De lo contrario, requiere una coincidencia exacta. Si una solicitud coincide con algún rango de IP o FQDN, se considera una coincidencia.
Si no estás seguro de qué grupos ya existen, ejecuta el siguiente comando para enumerarlos:
gcloud iap tcp dest-groups list \
--region=REGION
Administra grupos de destino de túneles
Puedes ver los detalles de un grupo de destino, modificarlo y quitarlo.
Console
Ve a la página de IAP y haz clic en la pestaña Recursos SSH y TCP.
Para ver los detalles de un grupo de destino, haz clic en el nombre del grupo de destino.
Para modificar un grupo de destino, selecciona el grupo de destino y, luego, haz clic en el ícono de lápiz para abrir el panel Editar grupo de destino. También puedes borrar el grupo de destino desde este panel.
Para quitar un grupo de destino, selecciona el grupo de destino y, luego, haz clic en el ícono de papelera.
gcloud
Para obtener detalles sobre cómo administrar grupos de destino con gcloud CLI, consulta los comandos gcloud del grupo de destino.
Configura los permisos de túnel
Para crear un túnel, debes tener el permiso iap.tunnelDestGroups.accessViaIAP en el grupo de destino pertinente. Puedes otorgar el permiso a través del rol iap.tunnelResourceAccessor.
Para configurar permisos en grupos de destino, debes tener el permiso iap.tunnelDestGroups.setIamPolicy, que puedes otorgar a través del rol iap.admin.
Console
Ve a la página de IAP.
En la pestaña Recursos SSH y TCP, selecciona el grupo de destino para el que deseas configurar permisos.
En el panel que se abre, haz clic en Agregar entidad y, luego, ingresa una dirección de correo electrónico para el usuario.
En la sección Asignar roles, selecciona un rol para asignarle a la entidad.
Haz clic en Guardar.
gcloud
gcloud iap tcp dest-groups add-iam-policy-binding \ --member=MEMBER \ --role=ROLE \ --dest-group=GROUP_NAME \ --region=REGION
Reemplaza lo siguiente:
MEMBER: Es la dirección de correo electrónico del usuario, como
user:exampleuser@company.com.ROLE: Es el rol de IAP requerido,
roles/iap.tunnelResourceAccessor.GROUP_NAME: Es el nombre del grupo de destino.
REGION: Es el nombre de la región, como
us-central1.
Información sobre el uso de túneles
Hay tres comandos de gcloud CLI que puedes usar cuando trabajas con IAP-TCP: start-iap-tunnel,