Cette page explique comment sécuriser une instance Compute Engine avec Identity-Aware Proxy (IAP).
Avant de commencer
Pour activer IAP pour Compute Engine, vous devez disposer des éléments suivants :
- Un projet de la console Google Cloud avec la facturation activée
- Un groupe d'une ou plusieurs instances Compute Engine desservies par un équilibreur de charge
- Découvrez comment configurer un équilibreur de charge HTTPS externe.
- Découvrez comment configurer un équilibreur de charge HTTP interne.
- Un nom de domaine enregistré à l'adresse de votre équilibreur de charge
- Un code d'application pour vérifier que toutes les requêtes ont une identité
- Découvrez comment obtenir l'identité de l'utilisateur.
Si votre instance Compute Engine n'est pas déjà configurée, consultez la page Configurer IAP pour Compute Engine pour obtenir une présentation complète.
IAP authentifie les utilisateurs à l'aide d'un client OAuth géré par Google. Seuls les utilisateurs de l'organisation peuvent accéder à l'application compatible avec IAP. Si vous souhaitez autoriser l'accès à des utilisateurs externes à votre organisation, consultez la section Activer IAP pour les applications externes.
Activer IAP
Console
Le client OAuth géré par Google n'est pas disponible lorsque vous activez IAP à l'aide de la console Google Cloud.
Si vous n'avez pas configuré l'écran de consentement OAuth de votre projet, vous êtes invité à le faire. Pour configurer votre écran de consentement OAuth, consultez la section Configurer votre écran de consentement OAuth.
Configurer l'accès à IAP
-
Accédez à la page Identity-Aware Proxy.
Accéder à la page "Identity-Aware Proxy" - Sélectionnez le projet que vous souhaitez sécuriser avec IAP.
-
Cochez la case à côté de la ressource à laquelle vous souhaitez accorder l'accès.
Si vous ne voyez pas une ressource, vérifiez qu'elle est créée et que le contrôleur d'entrée BackendConfig Compute Engine est synchronisé.
Pour vérifier que le service de backend est disponible, exécutez la commande gcloud suivante:
gcloud compute backend-services list
- Dans le panneau de droite, cliquez sur Ajouter un compte principal.
-
Dans la boîte de dialogue Ajouter des comptes principaux qui s'affiche, saisissez les adresses e-mail des groupes ou des personnes auxquels vous souhaitez accorder le rôle Utilisateur de l'application Web sécurisée par IAP pour le projet.
Les types de comptes principaux suivants peuvent disposer de ce rôle:
- Compte Google : user@gmail.com
- Groupe Google : admins@googlegroups.com
- Compte de service : server@example.gserviceaccount.com
- Domaine Google Workspace : example.com
Veillez à ajouter un compte Google auquel vous avez accès.
- Sélectionnez Cloud IAP > Utilisateur de l'application Web sécurisée par IAP dans la liste déroulante Rôles.
- Cliquez sur Enregistrer.
Activer IAP
-
Sur la page Identity-Aware Proxy, sous APPLICATIONS, recherchez l'équilibreur de charge qui diffuse le group instance dont vous souhaitez restreindre l'accès. Pour activer IAP pour une ressource,
Pour activer IAP, procédez comme suit :- Au moins un protocole de la configuration de l'interface de l'équilibreur de charge doit être HTTPS. Découvrez comment configurer un équilibreur de charge.
-
Vous avez besoin des autorisations
compute.backendServices.update
,clientauthconfig.clients.create
etclientauthconfig.clients.getWithSecret
. Ces autorisations sont accordées par des rôles (par exemple, Éditeur de projet). Pour en savoir plus, consultez la page Gérer les accès aux ressources sécurisées par IAP.
- Dans la fenêtre Activer IAP qui s'affiche, cliquez sur Activer pour confirmer que vous souhaitez qu'IAP sécurise votre ressource. Une fois IAP activé, des identifiants de connexion sont requis pour toutes les connexions à votre équilibreur de charge. Seuls les comptes disposant du rôle Utilisateur de l'application Web sécurisée par IAP sur le projet y ont accès.
gcloud
Avant de configurer votre projet et IAP, vous avez besoin d'une version à jour de gcloud CLI. Pour savoir comment installer gcloud CLI, consultez Installer gcloud CLI.
-
Pour vous authentifier, utilisez Google Cloud CLI et exécutez la commande suivante.
gcloud auth login
- Pour vous connecter, suivez l'URL qui s'affiche.
- Une fois la connexion effectuée, copiez le code de validation qui s'affiche et collez-le dans la ligne de commande.
-
Exécutez la commande suivante pour spécifier le projet contenant la ressource que vous souhaitez protéger avec IAP.
gcloud config set project PROJECT_ID
-
Pour activer IAP, exécutez la commande globale ou régionale.
Champ d'application global
Champ d'application régionalgcloud compute backend-services update BACKEND_SERVICE_NAME --global --iap=enabled
gcloud compute backend-services update BACKEND_SERVICE_NAME --region REGION_NAME --iap=enabled
Après avoir activé IAP, vous pouvez utiliser gcloud CLI pour modifier la stratégie d'accès IAP à l'aide du rôle IAM roles/iap.httpsResourceAccessor
. Découvrez comment gérer les rôles et les autorisations.
API
Exécutez la commande suivante pour préparer un fichier
settings.json
.cat << EOF > settings.json { "iap": { "enabled":true } } EOF
Exécutez la commande suivante pour activer IAP.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @settings.json \ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/REGION/backendServices/BACKEND_SERVICE_NAME"
Après avoir activé IAP, vous pouvez utiliser Google Cloud CLI pour modifier la stratégie d'accès IAP à l'aide du rôle IAM roles/iap.httpsResourceAccessor
. Découvrez comment gérer les rôles et les autorisations.