Gerenciar políticas e regras de resposta

Nesta página, você encontra informações sobre como gerenciar políticas de resposta e as regras dela.

Com as zonas particulares do Cloud DNS, é possível criar uma única política de resposta por rede para modificar o comportamento do resolvedor de acordo com a política criada. Também é possível criar regras como parte das políticas de resposta.

É possível criar uma única regra de política de resposta por rede, que pode:

  • alterar os resultados dos nomes das consultas selecionadas (incluindo caracteres curinga) fornecendo registros de recurso específicos;
  • acionar o comportamento de passthru que ignora a política de resposta, isentando nomes que seriam correspondentes. Por exemplo, em respostas de caractere curinga, permitir que a correspondência de consulta de DNS particular continue como se não houvesse um caractere curinga.

Para informações sobre como o VPC Service Controls permite que os clientes apliquem controles sobre o acesso à API das redes VPC particulares, consulte Como configurar a conectividade particular com APIs e serviços do Google.

Gerenciar políticas de resposta

Criar uma política de resposta

Para criar uma política de resposta, siga estas etapas.

Console

  1. No Console do Google Cloud, acesse a página Zonas do Cloud DNS.

    Acessar zonas do Cloud DNS

  2. Clique na guia Zonas de política de resposta.

  3. Clique em Criar política de resposta.

  4. Insira o nome da política de resposta que você quer criar, como myresponsepolicy.

  5. Insira uma descrição da política de resposta, como My new response policy.

  6. Na lista suspensa Redes, selecione uma ou mais redes para associar à política de resposta.

  7. Clique em Criar.

    É possível criar uma regra de política de resposta em cada zona de política de resposta criada. Para mais instruções, consulte Como criar uma regra de política de resposta.

gcloud

Execute o comando gcloud beta dns response-policies create:

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

Substitua:

  • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta que você quer criar, como myresponsepolicy.
  • NETWORK: uma lista separada por vírgulas de nomes de rede para associar à política de resposta, como network1, network2.
  • DESCRIPTION: uma descrição da política de resposta, como My new response policy.

API

Envie uma solicitação POST usando o método responsePolicies.create:

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

Substitua PROJECT_ID pelo nome ou ID do projeto em que você quer criar a política de resposta.

Ver políticas de resposta

Para ver a lista de todas as políticas de resposta em um determinado projeto ou a descrição de uma política de resposta específica, siga estas etapas:

Console

  1. No Console do Cloud, acesse a página de zonas do Cloud DNS.

    Acessar zonas do Cloud DNS

  2. Clique na guia Zonas de política de resposta.

  3. A página Lista de políticas de resposta lista as políticas de resposta que você criou.

gcloud

  • Para ver a lista de todas as políticas de resposta em um projeto, execute o comando gcloud beta dns response-policies list:

    gcloud beta dns response-policies list
    
  • É possível limitar o número de políticas de resposta usando a sinalização --limit. Por exemplo, para ver uma lista das dez primeiras políticas de resposta, execute o seguinte comando:

    gcloud beta dns response-policies list \
      --limit=10
    
  • Para ver uma descrição detalhada de uma política de resposta, execute o comando gcloud beta dns response-policies describe:

    gcloud beta dns response-policies describe RESPONSE_POLICY_NAME
    

    Para visualizar a descrição de uma política de resposta, substitua RESPONSE_POLICY_NAME pelo nome ou ID dela.

API

Para ver a descrição detalhada de uma política de resposta, envie uma solicitação GET usando o método responsePolicies.get:

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

Substitua:

  • PROJECT_ID: o ID do projeto em que você criou a política de resposta.
  • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta de que você quer ver a descrição, como myresponsepolicy.

Atualizar uma política de resposta

Para atualizar uma política de resposta, siga estas etapas:

Console

  1. No Console do Cloud, acesse a página de zonas do Cloud DNS.

    Acessar zonas do Cloud DNS

  2. Clique na política de resposta que você quer editar. Também é possível clicar em Mais na linha do nome da política de resposta.

  3. Clique em Editar política de resposta.

  4. Faça as atualizações necessárias.

  5. Clique em Save.

