Restrinja o acesso aos recursos a domínios específicos

Para melhorar a segurança geral, o IAP nega, por predefinição, o acesso a pedidos que não tenham uma Indicação do nome do servidor (SNI) correspondente. O IAP também verifica o SNI do certificado do equilibrador de carga. Isto permite que o IAP restrinja o redirecionamento de URLs para domínios maliciosos. A funcionalidade de domínios permitidos do IAP oferece uma camada de segurança adicional para os seus recursos protegidos pelo IAP. Enquanto proprietário de recursos ou administrador do IAP, pode restringir o acesso a recursos protegidos pelo IAP a domínios específicos configurando a funcionalidade de domínios permitidos.

Também pode configurar domínios permitidos de CAs nos seguintes cenários:

  • O seu navegador ou um proxy intermédio está a forçar a partilha de ligações: neste cenário, recebe a resposta HTTP 429 e o código de erro 51. Para resolver o problema, um administrador da IAP pode atualizar a lista de domínios permitidos para incluir o nome do seu anfitrião.
  • O nome do anfitrião fornecido não corresponde ao certificado SSL no servidor: neste cenário, recebe o código de erro 52. Para resolver o problema, um administrador da IAP pode atualizar a lista de domínios permitidos para incluir o nome do seu anfitrião.

Configure domínios permitidos

Pode usar o gcloud ou a API para configurar as definições de domínios permitidos. Para configurar domínios permitidos, use os seguintes campos:

  • enable: booleano. Ativa ou desativa a funcionalidade de domínios permitidos.
  • Domains: string. A lista de domínios permitidos. Os domínios podem conter prefixos de carateres universais, como *.example.com.. Os nomes de domínios não podem conter um caráter universal diretamente num sufixo público ou num domínio de nível superior. Exemplo: *.com, *.co.in.

Para mais informações, consulte o artigo IapSettings.

Para configurar os domínios permitidos de CAs, conclua os seguintes passos:

Consola

  1. Aceda à página de CAsI.
    Aceda ao Identity-Aware Proxy.
  2. Selecione um projeto e, em seguida, selecione o recurso no qual quer ativar a funcionalidade de domínios permitidos.
  3. Abra as Definições do recurso. Em Domínios permitidos, selecione Ativar domínios permitidos.
  4. Especifique a lista de domínios permitidos e, de seguida, clique em Guardar.

gcloud

Seguem-se alguns exemplos de comandos para especificar domínios permitidos.

Para mais informações, consulte gcloud iap settings set.

Execute o seguinte comando:

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

Onde SETTING_FILE está:

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

Substitua o seguinte:

  • FOLDER: o ID da pasta.
  • ORGANIZATION: o ID da organização.
  • PROJECT: o ID do projeto.
  • RESOURCE_TYPE: o tipo de recurso de CNA. Tem de ser app-engine, iap_web, compute, organization ou folder.
  • SERVICE: o nome do serviço. Esta ação é opcional quando resource-type é compute ou app-engine.
  • VERSION: o nome da versão. Isto não se aplica a compute e é opcional quando resource-type é app-engine.

API

Para configurar domínios permitidos, conclua os passos seguintes. Para mais informações sobre a utilização da API para configurar domínios permitidos, consulte IapSettings.

  1. Execute o seguinte comando para preparar um ficheiro iap_settings.json. Atualize os valores conforme necessário.
 {
     "access_settings":{
         "allowed_domains_settings":{
             "enable": true
             "domains": [
                 "*.example.com",
                 "*.exampe.net"
             ]
         }
     }
 }
  1. Obtenha o nome do recurso executando o comando gcloud iap settings get. Copie o campo name da saída. Vai precisar do nome no passo seguinte.
gcloud iap settings get --organization=ORGANIZATION --folder=FOLDER --project=PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION
  1. Substitua RESOURCE_NAME no comando seguinte pelo nome do passo anterior. O IapSettings vai ser atualizado.
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"

Resolução de problemas

Problema de acesso aos domínios permitidos
Se receber o código de erro 53, peça a um administrador do IAP para adicionar o nome do anfitrião à lista de domínios permitidos.