Gérer les règles et les stratégies de réponse

Cette page fournit des informations sur la gestion des stratégies de réponse et des règles des stratégies de réponse.

Les zones privées Cloud DNS vous permettent de créer une seule stratégie de réponse par réseau qui modifie le comportement du résolveur en fonction de la règle créée. Vous pouvez également créer des règles dans le cadre de stratégies de réponse.

Vous pouvez créer une seule règle de stratégie de réponse par réseau et effectuer les opérations suivantes :

  • Modifier les résultats pour les noms de requête sélectionnés (y compris les caractères génériques) en fournissant des enregistrements de ressources spécifiques
  • Déclencher un comportement de passthru qui exclut les noms qui seraient sinon mis en correspondance. Par exemple, pour les réponses génériques, la mise en correspondance des requêtes DNS privées se poursuit comme si elle n'avait jamais détecté de caractère générique.

Pour plus d'informations sur la manière dont VPC Service Controls permet aux clients d'appliquer des contrôles sur l'accès aux API à partir de leurs réseaux VPC privés, consultez la page Configurer une connectivité privée aux API et services Google.

Gérer les stratégies de réponse

Créer une stratégie de réponse

Pour créer une stratégie de réponse, procédez comme suit :

gcloud

Exécutez la commande gcloud beta dns response-policies create :

gcloud beta dns response-policies create RESPONSE_POLICY_NAME
--network=NETWORK
[--description=DESCRIPTION]

Remplacez l'élément suivant :

  • RESPONSE_POLICY_NAME : nom ou ID de la stratégie de réponse que vous souhaitez créer, telle que myresponsepolicy
  • NETWORK : liste de noms de réseaux séparés par une virgule à associer à la stratégie de réponse, telle que network1, network2
  • DESCRIPTION : description de la stratégie de réponse, telle que My new response policy

API

Envoyez une requête POST à l'aide de la méthode responsePolicies.create :

POST https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/responsePolicies

Remplacez PROJECT_ID par un nom ou un ID pour le projet dans lequel vous souhaitez créer la stratégie de réponse.

Afficher les stratégies de réponse

Pour afficher la liste de toutes les stratégies de réponse d'un projet donné ou afficher la description d'une stratégie de réponse spécifique, procédez comme suit :

gcloud

Pour afficher la liste de toutes les stratégies de réponse d'un projet, exécutez la commande gcloud beta dns response-policies list :

gcloud beta dns response-policies list

Vous pouvez limiter le nombre de stratégies de réponse à l'aide de l'option --limit. Par exemple, pour afficher la liste des dix premières stratégies de réponse, exécutez la commande suivante :

gcloud beta dns response-policies list --limit=10

Pour afficher une description détaillée d'une stratégie de réponse, exécutez la commande gcloud beta dns response-policies describe :

gcloud beta dns response-policies describe RESPONSE_POLICY_NAME

Remplacez RESPONSE_POLICY_NAME par le nom ou l'ID de la stratégie de réponse pour laquelle vous souhaitez afficher la description.

API

Pour afficher la description détaillée d'une stratégie de réponse, envoyez une requête GET à l'aide de la méthode responsePolicies.get :

GET https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME

Remplacez l'élément suivant :

  • PROJECT_ID : ID du projet dans lequel vous avez créé la stratégie de réponse
  • RESPONSE_POLICY_NAME : nom ou ID de la stratégie de réponse pour laquelle vous souhaitez afficher la description, telle que myresponsepolicy

Mettre à jour une stratégie de réponse

Pour mettre à jour une stratégie de réponse, procédez comme suit :

gcloud

Pour mettre à jour une règle de réponse, exécutez la commande gcloud beta dns response-policies update :

gcloud beta dns response-policies update RESPONSE_POLICY_NAME

Remplacez RESPONSE_POLICY_NAME par le nom ou l'ID de la stratégie de réponse que vous souhaitez mettre à jour, par exemple myresponsepolicy.

API

Pour appliquer une mise à jour partielle à une stratégie de réponse, envoyez une requête PATCH à l'aide de la méthode responsePolicies.patch :

PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME

Remplacez l'élément suivant :

  • PROJECT_ID : ID du projet dans lequel vous avez créé la stratégie de réponse
  • RESPONSE_POLICY_NAME : nom ou ID de la stratégie de réponse que vous souhaitez mettre à jour telle que myresponsepolicy

Pour mettre à jour une stratégie de réponse, envoyez une requête UPDATE à l'aide de la méthode responsePolicies.update :

UPDATE https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME

Remplacez l'élément suivant :

  • PROJECT_ID : ID du projet dans lequel vous avez créé la stratégie de réponse
  • RESPONSE_POLICY_NAME : nom ou ID de la stratégie de réponse que vous souhaitez mettre à jour telle que myresponsepolicy

Supprimer une stratégie de réponse

Pour supprimer une stratégie de réponse, procédez comme suit :

gcloud

Exécutez la commande gcloud beta dns response-policies delete :

gcloud beta dns response-policies delete RESPONSE_POLICY_NAME

Remplacez RESPONSE_POLICY_NAME par le nom ou l'ID de la stratégie de réponse que vous souhaitez supprimer.

API

Pour supprimer une stratégie de réponse, envoyez une requête DELETE à l'aide de la méthode responsePolicies.delete :

DELETE https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME

Remplacez l'élément suivant :

  • PROJECT_ID : ID du projet dans lequel vous avez créé la stratégie de réponse
  • RESPONSE_POLICY_NAME : nom ou ID de la stratégie de réponse que vous souhaitez supprimer, telle que myresponsepolicy

Gérer les règles des stratégie de réponse

La stratégie de réponse DNS d'un site est constituée de règles qu'un résolveur DNS consulte lors des recherches. Si une règle de la stratégie de réponse affecte la requête entrante, elle est traitée, sinon, la recherche se poursuit normalement.

Pour gérer les règles, procédez comme suit :

gcloud

  • Pour modifier le comportement des noms de requête sélectionnés, exécutez la commande gcloud beta dns response-policy-rules create et spécifiez l'option type :

    gcloud beta dns response-policy-rules create RESPONSE_POLICY_RULE_NAME
    --response-policy RESPONSE_POLICY_NAME
    --dns-name=DNS_NAME
    --ttl=TTL
    --type=RRTYPE
    --data=RRDATA
    

    Remplacez l'élément suivant :

    • RESPONSE_POLICY_RULE_NAME : nom de la règle de la stratégie de réponse que vous souhaitez créer, telle que myresponsepolicyrule
    • RESPONSE_POLICY_NAME : nom de la stratégie de réponse, telle que myresponsepolicy
    • DNS_NAME : nom DNS ou nom de domaine, tel que www.googleapis.com
    • TTL : délai de vie pour la stratégie de réponse, telle que 21600
    • RRTYPE : type d'enregistrement de la ressource tel que A
    • RRDATA : les données d'enregistrement de ressources telles que 1.2.3.4
  • Pour déclencher un comportement passthru, exécutez gcloud beta dns response-policy-rules create et utilisez l'option passthru :

    gcloud beta dns response-policy-rules create RESPONSE_POLICY_RULE_NAME
    --response-policy=RESPONSE_POLICY_NAME
    --dns-name=DNS_NAME
    --passthru
    

    Remplacez l'élément suivant :

    • RESPONSE_POLICY_RULE_NAME : nom de la règle de la stratégie de réponse que vous souhaitez créer, telle que myresponsepolicyrule
    • RESPONSE_POLICY_NAME : nom de la stratégie de réponse, telle que myresponsepolicy
    • DNS_NAME : le DNS ou le nom de domaine, tel que www.googleapis.com
  • Pour afficher les détails d'une règle de stratégie de réponse, exécutez la commande `gcloud beta dns response-policies rules describe :

    gcloud beta dns response-policy-rules describe RESPONSE_POLICY_RULE_NAME
    --response-policy=RESPONSE_POLICY_NAME
    

    Remplacez l'élément suivant :

    • RESPONSE_POLICY_RULE_NAME : nom de la règle de la stratégie de réponse que vous souhaitez créer, telle que myresponsepolicyrule
    • RESPONSE_POLICY_NAME : nom de la stratégie de réponse, telle que myresponsepolicy
  • Pour afficher la liste des règles de stratégie de réponse Cloud DNS dans une stratégie de réponse, utilisez la commande gcloud beta dns response-policies rules list :

    gcloud beta dns response-policy-rules list RESPONSE_POLICY_NAME
    

    Remplacez RESPONSE_POLICY_NAME par le nom de la stratégie de réponse, telle que myresponsepolicy.

    Pour mettre à jour une nouvelle règle de stratégie de réponse Cloud DNS, utilisez la commande gcloud beta dns response-policies rules update :

    gcloud beta dns response-policies rules update RESPONSE_POLICY_RULE_NAME
    --response-policy=RESPONSE_POLICY_NAME
    

    Remplacez l'élément suivant :

    • RESPONSE_POLICY_RULE_NAME : nom de la règle de la stratégie de réponse que vous souhaitez créer, telle que myresponsepolicyrule
    • RESPONSE_POLICY_NAME : nom de la stratégie de réponse, telle que myresponsepolicy
  • Pour supprimer une règle de stratégie de réponse Cloud DNS, utilisez la commande gcloud beta dns response-policies rules delete :

    gcloud beta dns response-policies rules delete RESPONSE_POLICY_RULE_NAME
    --response-policy=RESPONSE_POLICY_NAME
    

    Remplacez l'élément suivant :

    • RESPONSE_POLICY_RULE_NAME : nom de la règle de la stratégie de réponse que vous souhaitez créer, telle que myresponsepolicyrule
    • RESPONSE_POLICY_NAME : nom de la stratégie de réponse, telle que myresponsepolicy

