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.list
clientauthconfig.brands.create
clientauthconfig.brands.get
clientauthconfig.clients.create
clientauthconfig.clients.listWithSecrets
(uniquement pour lister les clients OAuth avec un secret)clientauthconfig.clients.getWithSecret
clientauthconfig.clients.delete
clientauthconfig.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.
Configurer l'écran d'autorisation
Vérifiez que vous disposez déjà d'une marque à l'aide de la commande list. Vous ne pouvez disposer que d'une seule marque par projet.
gcloud iap oauth-brands list
Voici un exemple de réponse gcloud, si la marque existe :
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: true
Si aucune marque n'existe, utilisez la commande create :
gcloud iap oauth-brands create --application_title=APPLICATION_TITLE --support_email=SUPPORT_EMAIL
Les champs ci-dessus sont obligatoires lors de l'appel de cette API :
supportEmail
: l'adresse e-mail d'assistance affichée sur l'écran d'autorisation OAuth. Il peut s'agir de l'adresse e-mail d'un utilisateur ou d'un alias d'adresses e-mail de Google Groupes. Bien que les comptes de service possèdent également une adresse e-mail, celles-ci ne sont pas valides et ne peuvent pas être utilisées lors de la création d'une marque. Toutefois, un compte de service peut être propriétaire d'un groupe Google. Créez un groupe Google ou configurez un groupe existant, puis définissez le compte de service souhaité en tant que propriétaire du groupe.applicationTitle
: nom de l'application affiché sur l'écran d'autorisation OAuth.
La réponse contient les champs suivants :
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: true
Créer un client OAuth IAP
Utilisez la commande "create" pour créer un client. Utilisez la marque
name
de l'étape précédente.gcloud iap oauth-clients create projects/PROJECT_NUMBER/brands/BRAND-ID --display_name=NAME
La réponse contient les champs suivants :
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: