Activer IAP pour Compute Engine

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 Cloud Console avec la facturation activée
  • Un groupe d'une ou de plusieurs instances Compute Engine desservies par un équilibreur de charge HTTPS
  • Un nom de domaine enregistré à l'adresse de l'équilibreur de charge
  • Un code d'application pour vérifier que toutes les requêtes ont une identité

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.

Activer IAP à l'aide de Cloud Console

Configurer l'écran d'autorisation OAuth

Si vous n'avez pas configuré l'écran d'autorisation OAuth de votre projet, cette étape est obligatoire. Vous devez saisir une adresse e-mail et un nom de produit.

  1. Accédez à l'écran d'autorisation OAuth.
    Configurer l'écran d'autorisation
  2. Sous Adresse e-mail d'assistance, sélectionnez l'adresse e-mail que vous souhaitez afficher en tant que contact public. L'adresse e-mail doit appartenir au compte utilisateur actuellement connecté ou à un groupe Google auquel appartient l'utilisateur actuellement connecté.
  3. Saisissez le nom de l'application que vous souhaitez afficher.
  4. Ajoutez des détails, si nécessaire.
  5. Cliquez sur Save.

Pour modifier ultérieurement les informations affichées sur l'écran d'autorisation OAuth, comme le nom du produit ou l'adresse e-mail, répétez les étapes de configuration précédentes.

Créer des identifiants OAuth

  1. Accédez à la page Identifiants.
    Accéder à la page "Identifiants"
  2. Dans la liste déroulante Créer des identifiants, sélectionnez l'ID client OAuth.
  3. Sous Type d'application, sélectionnez Application Web.
  4. Ajoutez un nom pour votre ID client OAuth.
  5. Cliquez sur Créer. Votre ID client OAuth et votre secret client sont générés et affichés dans la fenêtre Client OAuth.
  6. Cliquez sur OK.
  7. Sélectionnez le client que vous avez créé.
  8. Copiez l'ID client dans le presse-papiers.
  9. Ajoutez l'URL de redirection universelle au champ URI de redirection autorisés au format suivant :
    https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect

    CLIENT_ID correspond à l'ID client OAuth.

  10. En haut de la page, cliquez sur Télécharger JSON. Ces identifiants vous seront utiles lors d'une prochaine étape.

Configurer l'accès à IAP

  1. Accédez à la page Identity-Aware Proxy.
    Accéder à la page "Identity-Aware Proxy"
  2. Sélectionnez le projet que vous souhaitez sécuriser avec IAP.
  3. Cochez la case à côté de la ressource à laquelle vous souhaitez accorder l'accès.
  4. Dans le panneau latéral de droite, cliquez sur Ajouter un compte principal.
  5. Dans la boîte de dialogue Ajouter des comptes principaux qui s'affiche, saisissez les adresses e-mail des groupes ou des personnes qui doivent disposer du rôle Utilisateur de l'application Web sécurisée par IAP pour le projet.

    Les types de comptes principaux suivants peuvent avoir 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.

  6. Sélectionnez Cloud IAP > Utilisateur de l'application Web sécurisée par IAP dans la liste déroulante Rôles.
  7. Cliquez sur Save.

Activer IAP

  1. Sur la page Identity-Aware Proxy, sous Ressources HTTPS, recherchez l'équilibreur de charge qui diffuse l'élément instance group 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 d'équilibrage de charge doit correspondre à HTTPS. En savoir plus sur la configuration d'un équilibreur de charge
    • Vous avez besoin des autorisations compute.backendServices.update, clientauthconfig.clients.create et clientauthconfig.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.
  2. 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.

Activer IAP à l'aide du SDK Cloud

This section describes how to use the gcloud command-line tool to turn on IAP for Compute Engine applications. Using the gcloud command-line tool to turn on IAP for App Engine is not yet supported. Use the App Engine quickstart instead.

Getting Cloud SDK

Before you set up your project and IAP, you need an up-to-date version of Cloud SDK. Get Cloud SDK.

Setting up your project

Select the project for which you want to enable IAP and set it up as follows:

  1. Go to the Instance groups page to make sure your instances are in an instance group.
  2. Define backend services.
  3. Set up external or internal load balancing.
  4. Set up an OAuth client:
    1. Go to API > Credentials and select the project for which you want to enable IAP.
    2. Set up your OAuth consent screen:
      1. Accédez à l'écran d'autorisation OAuth.
        Configurer l'écran d'autorisation
      2. Sous Adresse e-mail d'assistance, sélectionnez l'adresse e-mail que vous souhaitez afficher en tant que contact public. L'adresse e-mail doit appartenir au compte utilisateur actuellement connecté ou à un groupe Google auquel appartient l'utilisateur actuellement connecté.
      3. Saisissez le nom de l'application que vous souhaitez afficher.
      4. Ajoutez des détails, si nécessaire.
      5. Cliquez sur Save.

      Pour modifier ultérieurement les informations affichées sur l'écran d'autorisation OAuth, comme le nom du produit ou l'adresse e-mail, répétez les étapes de configuration précédentes.

    3. Under Credentials, click Create credentials > OAuth client ID.
    4. Under Application type select Web application, then add a Name.
    5. When you're finished entering details, click Create.
    6. In the OAuth client window that appears, make note of the client ID and client secret.
    7. Select the client again. Add the universal redirect URL to the authorized redirect URIs field in the format of https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect, where CLIENT_ID is the OAuth client ID.

Enabling IAP

  1. Use the gcloud command-line tool to run gcloud auth login.
  2. Follow the URL that appears to sign in.
  3. After you sign in, copy the verification code that appears and paste it in the command line.
  4. Run gcloud config set project PROJECT_ID for the project for which you want to enable IAP.
  5. To enable IAP, use the OAuth client ID and secret you created previously and run either the globally or regionally scoped command.
    • Global scope: gcloud compute backend-services update BACKEND_SERVICE_NAME --global --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET.
    • Regional scope: gcloud compute backend-services update BACKEND_SERVICE_NAME --region REGION_NAME --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET.

After you enable IAP, you can use the gcloud command-line tool to manipulate IAP access policy using the IAM role roles/iap.httpsResourceAccessor. Learn more about managing roles and permissions.