API

  • Pour créer une règle de stratégie de réponse, envoyez une requête POST à l'aide de la méthode responsePolicyRule.create :

    POST https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules
    

    Remplacez l'élément suivant :

    • PROJECT_ID : ID du projet dans lequel vous avez créé la stratégie de réponse
    • RESPONSE_POLICY_NAME : nom ou ID de la stratégie de réponse pour laquelle vous souhaitez créer une règle telle que myresponsepolicy
  • Pour afficher la description détaillée d'une règle dans une stratégie de réponse, envoyez une requête GET à l'aide de la méthode responsePolicyRule.get :

    GET https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE
    

    Remplacez l'élément suivant :

    • PROJECT_ID : ID du projet dans lequel vous avez créé la stratégie de réponse
    • RESPONSE_POLICY_NAME : nom ou ID de la stratégie de réponse pour laquelle vous souhaitez créer une règle telle que myresponsepolicy
    • RESPONSE_POLICY_RULE : règle de la stratégie de réponse de laquelle vous souhaitez consulter les détails
  • Pour appliquer une mise à jour partielle à une règle de stratégie de réponse, envoyez une requête PATCH à l'aide de la méthode responsePolicyRule.patch :

    PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE
    

    Remplacez l'élément suivant :

    • PROJECT_ID : ID du projet dans lequel vous avez créé la stratégie de réponse
    • RESPONSE_POLICY_NAME : nom ou ID de la stratégie de réponse pour laquelle vous souhaitez mettre à jour la règle, par exemple myresponsepolicy
    • RESPONSE_POLICY_RULE : règle de la stratégie de réponse à mettre à jour
  • Pour mettre à jour une règle de stratégie de réponse, envoyez une requête UPDATE à l'aide de la méthode responsePolicyRule.update :

    UPDATE https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE
    
    Remplacez l'élément suivant :

    • PROJECT_ID : ID du projet dans lequel vous avez créé la stratégie de réponse
    • RESPONSE_POLICY_NAME : nom ou ID de la stratégie de réponse pour laquelle vous souhaitez mettre à jour la règle, par exemple myresponsepolicy
    • RESPONSE_POLICY_RULE : règle de la stratégie de réponse à mettre à jour
  • Pour supprimer une règle de stratégie de réponse, envoyez une requête DELETE à l'aide de la méthode responsePolicyRule.delete :

    DELETE https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/responsePolicies/RESPONSE_POLICY_NAME/rules/RESPONSE_POLICY_RULE
    

Remplacez l'élément suivant :

  • PROJECT_ID : ID du projet dans lequel vous avez créé la stratégie de réponse
  • RESPONSE_POLICY_NAME : nom ou ID de la stratégie de réponse dont vous souhaitez supprimer une règle, telle que myresponsepolicy
  • RESPONSE_POLICY_RULE : règle de la stratégie de réponse à supprimer

Cas d'utilisation

Cette section fournit des exemples de cas d'utilisation pour configurer des règles pour les stratégies de réponse.

Diriger des noms spécifiques vers les adresses IP virtuelles limitées

Vous pouvez configurer une stratégie de réponse contenant des données CNAME locales pour chaque zone. Par exemple, pubsub.googleapis.com pour traduire les requêtes d'API Google aux API Google limitées, par exemple restricted.googleapis.com. Les noms qui ne sont pas spécifiés, par exemple www.googleapis.com, continuent d'être résolus à l'aide d'un DNS normal.

Dans l'exemple de configuration suivant, vous allez créer une stratégie, puis l'appliquer à un réseau VPC spécifique.

  1. Créez une stratégie de réponse par URL :

    {
      kind: "dns#responsePolicy",
      response_policy_name: RESPONSE_POLICY_NAME,
      description: RESPONSE_POLICY_DESCRIPTION,
      networks: [
        {
          network_url: URL_TO_NETWORK;
        }
      ]
    }
    

    Remplacez les valeurs suivantes :

    • RESPONSE_POLICY_NAME : nom de la stratégie de réponse
    • RESPONSE_POLICY_DESCRIPTION : description de la stratégie de réponse
    • URL_TO_NETWORK : l'URL pour laquelle vous créez la stratégie de réponse

  2. Ajoutez une règle à la stratégie :

    {
      kind: "dns#responsePolicyRule",
      rule_name: RULE_NAME,
      dns_name: DNS_NAME,
      local_data: [
        {
          name: "pubsub.googleapis.com.",
          type: "A",
          ttl: 300,
          rrdata: ["199.36.153.4", "199.36.153.5", "199.36.153.6", "199.36.153.7"]
        }
      ]
    }
    

    Remplacez les valeurs suivantes :

    • RULE_NAME : nom de la règle que vous créez, telle que pubsub
    • DNS_NAME : nom DNS pour lequel vous créez la règle, par exemple pubsub.googleapis.com. Notez le point final.

Rediriger tous les noms, sauf certains vers des adresses IP virtuelles limitées

Vous pouvez définir des règles pour exclure certaines réponses DNS d'une règle de stratégie couvrant un domaine entier ou un bloc d'adresses IP volumineux. C'est ce qu'on appelle un comportement passthru. Avec le comportement passthru, vous pouvez autoriser les noms qui ne sont pas compatibles avec les contrôles de service (par exemple, www.googleapis.com) à passer le nom générique (dans l'exemple*.googleapis.com). La correspondance exacte pour www est prioritaire sur le caractère générique et prend effet.

Dans l'exemple de configuration suivant, vous allez créer une stratégie avec un nom donné et l'appliquer à un réseau VPC spécifique. La règle permet à www.googleapis.com d'ignorer le caractère générique *.googleapis.com.

  1. Créez une stratégie de réponse :

    {
      kind: "dns#responsePolicy",
      response_policy_name: RESPONSE_POLICY_NAME,
      description: RESPONSE_POLICY_DESCRIPTION,
      networks: [
        {
          network_url: URL_TO_NETWORK;
        }
      ]
    }
    

    Remplacez les valeurs suivantes :

    • RESPONSE_POLICY_NAME : nom de la stratégie de réponse, telle que my-response-policy
    • RESPONSE_POLICY_DESCRIPTION : description de la stratégie de réponse, telle que my response policy
    • URL_TO_NETWORK : l'URL pour laquelle vous créez la stratégie de réponse
  2. Ajoutez une règle à la stratégie :

    {
      kind: "dns#responsePolicyRule",
      rule_name: RULE_NAME,
      dns_name: DNS_NAME,
      local_data: [
        {
          name: "*.googleapis.com.",
          type: "A",
          ttl: 300,
          rrdata: ["restricted.googleapis.com."]
        }
      ]
    }
    {
      kind: "dns#responsePolicyRule",
      rule_name: "www-passthru",
      dns_name: "www.googleapis.com.",
      behavior: BYPASS_RESPONSE_POLICY
    }
    

    Remplacez les valeurs suivantes :

    • RULE_NAME : nom de la règle que vous créez, telle que googleapis
    • DNS_NAME : nom DNS générique pour lequel vous créez la règle, tel que *.googleapis.com. Notez le point final.

Étape suivante