gcloud

Execute o comando gcloud beta dns response-policies update:

gcloud beta dns response-policies update RESPONSE_POLICY_NAME

Substitua RESPONSE_POLICY_NAME pelo nome ou ID da política de resposta que você quer atualizar, como myresponsepolicy.

Use a mesma sintaxe do comando create para todos os campos atualizados.

API

  • Para aplicar uma atualização parcial a uma política de resposta, envie uma solicitação PATCH usando o método responsePolicies.patch:

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

    Substitua:

    • PROJECT_ID: o ID do projeto em que você criou a política de resposta.
    • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta que você quer atualizar, como myresponsepolicy.
  • Para atualizar uma política de resposta, envie uma solicitação UPDATE usando o método responsePolicies.update:

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

    Substitua:

    • PROJECT_ID: o ID do projeto em que você criou a política de resposta.
    • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta que você quer atualizar, como myresponsepolicy.

Excluir uma política de resposta

Para excluir uma política de resposta, siga estas etapas:

Console

  1. No Console do Cloud, acesse a página de zonas do Cloud DNS.

    Acessar zonas do Cloud DNS

  2. Clique em Mais na linha do nome da política de resposta.

  3. Clique em Excluir.

gcloud

Execute o comando gcloud beta dns response-policies delete:

gcloud beta dns response-policies delete RESPONSE_POLICY_NAME

Substitua RESPONSE_POLICY_NAME pelo nome ou ID da política de resposta que você quer excluir.

API

Envie uma solicitação DELETE usando o método responsePolicies.delete:

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

Substitua:

  • PROJECT_ID: o ID do projeto em que você criou a política de resposta.
  • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta que você quer excluir, como myresponsepolicy.

Gerenciar regras de política de resposta

A política de resposta DNS de um local consiste de regras que um resolvedor de DNS consulta durante as pesquisas. Se uma regra na política de resposta afetar a consulta recebida, ela será processada. Caso contrário, a pesquisa continuará normalmente.

Criar uma regra de política de resposta

Para criar uma regra de política de resposta, siga estas etapas.

Console

  1. No Console do Cloud, acesse a página de zonas do Cloud DNS.

    Acessar zonas do Cloud DNS

  2. Clique na guia Zonas de política de resposta.

  3. Na lista de zonas de política de resposta, clique na zona de política de resposta para a qual você quer criar uma regra.

  4. Clique em Criar regra de política de resposta.

  5. Digite o nome da regra de política de resposta que você quer criar, como myresponsepolicyrule.

  6. Na lista suspensa Seletor, escolha o tipo de seletor ao qual aplicar essa regra.

  7. Insira o nome do DNS (caractere curinga ou exato) para aplicar a regra, como www.googleapis.com.

  8. Escolha a ação para a regra da política de resposta. Por exemplo, para alterar o comportamento da política de resposta, escolha Comportamento. Caso contrário, escolha Dados locais.

    • Se você escolher Comportamento, selecione o comportamento para a regra na lista suspensa.

    • Se você escolher Dados locais, será necessário adicionar um novo conjunto de registros de recurso. Para instruções sobre como adicionar um novo conjunto de registros de recurso, consulte Como criar um conjunto de registros de recurso.

  9. Clique em Criar.

