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. IAP vérifie également le SNI du certificat de l'équilibreur de charge. Cela permet IAP pour limiter la redirection d'URL aux 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 des domaines autorisés 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'y 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 IAP peut mettre à jour la liste des domaines autorisés afin d'y 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. Par exemple, *.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. Exemples: *.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 des produits intégrés.
    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

Voici quelques exemples de commandes permettant de spécifier des 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. 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 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 de nom indiqué 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. Remplacez RESOURCE_NAME dans la commande suivante par le nom de l'étape précédente. Le 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 d'ajouter votre nom d'hôte à la liste des domaines autorisés.