La reautenticación de IAP permite que los propietarios los administradores de Google Cloud exijan que los usuarios finales autenticados volver a autenticarse después de un período específico cuando se accede a un servicio o aplicación con la protección de IAP. Limita el período durante el cual un usuario accedan al servicio o a la aplicación protegidos con IAP se les solicitará que se autentiquen de nuevo.
La reautenticación de IAP está diseñada para aplicar de manera forzosa la reautenticación políticas para servicios y aplicaciones protegidos con IAP. Puedes hacerlo para servicios y aplicaciones esenciales que manejan información confidencial. Por ejemplo, puedes especificar que los usuarios que acceden a un recurso crítico de RR.HH. una aplicación volverá a autenticarse cada hora con un segundo factor.
Métodos de reautenticación compatibles
Puedes usar los siguientes métodos para administrar la configuración de reautenticación:
- Acceso: El IAP fuerza la reautorización de la aplicación protegida y los usuarios deben volver a acceder.
- Clave segura: Los usuarios finales deben volver a autenticarse con su autenticación de dos factores basada en llaves de seguridad configurada.
- Segundos factores inscritos: Los usuarios finales deben volver a autenticarse con uno de los métodos de autenticación de dos factores inscritos.
Para obtener más información, consulta IapSettings.
Configura una política de reautenticación
reauthSettings
son parte de IapSettings
y, por lo tanto, se pueden configurar en cualquier tipo de recurso de la jerarquía de recursos. Puedes establecer reauthSettings
en un servicio o una aplicación a nivel de la organización, la carpeta, el proyecto o el servicio para aplicar restricciones. Por ejemplo, puedes limitar la duración de la sesión a un máximo de una hora para todas las aplicaciones de una organización o para una aplicación específica.
Existen dos tipos de políticas que puedes usar para configurar la reautenticación:
Mínimo: Si el tipo de política se establece en
MINIMUM
en un recurso, como una organización, cuando se evalúa la configuración de la nueva autorización en el recurso de nivel inferior, como una carpeta, se combinan los dos parámetros de configuración. Si el recurso de nivel inferior no tiene una configuración de reautenticación, el resultado de la combinación es la configuración no vacía del recurso de nivel superior. De lo contrario, la combinación tomará la duración de la sesión más corta y el método de reautenticación de mayor prioridad entre los dos recursos. El tipo de política siempre seráMINIMUM
. La configuración de reautenticación combinada se usará para combinar con la configuración de reautenticación del siguiente recurso de nivel inferior, como un proyecto.El orden de prioridad de los tres métodos admitidos, de mayor a menor, es
Secure key
,Enrolled second factors
yLogin
.Predeterminada: Si el tipo de política se establece como
DEFAULT
en un recurso, como una organización, cuando se evalúa la configuración de la nueva autenticación en el recurso de nivel inferior, como una carpeta, se usa la configuración de recursos de nivel inferior si está configurada. De lo contrario, se aplica la configuración de la nueva autenticación de recursos de nivel superior.
Para ambos tipos de políticas, se repite el proceso de evaluación a fin de determinar el reauthSettings
para el servicio o la aplicación de destino.
En los siguientes ejemplos, se muestran los parámetros de configuración antes y después de la evaluación. Durante la evaluación, la carpeta y la organización reauthSettings
se combinan, lo que cambia el tipo de política de la carpeta a MINIMUM
. Luego, los parámetros de configuración combinados se usan para realizar la combinación con el servicio o la aplicación reauthSettings
.
Organización IapSettings
:
accessSettings:
reauthSettings:
method: "ENROLLED_SECOND_FACTORS"
maxAge: "3600s"
policyType: "MINIMUM"
Carpeta IapSettings
:
accessSettings:
reauthSettings:
method: "LOGIN"
maxAge: "1200s"
policyType: "DEFAULT"
Servicio o aplicación IapSettings
:
accessSettings:
reauthSettings:
method: "SECURE_KEY"
maxAge: "7200s"
policyType: "DEFAULT"
Configuración después de la combinación:
Organización IapSettings
:
accessSettings:
reauthSettings:
method: "ENROLLED_SECOND_FACTORS"
maxAge: "3600s"
policyType: "MINIMUM"
Carpeta IapSettings
:
accessSettings:
reauthSettings:
method: "ENROLLED_SECOND_FACTORS"
maxAge: "1200s"
policyType: "MINIMUM"
Servicio o aplicación IapSettings
:
accessSettings:
reauthSettings:
method: "SECURE_KEY"
maxAge: "1200s"
policyType: "MINIMUM"
En el ejemplo, si el tipo de política de cada recurso se establece como DEFAULT
, se usa el reauthSettings
del servicio o la aplicación.
MaxAge
Usa el parámetro MaxAge para especificar la frecuencia con la que un usuario final debe volver a autenticarse, indicado en segundos. Por ejemplo, para establecer una política de reautenticación de una hora, establece los segundos en 3600, como se muestra en el siguiente ejemplo:
accessSettings:
reauthSettings:
method: "LOGIN"
maxAge: "3600s"
policyType: "MINIMUM"
El valor mínimo de maxAge
es de cinco minutos.
Para establecer una política de reautenticación, completa los siguientes pasos.
Console
- Ve a la página Identity-Aware Proxy.
Ir a la página Identity-Aware Proxy Selecciona un proyecto y, luego, elige el recurso en el que deseas establecer una política de reautenticación.
Abre la Configuración del recurso y, en Política de reautenticación, selecciona Configurar la reautenticación.
Especifica la configuración de la reautorización y, luego, haz clic en Guardar.
gcloud
Puedes establecer una política de reautenticación en recursos y servicios a nivel de organización, proyecto y carpeta. A continuación, se incluyen algunos ejemplos de comandos para establecer una política de reautenticación.
Para obtener más información, consulta gcloud iap settings set
.
Ejecuta el siguiente comando:
gcloud iap settings set SETTING_FILE [--organization=ORGANIZATION --folder=FOLDER --project=/PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION
Para establecer una política de reautenticación en los recursos de una organización, ejecuta el siguiente comando:
gcloud iap settings set SETTING_FILE --organization=ORGANIZATION
Para establecer una política de reautenticación en los recursos de una carpeta, ejecuta el siguiente comando:
gcloud iap settings set SETTING_FILE --folder=FOLDER
Para establecer una política de reautenticación en todos los recursos de tipo web de un proyecto, ejecuta el siguiente comando:
gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=iap_web
Para establecer una política de reautenticación en un servicio de App Engine dentro de un proyecto, ejecuta el siguiente comando:
gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=app-engine --service=SERVICE
En el ejemplo anterior, SETTING_FILE
es:
accessSettings:
reauthSettings:
method: "LOGIN"
maxAge: "3600s"
policyType: "MINIMUM"
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
Ejecuta el siguiente comando para preparar un archivo iap_settings.json
. Actualiza los valores según sea necesario.
cat << EOF > iap_settings.json { "access_settings": { "reauth_settings": { "method": "LOGIN", "maxAge": "300s", "policy_type": "DEFAULT" } } } EOF
Ejecuta el comando gcloud iap settings get
para obtener el nombre del recurso. 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 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.reauthSettings"
Información sobre las credenciales de reautenticación
Después de una reautenticación exitosa, IAP crea una cookie en el navegador del usuario final. Para evitar que los usuarios tengan que volver a autenticarse con demasiada frecuencia Cuando se usan aplicaciones similares, la cookie se establece en el dominio privado de nivel superior y es válida para todo el dominio de nivel privado.
Por ejemplo, foo.example.com
es un recurso protegido por IAP
y tiene una política de reautenticación
de IAP. Después de una
reautenticación, IAP establece una cookie en example.com
como esa
es el dominio privado de nivel superior. Apps del mismo dominio privado de nivel superior
como bar.example.com
usan las mismas credenciales de reautenticación y no
para solicitarle al usuario que vuelva a autenticarse, siempre que las credenciales sean válidas.
Ten en cuenta que, para URLs como myapp.appspot.com
, appspot.com
es una etiqueta pública
por lo que el dominio privado de nivel superior es myapp.appspot.com
.
Limitaciones conocidas
- La reautenticación solo se admite en los flujos de navegadores. No se admite el acceso programático a la cuenta de usuario. Por ejemplo, las aplicaciones para dispositivos móviles y computadoras de escritorio no tienen forma de volver a autenticar usuarios, ya que los recursos que requieren reautenticación son inaccesibles.
- IAP-TCP y las cuentas de servicio están exentos de los requisitos de reautenticación.
- La reautenticación no funciona con el tipo de miembro de IAM
allUsers
. - Las identidades externas a través de Identity Platform no son compatibles con la reautenticación, ya que no se puede acceder a los recursos que requieren reautenticación.