gcloud

  • Para alterar o comportamento dos nomes de consulta selecionados, execute o comando gcloud beta dns response-policies rules create e especifique a sinalização --type:

    gcloud beta dns response-policies rules create RESPONSE_POLICY_RULE_NAME \
      --response-policy=RESPONSE_POLICY_NAME \
      --dns-name=DNS_NAME \
      --local-data=name="DNS_NAME.",type="RRTYPE",ttl=TTL,rrdatas="RRDATA"
    

    Substitua:

    • RESPONSE_POLICY_RULE_NAME: um nome para a regra da política de resposta que você quer criar, como myresponsepolicyrule.
    • RESPONSE_POLICY_NAME: o nome da política de resposta, como myresponsepolicy.
    • DNS_NAME: o DNS ou nome de domínio, como www.googleapis.com.
    • TTL: tempo de vida para a política de resposta, como 21600.
    • RRTYPE: o tipo de registro de recurso, como A.
    • RRDATA: os dados de registro de recurso, como 1.2.3.4. Separe várias entradas com |, como 1.2.3.4|5.6.7.8.
  • Para criar uma regra para ignorar, execute o comando gcloud beta dns response-policies rules create e defina a sinalização --behavior como bypassResponsePolicy:

    gcloud beta dns response-policies rules create RESPONSE_POLICY_RULE_NAME \
      --response-policy=RESPONSE_POLICY_NAME \
      --dns-name=DNS_NAME \
      --behavior=bypassResponsePolicy
    

    Substitua:

    • RESPONSE_POLICY_RULE_NAME: um nome para a regra da política de resposta que você quer criar, como myresponsepolicyrule.
    • RESPONSE_POLICY_NAME: o nome da política de resposta, como myresponsepolicy.
    • DNS_NAME: o DNS ou nome de domínio, como www.googleapis.com.

API

  • Para criar uma nova regra de política de resposta, envie uma solicitação POST usando o método responsePolicyRules.create:

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

    Substitua:

    • PROJECT_ID: o ID do projeto em que você criou a política de resposta.
    • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta para a qual você quer criar uma regra, como myresponsepolicy.

Ver uma regra de política de resposta

Para ver a lista de todas as regras de política de resposta em uma determinada política de resposta ou visualizar a descrição de uma regra de política de resposta específica, siga estas etapas.

Console

  1. No Console do Cloud, acesse a página de zonas do Cloud DNS.

    Acessar zonas do Cloud DNS

  2. Na guia Zonas de política de resposta, clique no nome da política de resposta da qual você quer ver as regras associadas. A página Detalhes da política de resposta lista as regras associadas à política de resposta.

  3. Para visualizar os detalhes de uma regra de política de resposta específica, clique no nome da regra. Também é possível clicar em Mais na linha do nome da regra de política de resposta.

gcloud

  • Para ver a lista de regras de política de resposta do Cloud DNS em uma política de resposta, execute o comando gcloud beta dns response-policies rules list:

    gcloud beta dns response-policies rules list RESPONSE_POLICY_NAME
    

    Substitua RESPONSE_POLICY_NAME pelo nome da política de resposta, como myresponsepolicy.

  • Para ver os detalhes sobre uma regra de política de resposta, execute o comando gcloud beta dns response-policies rules describe:

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

    Substitua:

    • RESPONSE_POLICY_RULE_NAME: um nome para a regra da política de resposta que você quer criar, como myresponsepolicyrule.
    • RESPONSE_POLICY_NAME: o nome da política de resposta, como myresponsepolicy.

API

Para ver a descrição detalhada de uma regra em uma política de resposta, envie uma solicitação GET usando o método responsePolicyRules.get:

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

Substitua:

  • PROJECT_ID: o ID do projeto em que você criou a política de resposta.
  • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta para a qual você quer criar uma regra, como myresponsepolicy.
  • RESPONSE_POLICY_RULE: a regra de política de resposta de que você quer ver os detalhes.

Atualizar uma regra de política de resposta

Para editar ou atualizar uma regra de política de resposta, siga estas etapas.

Console

  1. No Console do Cloud, acesse a página de zonas do Cloud DNS.

    Acessar zonas do Cloud DNS

  2. Clique no nome da política de resposta cujas regras você quer editar.

  3. Clique no nome da regra de política de resposta que você quer editar.

  4. Na página Detalhes da regra de política de resposta, clique no nome da regra que você quer editar.

  5. Faça as atualizações necessárias.

  6. Clique em Save.

gcloud

Execute o comando gcloud beta dns response-policies rules update:

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

