Reautenticação do IAP

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Com a reautenticação do IAP, os proprietários de recursos ou os administradores do Google Cloud podem exigir que os usuários finais autenticados se autentiquem novamente após um período especificado ao acessar um recurso protegido pelo IAP. Isso garante que um usuário que esteja acessando um recurso protegido pelo IAP seja a mesma pessoa que inicialmente se autenticou no início da sessão.

Métodos de reautenticação compatíveis

Use os seguintes métodos para gerenciar as configurações de reautenticação:

  • Login: o IAP força a reautenticação do aplicativo protegido, e os usuários precisam fazer login novamente.
  • Chave segura: os usuários finais precisam fazer uma nova autenticação usando a autenticação de dois fatores baseada em chaves de segurança configurada.

Para mais informações, consulte IapSettings.

Configurar uma política de reautenticação

ReauthSettings fazem parte de IapSettings e, portanto, podem ser definidos em vários tipos de recurso na hierarquia. Ao contrário de outras configurações do IAP, em que o recurso mais baixo na hierarquia tem precedência, a configuração de reautenticação efetiva também depende do tipo de política.

Há dois tipos de políticas que podem ser usados para configurar a reautenticação:

  • Mínimo: a política será um mínimo para todos os outros recursos na hierarquia. A política vigente pode ser igual ou mais rígida.
  • Padrão: se nenhuma outra política for definida no recurso, a política de reautenticação definida se tornará a política vigente.

É possível usar a configuração do tipo de política para definir políticas para uma organização inteira ou para uma pasta definindo o tipo de política como Minimum.

Em casos de configurações hierárquicas com diferentes métodos de reautenticação, o Secure Key se transforma em um método Login.

Nos exemplos de IapSettings de pasta e recurso a seguir, a política de pasta é mais rígida e tem precedência. Portanto, a política de reautenticação efetiva corresponderá à política de pasta.

IapSettings de pasta:

accessSettings:
  reauthSettings:
    method: "LOGIN"
    maxAge: "3600s"
    policyType: "MINIMUM"

IapSettings de recurso:

accessSettings:
  reauthSettings:
    method: "LOGIN"
    maxAge: "7200s"
    policyType: "MINIMUM"

MaxAge

Use o parâmetro MaxAge para especificar a frequência com que um usuário final precisa se autenticar novamente, indicado em segundos. Por exemplo, para definir uma política de reautenticação de uma hora, defina os segundos como 3600, como mostrado no exemplo a seguir:

accessSettings:
  reauthSettings:
    method: "LOGIN"
    maxAge: "3600s"
    policyType: "MINIMUM"

O valor mínimo para maxAge é de cinco minutos.

Para definir uma política de reautenticação, siga as etapas abaixo.

Console

  1. Acesse a página Identity-Aware Proxy.
    Acessar a página "Identity-Aware Proxy"
  2. Selecione um projeto e o recurso em que você quer definir uma política de reautenticação.

  3. Abra as Configurações do recurso e, em Política de reautenticação, selecione Configurar reautenticação.

  4. Especifique as configurações de reautenticação e clique em Salvar.

gcloud

É possível definir uma política de reautenticação em recursos e serviços no nível da organização, do projeto e da pasta. Veja a seguir alguns exemplos de comandos para definir uma política de reautenticação.

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

Execute este comando:

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

Para definir uma política de reautenticação nos recursos de uma organização, execute o seguinte comando:

gcloud iap settings set SETTING_FILE --organization=ORGANIZATION

Para definir uma política de reautenticação nos recursos de uma pasta, execute o seguinte comando:

gcloud iap settings set SETTING_FILE --folder=FOLDER

Para definir uma política de reautenticação em todos os recursos de tipo da Web em um projeto, execute o comando abaixo:

gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=iap-web

Para definir uma política de reautenticação em um serviço do App Engine em um projeto, execute o seguinte comando:

gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=app-engine --service=SERVICE

Onde SETTING_FILE é:

accessSettings:
  reauthSettings:
    method: "LOGIN"
    maxAge: "3600s"
    policyType: "MINIMUM"

Substitua:

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

Como entender as credenciais de reautenticação

Após uma reautenticação bem-sucedida, o IAP cria um cookie no navegador do usuário final. Para evitar que os usuários precisem se autenticar novamente com muita frequência ao usar apps semelhantes, o cookie é definido no domínio particular de nível superior e é válido para todo o domínio de nível particular.

Por exemplo, foo.example.com é um recurso protegido por IAP e tem uma política de reautenticação de IAP. Após uma reautenticação bem-sucedida, o IAP define um cookie em example.com, que é o domínio particular de nível superior. Apps do mesmo domínio particular de nível superior, como bar.example.come, usam as mesmas credenciais de reautenticação e não pedem ao usuário que se autentiquem novamente, desde que as credenciais sejam válidas.

Para URLs como myapp.appspot.com, appspot.com é um domínio público. Portanto, o domínio particular de nível superior é myapp.appspot.com.

Limitações conhecidas

  • A reautenticação é compatível apenas com fluxos de navegador. O acesso programático à conta de usuário não é compatível. Por exemplo, não é possível autenticar novamente os usuários com apps para dispositivos móveis e computadores porque os recursos que exigem esse recurso não podem ser acessados.
  • As contas de serviço e o IAP-TCP estão isentos dos requisitos de reautenticação.
  • A reautenticação não funciona com o tipo de membro allUsers do IAM.
  • Se você usar outro provedor de identidade que não o Google, a reautenticação talvez não funcione como esperado.
  • As identidades externas via Identity Platform não são compatíveis com a reautenticação porque os recursos que exigem a reautenticação não são acessíveis.