En esta página, se describe cómo crear un cliente de OAuth cuando se usa la configuración de OAuth personalizada para habilitar IAP con identidades de Google.
Crea un cliente de OAuth
Puedes crear un máximo de 36 clientes de OAuth para cada proyecto con Google Cloud Console. Puedes crear un máximo de 500 clientes de OAuth para cada proyecto con Google Cloud CLI.
Console
Completa los siguientes pasos para crear un cliente de OAuth con la consola de Google Cloud.
Para configurar la pantalla de consentimiento de OAuth, sigue las instrucciones que se indican en Configura la pantalla de consentimiento de OAuth.
Sigue las instrucciones que se indican en Cómo configurar OAuth 2.0 para crear un cliente de OAuth.
gcloud
Limitaciones conocidas
A continuación, se incluyen las limitaciones para los clientes de OAuth creados de manera programática con la API:
- Los clientes de OAuth creados por la API solo se pueden modificar mediante la API. No puedes modificar un cliente de OAuth con la consola de Google Cloud si se creó con la API.
- Los clientes de OAuth creados por la API están bloqueados solo para el uso de IAP y, por lo tanto, la API no permite ninguna actualización del URI de redireccionamiento ni de otros atributos.
- La API no opera en los clientes de OAuth que se crearon con la consola de Google Cloud.
- Solo se permiten 500 clientes de OAuth por proyecto cuando se utiliza la API.
- Las marcas de la pantalla de consentimiento de OAuth creadas por las API tienen limitaciones específicas. Consulta la sección para obtener más información.
Comprende las marcas y el estado de la marca
La pantalla de consentimiento de OAuth, que contiene información de marca para los usuarios, se conoce como una marca. Las marcas pueden estar limitadas a usuarios internos o a usuarios públicos. Una marca interna hace que el flujo de OAuth sea accesible para alguien que pertenece a la misma organización del lugar de trabajo de Google que el proyecto. Una marca pública hace que el flujo de OAuth esté disponible para cualquier persona en Internet.
Las marcas se pueden crear de forma manual o programática con una API. Las marcas creadas con una API se configuran automáticamente con la siguiente configuración:
Interno Debes configurarlo como público de forma manual.
Sin revisar. Debes activar una revisión de marca.
Para configurar una marca interna como pública, haz lo siguiente:
- Abre la Pantalla de consentimiento de OAuth.
- Selecciona un proyecto en el menú desplegable.
- En la página Pantalla de consentimiento de OAuth, ten en cuenta que el Tipo de usuario se establece automáticamente en Interno. Para configurarlo en Público, haz clic en Editar aplicación. Hay más opciones de configuración disponibles.
- En Tipo de aplicación, haz clic en Público.
Para activar una revisión de marca para una marca no revisada creada por API, sigue estos pasos:
- Abre la Pantalla de consentimiento de OAuth.
- Selecciona tu proyecto en el menú desplegable.
- En la página Pantalla de consentimiento de OAuth, ingresa la información requerida y, luego, haz clic en Enviar para verificación.
El proceso de verificación puede demorar varias semanas. Recibirás actualizaciones por correo electrónico a medida que progrese. Más información sobre la verificación. Mientras el proceso de verificación está en curso, puedes usar la aplicación dentro de tu organización de Google Workspace. Obtén más información sobre cómo se comportará tu aplicación antes de que se verifique.
Permisos necesarios
Antes de crear el cliente, asegúrate de que la persona que llama tenga otorgados los siguientes permisos:
clientauthconfig.brands.list
clientauthconfig.brands.create
clientauthconfig.brands.get
clientauthconfig.clients.create
clientauthconfig.clients.listWithSecrets
clientauthconfig.clients.getWithSecret
clientauthconfig.clients.delete
clientauthconfig.clients.update
Estos permisos se incluyen en las funciones básicas, Editor (roles/editor
) y el Propietario (roles/owner
), sin embargo, te recomendamos que crees una función personalizada que contenga estos permisos y otorgarlos a la persona que llama.
Configura OAuth para IAP
En los siguientes pasos. se describe cómo configurar la pantalla de consentimiento y crear un cliente de OAuth para IAP.
Configura la pantalla de consentimiento
Para verificar si ya tienes una marca existente, usa el comando list. Solo puedes tener una marca por proyecto.
gcloud iap oauth-brands list
El siguiente es un ejemplo de respuesta de gcloud, si la marca existe:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: true
Si no existe una marca, usa el comando create:
gcloud iap oauth-brands create --application_title=APPLICATION_TITLE --support_email=SUPPORT_EMAIL
Los campos anteriores son obligatorios cuando se llama a esta API:
supportEmail
: Es el correo electrónico de asistencia que se muestra en la pantalla de consentimiento de OAuth. Esta dirección de correo electrónico puede ser la dirección de un usuario o un alias de Grupos de Google. Si bien las cuentas de servicio también tienen una dirección de correo electrónico, no son direcciones de correo electrónico válidas reales y no se pueden usar cuando se crea una marca. Sin embargo, una cuenta de servicio puede ser propietaria de un Grupo de Google. Crea un Grupo de Google nuevo o configura un grupo existente y configura la cuenta de servicio deseada como propietaria del grupo.applicationTitle
: Es el nombre de la aplicación que se muestra en la pantalla de consentimiento de OAuth.
La respuesta contiene los siguientes campos:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: true
Crea un cliente de OAuth para IAP
Usa el comando create para crear un cliente. Usa la marca
name
del paso anterior:gcloud iap oauth-clients create projects/PROJECT_NUMBER/brands/BRAND-ID --display_name=NAME
La respuesta contiene los siguientes campos:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_NAME]/identityAwareProxyClients/[CLIENT_ID] secret: [CLIENT_SECRET] displayName: [NAME]