Substitua:

  • RESPONSE_POLICY_RULE_NAME: um nome para a regra da política de resposta que você quer criar, como myresponsepolicyrule.
  • RESPONSE_POLICY_NAME: o nome da política de resposta, como myresponsepolicy.

    Use a mesma sintaxe do comando create para todos os campos atualizados.

API

  • Para aplicar uma atualização parcial a uma regra de política de resposta, envie uma solicitação PATCH usando o método responsePolicyRules.patch:

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

    Substitua:

    • PROJECT_ID: o ID do projeto em que você criou a política de resposta.
    • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta que você quer atualizar a regra, como myresponsepolicy.
    • RESPONSE_POLICY_RULE: a regra da política de resposta que você quer atualizar.
  • Para atualizar uma regra de política de resposta, envie uma solicitação UPDATE usando o método responsePolicyRules.update:

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

    Substitua:

    • PROJECT_ID: o ID do projeto em que você criou a política de resposta.
    • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta que você quer atualizar a regra, como myresponsepolicy.
    • RESPONSE_POLICY_RULE: a regra da política de resposta que você quer atualizar.

Excluir uma regra de política de resposta

Para excluir uma regra de política de resposta, siga estas etapas:

Console

  1. No Console do Cloud, acesse a página de zonas do Cloud DNS.

    Acessar zonas do Cloud DNS

  2. Clique no nome da política de resposta cujas regras você quer editar.

  3. Clique no nome da regra de política de resposta que você quer excluir.

  4. Na página Detalhes da regra de política de resposta, clique em Mais na linha do nome da regra da política de resposta.

  5. Clique em Excluir. Também é possível clicar na regra que você quer excluir: na página Detalhes da regra da política de resposta, clique em Excluir regras da política de resposta.

gcloud

  • Para excluir uma regra de política de resposta do Cloud DNS, execute o comando gcloud beta dns response-policies rules delete:

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

    Substitua:

    • RESPONSE_POLICY_RULE_NAME: um nome para a regra da política de resposta que você quer criar, como myresponsepolicyrule.
    • RESPONSE_POLICY_NAME: o nome da política de resposta, como myresponsepolicy.

API

  • Para excluir uma regra de política de resposta, envie uma solicitação DELETE usando o método responsePolicyRules.delete:

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

    Substitua:

    • PROJECT_ID: o ID do projeto em que você criou a política de resposta.
    • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta de onde você quer excluir a regra, como myresponsepolicy.
    • RESPONSE_POLICY_RULE: a regra da política de resposta que você quer excluir.

Casos de uso

Nesta seção, fornecemos exemplos de casos de uso de configuração de regras de políticas de resposta.

Direcionar nomes específicos para endereços VIP restritos

É possível configurar uma política de resposta que tenha dados CNAME locais de cada zona para converter solicitações de APIs do Google para APIs restritas do Google. Os nomes não especificados continuarão sendo resolvidos usando o DNS regular.

Por exemplo, é possível criar uma política de resposta para pubsub.googleapis.com, que tem dados CNAME locais de uma zona, para converter solicitações da API do Google para restricted.googleapis.com. Enquanto isso, www.googleapis.com, que não foi especificado, continua sendo resolvido com o DNS regular.

No exemplo de configuração a seguir, você cria uma política e a aplica a uma rede VPC específica.

gcloud

  1. Para criar uma política de resposta, execute o comando gcloud beta dns response-policies create:

    gcloud beta dns response-policies create RESPONSE_POLICY_NAME \
        --networks=NETWORK \
        --description=DESCRIPTION
    

    Substitua:

    • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta que você quer criar, como myresponsepolicy.
    • NETWORK: uma lista separada por vírgulas com os nomes de rede para associar à política de resposta, como network1,network2.
    • DESCRIPTION: uma descrição da política de resposta, como My new response policy.
  2. Para adicionar uma regra à política, execute o comando gcloud beta dns response-policies rules create:

    gcloud beta dns response-policies rules create RESPONSE_POLICY_RULE_NAME \
        --response-policy=RESPONSE_POLICY_NAME \
        --dns-name=pubsub.googleapis.com. \
        --local-data=name="pubsub.googleapis.com.",type="A",ttl=300,rrdatas="199.36.153.4|199.36.153.5|199.36.153.6|199.36.153.7"
    

    Substitua:

    • RESPONSE_POLICY_RULE_NAME: um nome para a regra da política de resposta que você quer criar, como myresponsepolicyrule.
    • RESPONSE_POLICY_NAME: o nome da política de resposta, como myresponsepolicy.

