Nesta página, você vai aprender a proteger uma instância do App Engine com o Identity-Aware Proxy (IAP).
Antes de começar
Para ativar o IAP para o App Engine, você precisará destes elementos:
- Um Google Cloud projeto do console com o 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 usuários na organização podem acessar o aplicativo ativado IAP app. Se você quiser permitir o acesso a 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 o IAP, você precisa de uma versão atualizada da CLI gcloud. Para instruções sobre como instalar a CLI gcloud, consulte Instalar a CLI gcloud.
-
Para autenticar, use a Google Cloud CLI e execute o seguinte comando:
gcloud auth login - Clique no URL que aparece e faça login.
- Depois de fazer login, copie o código de verificação que aparece e cole-o na linha de comando.
-
Execute o comando a seguir para especificar o projeto que contém os aplicativos que você quer proteger com o IAP.
gcloud config set project PROJECT_ID -
Para ativar o IAP, execute o seguinte comando.
gcloud iap web enable --resource-type=app-engine --versions=version -
Adicione ao projeto os principais que devem ter a função do usuário do app da Web protegido pelo IAP.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=PRINCIPAL_IDENTIFIER \ --role=roles/iap.httpsResourceAccessor- Substitua PROJECT_ID pela ID do seu projeto.
- Substitua PRINCIPAL_IDENTIFIER pelos principais necessários. Pode ser um tipo de domínio, grupo, serviceAccount ou usuário. Por exemplo,
user:myemail@example.com.
Depois de ativar o IAP, use a CLI gcloud para modificar a
política de acesso do IAP usando o papel do IAM
roles/iap.httpsResourceAccessor. Saiba mais sobre como gerenciar papéis e permissões.
API
Execute o comando a seguir para preparar um arquivo
settings.json.cat << EOF > settings.json { "iap": { "enabled":true } } EOFExecute o comando a seguir para ativar 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, use a Google Cloud CLI para modificar a
política de acesso do IAP usando o papel do IAM
roles/iap.httpsResourceAccessor. Saiba mais sobre como gerenciar papéis e permissões.
Testar a autenticação do usuário de teste
Depois que a função é concedida, os principais podem acessar o app após a autenticação com o IAP. Acesse o URL do aplicativo usando uma Conta do Google que recebeu o IAP com o papel de usuário do app da Web protegido pelo IAP (
roles/iap.httpsResourceAccessor).Use uma janela anônima no Chrome para acessar o app e faça login quando solicitado. Os usuários que recebem o papel de usuário do app da Web protegido pelo IAP e se autenticam com sucesso podem acessar o app. Os usuários que não recebem o papel necessário ou não conseguem se autenticar não podem acessar o app.