Esta página descreve como criar de maneira programática clientes OAuth para uso com o IAP, permitindo que você configure o IAP de maneira programática de ponta a ponta para aplicativos internos.
Limitações conhecidas
Existem algumas limitações para clientes OAuth criados de maneira programática usando esta API:
- Os clientes OAuth criados pela API só podem ser modificados usando a API. Você não é possível modificar um cliente OAuth criado pelo console do Google Cloud se ele tiver sido 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 ao URI de redirecionamento ou outras atributos.
- A API não opera nos clientes OAuth criados usando no 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 abaixo 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 manual ou programaticamente por meio de uma API. As marcas criadas pela API são definidas automaticamente com configurações diferentes:
- Elas são definidos como internas e devem ser definidas manualmente como públicas, se desejado
- Elas são definidos como um estado "não revisado" e uma avaliação de marca deve ser acionada
Para definir manualmente uma marca interna como pública:
- Abra a tela de consentimento do OAuth.
- Selecione o projeto desejado no menu suspenso.
- 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.
- Em tipo de aplicativo, clique em Público.
Para acionar uma revisão de marca para uma marca criada pela API sem revisão:
- Abra a tela de consentimento do OAuth.
- Selecione o projeto desejado no menu suspenso.
- 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.
Antes de começar
Antes de criar um cliente, primeiro 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.
Como configurar a tela de consentimento
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
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
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]
Use o ID do cliente (client_id
no exemplo acima) e secret
para ativar
pelo IAP. Consulte os tópicos a seguir para obter mais informações sobre
ative o IAP usando as credenciais que você acabou de criar: