Gérer les profils d'authentification
Les tâches de votre Application Integration peuvent nécessiter une connexion à une application, un service ou une source de données externe. Un profil d'authentification vous permet de configurer et de stocker les détails de l'authentification pour la connexion dans Application Integration. Vous pouvez configurer la tâche pour qu'elle utilise le profil d'authentification stocké. La création d'un profil d'authentification est une opération unique. Vous pouvez réutiliser le même profil dans plusieurs intégrations.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les profils d'authentification, demandez à votre administrateur de vous accorder les rôles IAM suivants sur une intégration :
- Administrateur Application Integration (
roles/integrations.integrationAdmin) -
Créez des profils d'authentification :
Éditeur Application Integration (
roles/integrations.integrationEditor) -
Modifiez les profils d'authentification :
Éditeur Application Integration (
roles/integrations.integrationEditor) -
Supprimer les profils d'authentification : Administrateur Application Integration (
roles/integrations.integrationAdmin)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer un ID client OAuth 2.0
Un ID client sert à identifier une application unique auprès des serveurs OAuth de Google. Si votre application s'exécute sur plusieurs plates-formes, chacune d'elle devra posséder son propre ID client. Pour utiliser OAuth 2.0 dans votre application, vous avez besoin d'un ID client OAuth 2.0, que votre application utilise pour demander un jeton d'accès OAuth 2.0.
Pour créer un ID client OAuth 2.0, procédez comme suit :
- Dans la console Google Cloud , accédez à API et services > Identifiants.
- Cliquez sur Créer des identifiants et sélectionnez ID client OAuth dans la liste des options disponibles.
La page Créer un ID client OAuth s'affiche.
- Type d'application : sélectionnez Application Web dans la liste déroulante.
- Nom : saisissez un nom pour votre client OAuth 2.0 afin d'identifier le client dans la console Cloud.
- Sous URI de redirection autorisés, cliquez sur +Ajouter un URI et saisissez les informations suivantes :
https://console.cloud.google.com/integrations/callback/locations/AUTH_PROFILE_REGION
- Cliquez sur Créer.
Un ID client OAuth 2.0 a bien été créé.
Créer un nouveau profil d'authentification
Pour créer un profil d'authentification, sélectionnez l'une des options suivantes :
Console
- Dans la console Google Cloud , accédez à la page Application Integration.
- Dans le menu de navigation, cliquez sur Profils d'authentification.
- Cliquez sur Créer et saisissez les informations suivantes :
- Dans le champ Nom du profil, saisissez le nom du profil d'authentification à afficher dans l'éditeur d'intégration.
- Dans la liste Région, sélectionnez une région pour le profil d'authentification.
- Dans le champ Description, saisissez une description du profil d'authentification.
- Cliquez sur Continuer.
- Dans la liste Type d'authentification, sélectionnez le type d'authentification et saisissez les informations requises. En fonction de votre sélection, la boîte de dialogue affiche des champs supplémentaires requis pour les identifiants d'authentification. Vous pouvez sélectionner l'un des types d'authentification suivants :
- Vous pouvez également ajouter des certificats client SSL/TLS utilisés par le serveur pour valider l'identité d'un client. Vous pouvez saisir les informations suivantes :
- Certificat SSL
- Clé privée
- Phrase secrète de la clé privée
La région que vous sélectionnez ici doit être la même que celle de
AUTH_PROFILE_REGIONutilisée dans les URI de redirection autorisées lorsque vous avez créé l'ID client OAuth 2.0. - Cliquez sur Créer.
La page Profils d'authentification s'affiche.
Terraform
Utilisez la ressource google_integrations_client.
Vous pouvez utiliser Terraform pour créer les profils d'authentification suivants :
- Jeton d'authentification
- Certification des clients SSL/TLS seulement
- Jeton Web JSON (JWT)
- Code d'autorisation OAuth 2.0
- Identifiants clients OAuth 2.0
- Jeton d'ID OIDC
- Compte de service
Jeton d'authentification
L'exemple suivant crée un type d'authentification par jeton d'authentification dans la région us-central1 :
Certification des clients SSL/TLS
L'exemple suivant crée un type d'authentification par certification des clients SSL/TLS dans la région us-central1 :
Jeton Web JSON (JWT)
L'exemple suivant crée un type d'authentification par jeton Web JSON (JWT) dans la région us-central1 :
Code d'autorisation OAuth 2.0
L'exemple suivant crée un type d'authentification par certification des clients SSL/TLS dans la région us-central1 :
Identifiants clients OAuth 2.0
L'exemple suivant crée un type d'authentification par identifiants client OAuth 2.0 dans la région us-central1 :
Jeton d'ID Google OIDC
L'exemple suivant crée un type d'authentification par jeton d'ID Google OIDC dans la région us-central1 :
resource "random_id" "default" {
byte_length = 8
}
resource "google_service_account" "service_account" {
account_id = "sa-${random_id.default.hex}"
display_name = "Service Account"
}
resource "google_integrations_auth_config" "auth_config_oidc_token" {
location = "us-central1"
display_name = "tf-oidc-token"
description = "Test auth config created via terraform"
decrypted_credential {
credential_type = "OIDC_TOKEN"
oidc_token {
service_account_email = google_service_account.service_account.email
audience = "https://us-central1-project.cloudfunctions.net/functionA 1234987819200.apps.googleusercontent.com"
}
}
depends_on = [google_service_account.service_account, google_integrations_client.client]
}
Compte de service
L'exemple suivant crée un type d'authentification par compte de service dans la région us-central1 :
resource "random_id" "default" {
byte_length = 8
}
resource "google_service_account" "service_account" {
account_id = "sa-${random_id.default.hex}"
display_name = "Service Account"
}
resource "google_integrations_auth_config" "auth_config_service_account" {
location = "us-central1"
display_name = "tf-service-account"
description = "Test auth config created via terraform"
decrypted_credential {
credential_type = "SERVICE_ACCOUNT"
service_account_credentials {
service_account = google_service_account.service_account.email
scope = "https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/adexchange.buyer https://www.googleapis.com/auth/admob.readonly"
}
}
depends_on = [google_service_account.service_account, google_integrations_client.client]
}
Une fois enregistré, le nouveau profil d'authentification est disponible dans la liste déroulante Profil d'autorisation à utiliser de toute tâche nécessitant une authentification.
Facultatif. Si vous n'avez pas créé de profil d'authentification avant de configurer une tâche d'intégration, vous pouvez accéder à la boîte de dialogue de création du profil en sélectionnant + Ajouter un profil d'authentification depuis la liste déroulante Profil d'autorisation à utiliser dans le volet de configuration de la tâche. Suivez les étapes précédentes pour créer un nouveau profil d'authentification.
Modifier les profils d'authentification
Pour modifier un profil d'authentification, procédez comme suit :
- Dans la console Google Cloud , accédez à la page Application Integration.
- Dans le menu de navigation, cliquez sur Profils d'authentification.
- Sélectionnez une région pour le profil d'authentification à l'aide du menu déroulant de la page Profils d'authentification.
- Cliquez sur (menu d'actions), puis sur Modifier.
La boîte de dialogue Profils d'authentification s'affiche.
- Modifiez les détails, puis cliquez sur Enregistrer.
La page Profils d'authentification s'affiche.
Lorsque vous modifiez un profil d'authentification, tenez compte des points suivants :
- Si vous modifiez un profil d'authentification utilisé par une tâche dans une intégration brouillon, publiez l'intégration pour que les modifications prennent effet. Lorsque vous testez une intégration brouillon, elle utilise toujours le profil d'authentification de la dernière version publiée.
- Si une tâche d'une intégration avec un mécanisme de réessai utilise un profil d'authentification, publiez l'intégration après avoir mis à jour le profil pour vous assurer que la tâche utilise le profil mis à jour.
Supprimer les profils d'authentification
Pour supprimer un profil d'authentification, procédez comme suit :
- Dans la console Google Cloud , accédez à la page Application Integration.
- Dans le menu de navigation, cliquez sur Profils d'authentification.
- Sélectionnez une région pour le profil d'authentification à l'aide du menu déroulant de la page Profils d'authentification.
- Cliquez sur Supprimer.
La page Profils d'authentification s'affiche.
Types d'authentification
Le type d'authentification requis pour effectuer une tâche d'intégration dépend de l'authentification configurée dans le serveur d'autorisation. Le serveur d'autorisation peut être un serveur autonome ou une API qui émet des identifiants au client appelant. Application Integration est compatible avec les types d'authentification suivants :
- Jeton d'authentification
- Jeton d'ID Google OIDC
- Jeton Web JSON (JWT)
- Code d'autorisation OAuth 2.0
- Identifiants clients OAuth 2.0
- Identifiants de mots de passe des propriétaires de ressources OAuth 2.0
- Certification des clients SSL/TLS seulement
- Compte de service
Les sections suivantes décrivent les propriétés de configuration des types d'authentification.
Jeton d'authentification
Le type d'authentification par jeton d'authentification utilise un jeton (identifiants) pour l'authentification. Les identifiants sont envoyés au serveur dans l'en-tête de requête HTTPAuthorization au format Authorization: TYPE CREDENTIALS. Pour configurer ce type d'authentification, définissez les propriétés suivantes :
- Type : type d'authentification, tel que
Basic,BearerouMAC. - Jeton : identifiants pour le type d'authentification.
Si le serveur d'authentification nécessite un certificat SSL/TLS, importez le certificat et la clé privée.
Pour découvrir quelles tâches sont compatibles avec ce type d'authentification, consultez la section Compatibilité des types d'authentification avec les tâches.Jeton d'ID Google OIDC
Le type d'authentification Jeton d'ID OIDC Google utilise des jetons Web JSON (JWT) pour l'authentification. Le fournisseur OIDC (Google OpenID Connect), accounts.google.com, signe et émet ces jetons JWT pour l'authentification à l'aide d'un compte de service. Pour configurer ce type d'authentification, définissez les propriétés suivantes :- Compte de service : compte de service (principal) de votre projet Google Cloud autorisé à accéder à votre API.
- Audience : audience du jeton OIDC (qui identifie les destinataires auxquels le jeton JWT est destiné). Par exemple, URL du déclencheur est l'audience de la tâche Cloud Functions.
Jeton Web JSON (JWT)
Le type d'authentification JWT utilise un jeton Web JSON (JWT) pour l'authentification. Pour plus d'informations sur les jetons JWT, consultez le document RFC7519. Pour configurer ce type d'authentification, définissez les propriétés suivantes :- En-tête JWT : algorithme pour générer la signature.
Remarque : Vous ne pouvez spécifier que l'algorithme HS256.
- Charge utile JWT : ensemble de revendications. Vous pouvez utiliser des revendications enregistrées, publiques ou personnalisées.
- Secret : clé partagée entre le client et le serveur d'authentification.
Si le serveur d'authentification nécessite un certificat SSL, importez le certificat et la clé privée à l'aide du sélecteur de fichier. Saisissez la phrase secrète de la clé privée.
Pour découvrir quelles tâches sont compatibles avec ce type d'authentification, consultez la section Compatibilité des types d'authentification avec les tâches.Code d'autorisation OAuth 2.0
Le type d'authentification Code d'autorisation OAuth 2.0 utilise un jeton d'autorisation OAuth 2.0 pour l'authentification. Pour configurer ce type d'authentification, définissez les propriétés suivantes :