API

  1. Criar uma política de resposta por URL:

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

    Substitua:

    • RESPONSE_POLICY_NAME: um nome para a política de resposta.
    • RESPONSE_POLICY_DESCRIPTION: uma descrição da política de resposta.
    • URL_TO_NETWORK: o URL para o qual você está criando a política de resposta.

  2. Adicionar uma regra à política:

    {
      kind: "dns#responsePolicyRules",
      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"]
        }
      ]
    }
    

    Substitua:

    • RULE_NAME: um nome para a regra que você está criando, como pubsub.
    • DNS_NAME: o nome do DNS para o qual você está criando a regra, como pubsub.googleapis.com.; observe o ponto final

Direcionar todos os nomes, exceto alguns, para endereços VIP restritos

É possível definir regras para ignorar algumas respostas DNS de uma regra de política que abranja um domínio inteiro ou um bloco de endereços IP grande. Esse conceito é chamado de comportamento de passthru. Ao usar o comportamento de passthru, você pode permitir que os nomes que não são compatíveis com os controles de serviço sejam permitidos depois do nome do caractere curinga.

Por exemplo, você pode deixar www.googleapis.com ser permitido depois do nome de caractere curinga no exemplo *.googleapis.com. A correspondência exata para www prevalece sobre o caractere curinga *.

No exemplo de configuração a seguir, você cria uma política com um nome especificado e a aplica a uma rede VPC específica. A regra permite que www.googleapis.com ignore o caractere curinga *.googleapis.com.

gcloud

  1. Para criar uma política de resposta, execute o comando gcloud beta dns response-policies create:

    gcloud beta dns response-policies create RESPONSE_POLICY_NAME \
        --networks=NETWORK \
        --description=DESCRIPTION
    

    Substitua:

    • RESPONSE_POLICY_NAME: o nome ou ID da política de resposta que você quer criar, como myresponsepolicy.
    • NETWORK: uma lista separada por vírgulas com os nomes de rede para associar à política de resposta, como network1,network2.
    • DESCRIPTION: uma descrição da política de resposta, como My new response policy.
  2. Se você quiser adicionar uma regra para ignorar a política, execute o comando gcloud beta dns response-policies rules create e defina a sinalização --behavior como bypassResponsePolicy:

    gcloud beta dns response-policies rules create RESPONSE_POLICY_RULE_NAME \
        --response-policy=RESPONSE_POLICY_NAME \
        --dns-name=DNS_NAME \
        --behavior=bypassResponsePolicy
    

    Substitua:

    • RESPONSE_POLICY_RULE_NAME: um nome para a regra da política de resposta que você quer criar, como myresponsepolicyrule.
    • RESPONSE_POLICY_NAME: o nome da política de resposta, como myresponsepolicy.
    • DNS_NAME: o DNS ou nome de domínio, como www.googleapis.com.

API

  1. Criar uma política de resposta:

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

    Substitua:

    • RESPONSE_POLICY_NAME: um nome para a política de resposta, como my-response-policy.
    • RESPONSE_POLICY_DESCRIPTION: uma descrição da política de resposta, como my response policy.
    • URL_TO_NETWORK: o URL para o qual você está criando a política de resposta.
  2. Adicionar uma regra à política:

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

    Substitua:

    • RULE_NAME: um nome para a regra que você está criando, como googleapis.
    • DNS_NAME: o nome do DNS curinga para o qual você está criando a regra, como *.googleapis.com.. Observe o ponto no final.

A seguir