Como criar clientes OAuth para o IAP

Nesta página, descrevemos como criar um cliente OAuth, que é necessário para ativar o IAP.

Criar um cliente OAuth

É possível criar até 36 clientes OAuth para cada projeto com o console do Google Cloud. É possível criar no máximo 500 clientes OAuth para cada projeto com a Google Cloud CLI.

Console

Conclua as etapas a seguir para criar um cliente OAuth usando o console do Google Cloud.

  1. Configure a tela de permissão OAuth seguindo as instruções em Como configurar a tela de permissão OAuth.

  2. Crie um cliente OAuth seguindo as instruções em Como configurar o OAuth 2.0.

gcloud

Limitações conhecidas

Veja a seguir as limitações para clientes OAuth criados programaticamente usando a API:

  • Os clientes OAuth criados pela API só podem ser modificados usando a API. Não é possível modificar um cliente OAuth usando o console do Google Cloud se ele foi criado usando a API.
  • Os clientes OAuth criados pela API são bloqueados apenas para uso do IAP e, portanto, a API não permite atualizações no URI de redirecionamento ou em outros atributos.
  • A API não opera nos clientes OAuth que foram criados usando o console do Google Cloud.
  • Apenas 500 clientes OAuth são permitidos por projeto ao usar a API.
  • As marcas da tela de consentimento OAuth criadas pela API têm limitações específicas. Consulte a seção para mais informações.

Como entender as marcas e o estado da marca

A tela de consentimento OAuth, que contém informações de marca para os usuários, é conhecida como marca. As marcas podem ser limitadas a usuários internos ou públicos. Uma marca interna torna o fluxo OAuth acessível para alguém que pertença à mesma organização do espaço de trabalho do Google que o projeto. Uma marca pública disponibiliza o fluxo OAuth para qualquer pessoa na Internet.

As marcas podem ser criadas de forma manual ou programática usando uma API. As marcas criadas usando uma API são definidas automaticamente com as seguintes configurações:

  • Interno. Defina manualmente como público.

  • Sem análise. É necessário acionar uma análise de marca.

Para definir uma marca interna como pública:

  1. Abra a tela de consentimento do OAuth.
  2. Selecione um projeto no menu suspenso.
  3. Na página tela de consentimento do OAuth, observe que o Tipo de usuário é definido automaticamente como Interno. Para defini-lo como Público, clique em Editar aplicativo. Mais opções de configuração estão disponíveis.
  4. Em tipo de aplicativo, clique em Público.

Para acionar uma revisão de marca para uma marca criada pela API sem revisão:

  1. Abra a tela de consentimento do OAuth.
  2. Selecione o projeto desejado no menu suspenso.
  3. Na página Tela de consentimento do OAuth, insira as informações necessárias e clique em Enviar para verificação.

O processo de verificação pode levar algumas semanas. Enviaremos atualizações do progresso por e-mail. Saiba mais sobre a verificação. Enquanto o processo de verificação estiver em andamento, você ainda poderá usar o aplicativo na sua organização do Google Workspace. Saiba mais sobre como seu aplicativo se comportará antes de ser verificado.

Permissões necessárias

Antes de criar o cliente, verifique se o autor da chamada recebeu as seguintes permissões:

  • clientauthconfig.brands.list
  • clientauthconfig.brands.create
  • clientauthconfig.brands.get
  • clientauthconfig.clients.create
  • clientauthconfig.clients.listWithSecrets
  • clientauthconfig.clients.getWithSecret
  • clientauthconfig.clients.delete
  • clientauthconfig.clients.update

Essas permissões estão incluídas nos papéis básicos de editor (roles/editor) e de proprietário (roles/owner). No entanto, em vez de usar esses papéis, recomendamos que você crie um papel personalizado que contenha essas permissões e o conceda ao autor da chamada.

Configurar o OAuth para IAP

Veja nas etapas a seguir como configurar a tela de consentimento e criar um cliente oauth para IAP.

  1. Verifique se você já tem uma marca usando o comando list. É possível ter apenas uma marca por projeto.

    gcloud iap oauth-brands list
    

    Veja um exemplo de resposta do gcloud, se a marca existir:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID]
    applicationTitle: [APPLICATION_TITLE]
    supportEmail: [SUPPORT_EMAIL]
    orgInternalOnly: true
    
  2. Se não houver marca, use o comando create:

    gcloud iap oauth-brands create --application_title=APPLICATION_TITLE --support_email=SUPPORT_EMAIL
    

    Os campos acima são obrigatórios ao chamar esta API:

    • supportEmail: o e-mail de suporte exibido na tela de consentimento do OAuth. Esse endereço de e-mail pode ser um endereço de usuário ou um alias dos Grupos do Google. Embora as contas de serviço também tenham um endereço de e-mail, elas não são endereços de e-mail válidos e não podem ser usadas ao criar uma marca. No entanto, uma conta de serviço pode ser a proprietária de um Grupo do Google. Crie um novo Grupo do Google ou configure um grupo existente e defina a conta de serviço desejada como proprietário do grupo.

    • applicationTitle: o nome do aplicativo exibido na tela de consentimento do OAuth.

    A resposta contém os seguintes campos:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID]
    applicationTitle: [APPLICATION_TITLE]
    supportEmail: [SUPPORT_EMAIL]
    orgInternalOnly: true
    

Como criar um cliente OAuth do IAP

  1. Use o comando create para criar um cliente. Use a marca name da etapa anterior.

    gcloud iap oauth-clients create projects/PROJECT_NUMBER/brands/BRAND-ID --display_name=NAME
    

    A resposta contém os seguintes campos:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_NAME]/identityAwareProxyClients/[CLIENT_ID]
    secret: [CLIENT_SECRET]
    displayName: [NAME]