Nesta página, você verá como implantar um aplicativo do ambiente padrão ou flexível do App Engine e protegê-lo com o Identity-Aware Proxy (IAP). O guia de início rápido inclui o código de amostra de um app da Web do ambiente padrão do App Engine que verifica o nome de um usuário conectado.
Se você planeja disponibilizar recursos de uma rede de fornecimento de conteúdo (CDN, na sigla em inglês), consulte o guia de práticas recomendadas para informações importantes.
Para proteger recursos que não estão no Google Cloud, consulte Como proteger apps e recursos no local.
Antes de começar
Para ativar o IAP para o App Engine, você precisará destes elementos:
- Um Google Cloud projeto do console com faturamento ativado.
Se você ainda não configurou a instância do App Engine, consulte Como implantar o App Engine para um tutorial completo.
O IAP usa um cliente OAuth gerenciado pelo Google para autenticar usuários. Somente os usuários da organização podem acessar o aplicativo com IAP ativado. Se você quiser permitir o acesso de usuários de fora da sua organização, consulte Ativar o IAP para aplicativos externos.
Como ativar o IAP
Console
O cliente OAuth gerenciado pelo Google não está disponível ao ativar o IAP usando o console Google Cloud .
Se não tiver configurado o ecrã de consentimento OAuth do seu projeto, é-lhe pedido que o faça. Para configurar o ecrã de consentimento OAuth, consulte o artigo Configurar o ecrã de consentimento OAuth.
Configurar o acesso à IAP
-
Aceda à
página Identity-Aware Proxy.
Aceda à página Identity-Aware Proxy - Selecione o projeto que quer proteger com o IAP.
- Selecione a caixa de verificação junto ao recurso ao qual quer conceder acesso.
- No painel do lado direito, clique em Adicionar diretor.
-
Na caixa de diálogo Adicionar responsáveis apresentada, introduza os endereços de email dos grupos ou
indivíduos que devem ter a função Utilizador da app Web protegida pelo IAP para o projeto.
Os seguintes tipos de principais podem ter esta função:
- Conta Google: user@gmail.com
- Grupo Google: admins@googlegroups.com
- Conta de serviço: server@example.gserviceaccount.com
- Domínio do Google Workspace: example.com
Certifique-se de que adiciona uma Conta Google à qual tem acesso.
- Selecione Cloud IAP > Utilizador da app Web protegida pelo IAP na lista pendente Funções.
- Clique em Guardar.
Ativar o IAP
-
Na página Identity-Aware Proxy, em APLICAÇÕES,
encontre a aplicação à qual quer restringir
o acesso. Para ativar a IAP para um recurso:
- Na janela Ativar IAP apresentada, clique em Ativar para confirmar que quer que o IAP proteja o seu recurso. Depois de ativar o IAP, este requer credenciais de início de sessão para todas as ligações ao seu equilibrador de carga. Apenas as contas com a função utilizador da app Web protegida pelo IAP no projeto têm acesso.
gcloud
Antes de configurar o projeto e as CAs, precisa de uma versão atualizada da CLI gcloud. Para ver instruções sobre como instalar a CLI gcloud, consulte o artigo Instale a CLI gcloud.
-
Para autenticar, use a CLI do Google Cloud e execute o seguinte comando.
gcloud auth login
- Clique no URL apresentado e inicie sessão.
- Depois de iniciar sessão, copie o código de validação apresentado e cole-o na linha de comandos.
-
Execute o seguinte comando para especificar o projeto que contém as aplicações que quer proteger com o IAP.
gcloud config set project PROJECT_ID
-
Para ativar a IAP, execute o seguinte comando.
gcloud iap web enable --resource-type=app-engine --versions=version
-
Adicione os principais que devem ter a função de utilizador da app Web protegida pelo IAP ao projeto.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=PRINCIPAL_IDENTIFIER \ --role=roles/iap.httpsResourceAccessor
- Substitua PROJECT_ID pelo ID do seu projeto.
- Substitua PRINCIPAL_IDENTIFIER pelos principais necessários. Pode ser um
tipo de domínio, grupo, conta de serviço ou utilizador. Por exemplo,
user:myemail@example.com
.
Depois de ativar o IAP, pode usar a CLI gcloud para modificar a política de acesso do IAP através da função do IAM roles/iap.httpsResourceAccessor
. Saiba mais sobre a
gestão de funções e autorizações.
API
Execute o seguinte comando para preparar um ficheiro
settings.json
.cat << EOF > settings.json { "iap": { "enabled":true } } EOF
Execute o seguinte comando para ativar a IAP.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @settings.json \ "https://appengine.googleapis.com/v1/apps/PROJECT_ID?updateMask=iap"
Depois de ativar o IAP, pode usar a CLI do Google Cloud para modificar a política de acesso do IAP através da função do IAM roles/iap.httpsResourceAccessor
. Saiba mais sobre a
gestão de funções e autorizações.
Testar a autenticação do usuário
Acesse o URL do app usando uma conta do Google que você adicionou ao IAP com o papel Usuário do app da Web protegido pelo IAP, conforme descrito acima. Você precisa ter acesso irrestrito a ele.
Use uma janela anônima no Chrome para acessar o app e faça login quando solicitado. Se você tentar acessar o app com uma conta que não está autorizada com o papel Usuário do app da Web protegido pelo IAP, será exibida uma mensagem informando que você não têm acesso.
Próximas etapas
- Defina regras de contexto mais avançadas aplicando níveis de acesso.
- Para as solicitações de acesso, ative os registros de auditoria do Cloud.
- Saiba mais sobre o IAP.
- Saiba mais sobre Como conseguir a identidade do usuário e desenvolver seu próprio aplicativo do App Engine.