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

Pour améliorer la sécurité globale, l'IAP refuse par défaut l'accès aux requêtes qui ne disposent pas d'une indication de nom de serveur (SNI) correspondante. L'API IAP vérifie également le SNI du certificat de l'équilibreur de charge. Cela permet à l'IAP de limiter la redirection d'URL vers des domaines malveillants. La fonctionnalité de domaines autorisés par l'IAP fournit une couche de sécurité supplémentaire pour vos ressources protégées par l'IAP. En tant que propriétaire de ressources ou administrateur d'un IAP, vous pouvez limiter l'accès aux ressources protégées par un IAP à des domaines spécifiques en configurant la fonctionnalité de domaines autorisés.

Vous pouvez également configurer les domaines autorisés IAP dans les cas suivants:

  • Votre navigateur ou un proxy intermédiaire force le pool 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 pour inclure votre nom d'hôte.
  • Le nom d'hôte fourni ne correspond pas au certificat SSL du serveur:dans ce cas, vous recevez le code d'erreur 52. Pour résoudre le problème, un administrateur de l'IAP peut mettre à jour la liste des domaines autorisés pour 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é des domaines autorisés.
  • Domains: chaîne. Liste des domaines autorisés. Les domaines peuvent contenir des préfixes 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 un domaine de premier niveau. Exemple: *.com, *.co.in.

Pour en savoir plus, consultez la section IapSettings.

Pour configurer les domaines autorisés pour l'IAP, procédez comme suit:

Console

  1. Accédez à la page d'IAP.
    Accédez à Identity-Aware Proxy.
  2. Sélectionnez un projet, puis la ressource pour laquelle vous souhaitez activer la fonctionnalité de 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 d'application intégrée. La valeur doit être app-engine, iap_web, compute, organization ou folder.
  • SERVICE : le nom du service. Ce champ est facultatif lorsque resource-type est compute ou app-engine.
  • VERSION: nom de la version. Ce champ n'est pas applicable à compute et est facultatif lorsque resource-type est 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 les domaines autorisés, consultez IapSettings.

  1. Exécutez la commande suivante pour préparer un fichier iap_settings.json. Modifiez 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 "name" à partir de la sortie. 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. Remplacez RESOURCE_NAME dans la commande suivante par le nom de 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 le code d'erreur 53 s'affiche, demandez à un administrateur de l'IAP Play à ajouter votre nom d'hôte à la liste des domaines autorisés.