Restreindre l'accès aux ressources à des domaines spécifiques

Pour améliorer la sécurité globale, IAP refuse par défaut l'accès aux requêtes qui ne présentent pas l'indication du nom du serveur (SNI, Server Name Indication). Cela permet à IAP de limiter la redirection d'URL à des domaines malveillants. La fonctionnalité de domaines autorisés par IAP fournit une couche de sécurité supplémentaire pour vos ressources protégées par IAP. En tant que propriétaire de ressources ou administrateur IAP, vous pouvez limiter l'accès aux ressources protégées par IAP à des domaines spécifiques en configurant la fonctionnalité de domaines autorisés.

Vous pouvez également configurer les domaines autorisés par IAP dans les scénarios suivants:

  • Votre navigateur ou un proxy intermédiaire force le regroupement de connexions:dans ce scénario, vous recevez la réponse HTTP 429 et le code d'erreur 51. Pour résoudre le problème, un administrateur IAP peut mettre à jour la liste des domaines autorisés afin d'inclure votre nom d'hôte.
  • Le nom d'hôte fourni ne correspond pas au certificat SSL sur le serveur:dans ce cas, vous recevez le code d'erreur 52. Pour résoudre le problème, un administrateur IAP peut mettre à jour la liste des domaines autorisés afin d'inclure votre nom d'hôte.

Configurer les domaines autorisés

Vous pouvez utiliser gcloud ou l'API pour configurer les paramètres des domaines autorisés. Pour configurer les domaines autorisés, utilisez les champs suivants:

  • enable: Booléen. Active ou désactive la fonctionnalité "Domaines autorisés".
  • Domains: chaîne. Liste des domaines autorisés. Les domaines peuvent contenir des préfixes avec des caractères génériques, tels que *.example.com.. Les noms de domaine ne peuvent pas contenir de caractère générique directement sur un suffixe public ou sur un domaine de premier niveau. Exemple: *.com, *.co.in.

Pour en savoir plus, consultez la section IapSettings.

Pour configurer les domaines autorisés par IAP, procédez comme suit:

Console

  1. Accédez à la page "IAP".
    Accéder à Identity-Aware Proxy
  2. Sélectionnez un projet, puis la ressource sur laquelle vous souhaitez activer la fonctionnalité "Domaines autorisés".
  3. Ouvrez les paramètres de la ressource. Sous Domaines autorisés, sélectionnez Activer les domaines autorisés.
  4. Spécifiez la liste des domaines autorisés, puis cliquez sur Enregistrer.

gcloud

Vous trouverez ci-dessous quelques exemples de commandes permettant de spécifier les domaines autorisés.

Pour en savoir plus, consultez la page gcloud iap settings set.

Exécutez la commande suivante :

gcloud iap settings set SETTING_FILE [--folder=FOLDER --organization=ORGANIZATION --project=/PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION

SETTING_FILE correspond à :

accessSettings:
  allowed_domains_settings:
    enable: true
    domains: ["*.example.com", "*.example.net"]

Remplacez les éléments suivants :

  • FOLDER: ID du dossier
  • ORGANIZATION : ID de l'organisation.
  • PROJECT : ID du projet
  • RESOURCE_TYPE: type de ressource IAP. Doit être app-engine, iap_web, compute, organization ou folder.
  • SERVICE : le nom du service. Cette étape est facultative lorsque resource-type est défini sur compute ou app-engine.
  • VERSION: nom de la version. Cela ne s'applique pas à compute et est facultatif lorsque resource-type est défini sur app-engine.

API

Pour configurer les domaines autorisés, procédez comme suit. Pour en savoir plus sur l'utilisation de l'API pour configurer des domaines autorisés, consultez IapSettings.

  1. Exécutez la commande suivante pour préparer un fichier iap_settings.json. Mettez à jour les valeurs si nécessaire.
 {
     "access_settings":{
         "allowed_domains_settings":{
             "enable": true
             "domains": [
                 "*.example.com",
                 "*.exampe.net"
             ]
         }
     }
 }
  1. Obtenez le nom de la ressource en exécutant la commande gcloud iap settings get. Copiez le champ de nom figurant dans le résultat. Vous en aurez besoin à l'étape suivante.
gcloud iap settings get [--organization=ORGANIZATION --folder=FOLDER --project=/PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION]
  1. Dans la commande suivante, remplacez RESOURCE_NAME par le nom obtenu à l'étape précédente. IapSettings sera mis à jour.
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d @iap_settings.json \
"https://iap.googleapis.com/v1/RESOURCE_NAME:iapSettings?updateMask=iapSettings.accessSettings.allowedDomainsSettings.enable,iapSettings.accessSettings.allowedDomainsSettings.domains"

Dépannage

Problème d'accès aux domaines autorisés
Si vous recevez le code d'erreur 53, demandez à un administrateur IAP d'ajouter votre nom d'hôte à la liste des domaines autorisés.