Criar clientes OAuth personalizados para o IAP

Esta página descreve como criar um cliente OAuth quando usa a configuração OAuth personalizada para ativar a IAP com identidades Google.

Se quiser usar um cliente OAuth gerido pela Google para usar na ativação da IAP, consulte o artigo Ative a IAP através de um cliente OAuth gerido pela Google.

Crie um cliente OAuth

Pode criar um máximo de 36 clientes OAuth para cada projeto com a consolaGoogle Cloud . Pode criar um máximo de 500 clientes OAuth para cada projeto com a CLI Google Cloud.

Consola

Conclua os passos seguintes para criar um cliente OAuth através da Google Cloud consola.

  1. Configure o ecrã de consentimento OAuth seguindo as instruções em Configurar o ecrã de consentimento OAuth.

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

gcloud

Limitações conhecidas

Seguem-se as limitações para clientes OAuth criados programaticamente através da API:

  • Os clientes OAuth criados pela API só podem ser modificados através da API. Não pode modificar um cliente OAuth através da consola se tiver sido criado através da API. Google Cloud
  • Os clientes OAuth criados pela API estão bloqueados apenas para utilização de IAP e, por isso, a API não permite atualizações ao URI de redirecionamento nem a outros atributos.
  • A API não opera nos clientes OAuth que foram criados através da Google Cloud consola.
  • Só são permitidos 500 clientes OAuth por projeto quando usa a API.
  • As marcas do ecrã de consentimento OAuth criadas pela API têm limitações específicas. Consulte a secção para mais informações.

Compreender as marcas e o estado de branding

O ecrã de consentimento OAuth, que contém informações de branding para os utilizadores, é conhecido como uma marca. As marcas podem ser limitadas a utilizadores internos ou utilizadores públicos. Uma marca interna torna o fluxo OAuth acessível a alguém que pertence à mesma organização do Google Workspace que o projeto. Uma marca pública disponibiliza o fluxo OAuth a qualquer pessoa na Internet.

As marcas podem ser criadas manualmente ou programaticamente através de uma API. As marcas criadas através de uma API são configuradas automaticamente com as seguintes definições:

  • Interno. Tem de definir manualmente como público.

  • Não revisto. Tem de acionar uma revisão da marca.

Para definir uma marca interna como pública:

  1. Abra o ecrã de consentimento OAuth.
  2. Selecione um projeto no menu pendente.
  3. Na página Ecrã de consentimento OAuth, repare que o Tipo de utilizador está automaticamente definido como Interno. Para a definir como Pública, clique em Editar app. São disponibilizadas mais opções de configuração.
  4. Em Tipo de aplicação, clique em Público.

Para acionar uma revisão da marca para uma marca criada pela API que não tenha sido revista:

  1. Abra o ecrã de consentimento OAuth.
  2. Selecione um projeto no menu pendente.
  3. Na página Ecrã de consentimento OAuth, introduza as informações necessárias e, em seguida, clique em Enviar para validação.

O processo de validação pode demorar até várias semanas e recebe atualizações por email à medida que avança. Saiba mais acerca da validação. Enquanto o processo de validação estiver em curso, pode continuar a usar a aplicação na sua organização do Google Workspace. Saiba mais sobre o comportamento da sua aplicação antes de ser validada.

Autorizações necessárias

Antes de criar o cliente, certifique-se de que o autor da chamada tem as seguintes autorizaçõ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

Estas autorizações estão incluídas nas funções básicas de editor (roles/editor) e proprietário (roles/owner). No entanto, recomendamos que crie uma função personalizada que contenha estas autorizações e a conceda ao autor da chamada.

Configure o OAuth para a IAP

Os passos seguintes descrevem como configurar o ecrã de consentimento e criar um cliente OAuth para as CAs.

  1. Verifique se já tem uma marca existente através do comando list. Só pode ter uma marca por projeto.

    gcloud iap oauth-brands list

    Segue-se um exemplo de uma resposta gcloud, se a marca existir:

    name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID]
    applicationTitle: [APPLICATION_TITLE]
    supportEmail: [SUPPORT_EMAIL]
    orgInternalOnly: true
    
  2. Se não existir nenhuma 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 quando chama esta API:

    • supportEmail: o email de apoio técnico apresentado no ecrã de consentimento OAuth. Este endereço de email pode ser o de um utilizador ou um alias dos Grupos Google. Embora as contas de serviço também tenham um endereço de email, não são endereços de email válidos reais e não podem ser usados quando cria uma marca. No entanto, uma conta de serviço pode ser proprietária de um grupo Google. Crie um novo grupo Google ou configure um grupo existente e defina a conta de serviço pretendida como proprietária do grupo.

    • applicationTitle: O nome da aplicação apresentado no ecrã de consentimento OAuth.

    A resposta contém os seguintes campos:

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

Criar um cliente OAuth do IAP

  1. Use o comando create para criar um cliente. Use a marca name do passo 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]