Cette page décrit comment créer par programmation des clients OAuth à utiliser avec IAP, vous permettant de configurer de bout en bout IAP par programmation pour les applications internes.
Limitations connues
Les clients OAuth créés par programmation à l'aide de cette API sont soumis à certaines restrictions:
- Les clients OAuth créés par l'API ne peuvent être modifiés qu'à l'aide de l'API. Vous ne pouvez pas modifier un client OAuth via la console Google Cloud s'il a été créé à l'aide de l'API.
- Les clients OAuth créés par l'API sont verrouillés pour une utilisation IAP uniquement. Par conséquent, l'API n'autorise aucune mise à jour de l'URI de redirection ni d'autres attributs.
- L'API ne fonctionne pas sur les clients OAuth créés à l'aide de la console Google Cloud .
- Seuls 500 clients OAuth sont autorisés par projet lors de l'utilisation de l'API.
- Les marques d'écran d'autorisation OAuth créées par l'API ont des limitations spécifiques. Pour en savoir plus, consultez la section ci-dessous.
Comprendre les marques et leur état
L'l'écran d'autorisation OAuth, qui contient des informations sur les marques pour les utilisateurs, est appelé marque. Les marques peuvent être limitées aux utilisateurs internes ou publics. Une marque interne rend le flux OAuth accessible à une personne qui appartient à la même organisation Google Workspace que le projet. Une marque publique rend le flux OAuth disponible à tous sur Internet.
Les marques peuvent être créées manuellement ou par programmation via une API. Les marques créées par l'API sont automatiquement configurées avec différents paramètres :
- Elles sont définies sur interne et doivent être définis manuellement sur public si vous le souhaitez.
- Elles sont définies sur un état "non révisé" et un examen de la marque doit être déclenché.
Pour définir manuellement une marque interne sur public :
- Ouvrez l'écran d'autorisation OAuth.
- Sélectionnez le projet souhaité dans le menu déroulant.
- Sur l'écran d'autorisation OAuth, notez que le Type d'utilisateur est automatiquement défini sur Interne. Pour le définir sur Public, cliquez sur Modifier l'application. D'autres options de configuration sont disponibles.
- Sous Type d'application, cliquez sur Public.
Pour déclencher une révision de marque pour une marque non révisée créée par l'API :
- Ouvrez l'écran d'autorisation OAuth.
- Sélectionnez le projet souhaité dans le menu déroulant.
- Sur la page Écran d'autorisation OAuth, saisissez les informations requises, puis cliquez sur Soumettre pour validation.
Le processus de validation peut prendre plusieurs semaines. Vous recevrez des informations concernant la progression de l'opération par e-mail. En savoir plus sur la validation. Tant que le processus de validation est en cours, vous pouvez toujours utiliser l'application dans votre organisation Google Workspace. En savoir plus sur le comportement de votre application avant sa validation.
Avant de commencer
Avant de pouvoir créer un client, assurez-vous d'abord que l'appelant a reçu les autorisations suivantes :
clientauthconfig.brands.listclientauthconfig.brands.createclientauthconfig.brands.getclientauthconfig.clients.createclientauthconfig.clients.listWithSecrets(uniquement obligatoire pour lister les clients OAuth avec un secret)clientauthconfig.clients.getWithSecretclientauthconfig.clients.deleteclientauthconfig.clients.update
Ces autorisations sont incluses dans les rôles de base d'éditeur (roles/editor) et de propriétaire (roles/owner), mais nous vous recommandons de créer un rôle personnalisé qui contient ces autorisations et les accorde à l'appelant à la place.
Configurer OAuth pour IAP
Les étapes suivantes décrivent comment configurer l'écran d'autorisation et créer et autoriser un client pour IAP.
Configuring consent screen
Check if you already have an existing brand by using the list command. You may only have one brand per project.
gcloud iap oauth-brands list
The following is an example gcloud response, if the brand exists:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: trueIf no brand exists, use the create command:
gcloud iap oauth-brands create --application_title=APPLICATION_TITLE --support_email=SUPPORT_EMAIL
The above fields are required when calling this API:
supportEmail: The support email displayed on the OAuth consent screen. This email address can either be a user's address or a Google Groups alias. While service accounts also have an email address, they are not actual valid email addresses, and cannot be used when creating a brand. However, a service account can be the owner of a Google Group. Either create a new Google Group or configure an existing group and set the desired service account as an owner of the group.applicationTitle: The application name displayed on OAuth consent screen.
The response contains the following fields:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: true
Creating an IAP OAuth Client
Use the create command to create a client. Use the brand
namefrom previous step.gcloud iap oauth-clients create projects/PROJECT_NUMBER/brands/BRAND-ID --display_name=NAME
The response contains the following fields:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_NAME]/identityAwareProxyClients/[CLIENT_ID] secret: [CLIENT_SECRET] displayName: [NAME]
Utilisez l'ID client (client_id dans l'exemple ci-dessus) et le secret pour activer IAP. Pour en savoir plus sur l'activation d'IAP à l'aide des identifiants que vous venez de créer, consultez les rubriques suivantes: