Sécuriser les applications et les ressources Compute Engine avec IAP

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 :

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

  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.

    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
  4. Dans le panneau 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 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.

  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 Enregistrer.

Activer IAP

  1. 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 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.

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.

  1. Pour vous authentifier, utilisez Google Cloud CLI et exécutez la commande suivante.
    gcloud auth login
  2. Pour vous connecter, suivez l'URL qui s'affiche.
  3. Une fois la connexion effectuée, copiez le code de validation qui s'affiche et collez-le dans la ligne de commande.
  4. 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
  5. Pour activer IAP, exécutez la commande globale ou régionale.

    Champ d'application global
    gcloud compute backend-services update BACKEND_SERVICE_NAME --global --iap=enabled
    Champ d'application régional
    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

  1. Exécutez la commande suivante pour préparer un fichier settings.json.

    cat << EOF > settings.json
    {
    "iap":
      {
        "enabled":true
      }
    }
    EOF
    

  2. 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.

Étapes suivantes