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
- Aceda à página de CAsI.
Aceda ao Identity-Aware Proxy. - Selecione um projeto e, em seguida, selecione o recurso no qual quer ativar a funcionalidade de domínios permitidos.
- Abra as Definições do recurso. Em Domínios permitidos, selecione Ativar domínios permitidos.
- 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
oufolder
. - SERVICE: o nome do serviço. Esta ação é opcional quando
resource-type
écompute
ouapp-engine
. - VERSION: o nome da versão. Isto não se aplica a
compute
e é opcional quandoresource-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.
- 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" ] } } }
- 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
- Substitua
RESOURCE_NAME
no comando seguinte pelo nome do passo anterior. OIapSettings
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.