En esta página se describe cómo crear clientes de OAuth de forma programática para usarlos con IAP, lo que te permite configurar IAP de forma programática de principio a fin para aplicaciones internas.
Limitaciones conocidas
Los clientes de OAuth creados mediante programación con esta API tienen algunas limitaciones:
- Los clientes de OAuth creados por la API solo se pueden modificar mediante la API. No puedes modificar un cliente de OAuth a través de la consola Google Cloud si se ha creado mediante la API.
- Los clientes de OAuth creados por la API solo se pueden usar con IAP, por lo que la API no permite actualizar la URI de redirección ni otros atributos.
- La API no funciona con los clientes de OAuth que se hayan creado con la consola. Google Cloud
- Solo se permiten 500 clientes de OAuth por proyecto al usar la API.
- Las marcas de pantallas de consentimiento de OAuth creadas mediante APIs tienen limitaciones específicas. Consulta la sección que aparece más abajo para obtener más información.
Información sobre 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 marca. Las marcas se pueden limitar a usuarios internos o públicos. Una marca interna hace que el flujo de OAuth sea accesible para alguien que pertenece a la misma organización de Google Workspace 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 manualmente o de forma programática a través de una API. Las marcas creadas mediante la API se configuran automáticamente con ajustes diferentes:
- Se definen como internas y deben definirse manualmente como públicas si se desea.
- Se les asigna el estado "sin revisar" y se debe activar una revisión de marca
Para definir manualmente una marca interna como pública, sigue estos pasos:
- Abre la pantalla de consentimiento de OAuth.
- Selecciona el proyecto que quieras en el menú desplegable.
- En la página Pantalla de consentimiento de OAuth, observe que el Tipo de usuario se ha definido automáticamente como Interno. Para cambiar el estado a Pública, haz clic en Editar aplicación. Se mostrarán más opciones de configuración.
- En Tipo de aplicación, haz clic en Pública.
Para activar una revisión de marca de una marca creada por una API que no se haya revisado, sigue estos pasos:
- Abre la pantalla de consentimiento de OAuth.
- Selecciona el proyecto que quieras en el menú desplegable.
- En la página Pantalla de consentimiento de OAuth, introduce la información necesaria y haz clic en Enviar para verificación.
El proceso de verificación puede tardar varias semanas. A medida que avance, irás recibiendo actualizaciones por correo electrónico. Más información sobre la verificación. Mientras se lleva a cabo el proceso de verificación, puedes seguir usando la aplicación en tu organización de Google Workspace. Consulta más información sobre el comportamiento de tu aplicación antes de que se verifique.
Antes de empezar
Antes de crear un cliente, asegúrate de que el llamante tenga los siguientes permisos:
clientauthconfig.brands.list
clientauthconfig.brands.create
clientauthconfig.brands.get
clientauthconfig.clients.create
clientauthconfig.clients.listWithSecrets
(Solo es necesario para enumerar los clientes de OAuth con secreto).clientauthconfig.clients.getWithSecret
clientauthconfig.clients.delete
clientauthconfig.clients.update
Estos permisos se incluyen en los roles básicos Editor (roles/editor
) y Propietario (roles/owner
).
Sin embargo, te recomendamos que crees un rol personalizado que contenga estos permisos y que lo asignes al llamante.
Configurar OAuth para IAP
En los siguientes pasos se describe cómo configurar la pantalla de consentimiento y crear un cliente de OAuth para las compras en la aplicación.
Configurar la pantalla de consentimiento
Comprueba si ya tienes una marca con el comando list. Solo puedes tener una marca por proyecto.
gcloud iap oauth-brands list
A continuación, se muestra 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 hay ninguna marca, usa el comando create:
gcloud iap oauth-brands create --application_title=APPLICATION_TITLE --support_email=SUPPORT_EMAIL
Los campos anteriores son obligatorios al llamar a esta API:
supportEmail
: el correo de asistencia que se muestra en la pantalla de consentimiento de OAuth. Esta dirección de correo puede ser la de un usuario o un alias de Grupos de Google. Aunque las cuentas de servicio también tienen una dirección de correo, no son direcciones de correo válidas y no se pueden usar para crear una marca. Sin embargo, una cuenta de servicio puede ser la propietaria de un grupo de Google. Crea un grupo de Google o configura uno que ya tengas y asigna la cuenta de servicio que quieras como propietario del grupo.applicationTitle
: 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
Crear un cliente de OAuth de 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]
Usa el ID de cliente (client_id
en el ejemplo anterior) y secret
para habilitar las compras en la aplicación. Para obtener más información sobre cómo habilitar las compras en la aplicación con las credenciales que acabas de crear, consulta los siguientes temas:
- IAP para Kubernetes Engine
- Compras en la aplicación para App Engine
- IAP para Compute Engine
- IAP para Cloud Run