Cette page explique comment sécuriser une instance Compute Engine avec Identity-Aware Proxy (IAP).
Pour sécuriser des ressources qui ne sont pas sur Google Cloud, consultez la page Sécuriser les applications et les ressources sur site avec 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
Before you set up your project and IAP, you need an up-to-date version of the gcloud CLI. For instructions on how to install the gcloud CLI, see Install the gcloud CLI.
-
To authenticate, use the Google Cloud CLI and run the following command.
gcloud auth login
- To sign in, follow the URL that appears.
- After you sign in, copy the verification code that appears and paste it in the command line.
-
Run the following command to specify the project that contains the resource that you want to protect with IAP.
gcloud config set project PROJECT_ID
-
To enable IAP, run either the globally or regionally scoped command.
Global scope
Regional scopegcloud compute backend-services update BACKEND_SERVICE_NAME --global --iap=enabled
gcloud compute backend-services update BACKEND_SERVICE_NAME --region REGION_NAME --iap=enabled
After you enable IAP, you can use the gcloud CLI to modify
the IAP access policy using the IAM role
roles/iap.httpsResourceAccessor
. Learn more about
managing roles and permissions.
API
Run the following command to prepare a
settings.json
file.cat << EOF > settings.json { "iap": { "enabled":true } } EOF
Run the following command to enable 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"
After you enable IAP, you can use the Google Cloud CLI to modify the
IAP access policy using the IAM role
roles/iap.httpsResourceAccessor
. Learn more about
managing roles and permissions.
Étapes suivantes
- Définissez des règles de contexte plus riches en appliquant des niveaux d'accès.
- Consultez les demandes d'accès en activant les journaux d'audit Cloud.
- Découvrez-en plus sur IAP.