Esta página descreve como criar programaticamente clientes OAuth para utilização com o IAP, o que lhe permite configurar o IAP programaticamente de forma global para aplicações internas.
Limitações conhecidas
Existem algumas limitações para clientes OAuth criados programaticamente através desta 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 abaixo para ver 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 da API são configuradas automaticamente com definições diferentes:
- Estão definidos como internos e têm de ser definidos manualmente como públicos, se desejar
- Estão definidos como "não revistos" e tem de ser acionada uma revisão da marca
Para definir manualmente uma marca interna como pública:
- Abra o ecrã de consentimento OAuth.
- Selecione o projeto pretendido no menu pendente.
- 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.
- 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:
- Abra o ecrã de consentimento OAuth.
- Selecione o projeto pretendido no menu pendente.
- 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.
Antes de começar
Antes de poder criar um cliente, certifique-se de que o autor da chamada tem as seguintes autorizações:
clientauthconfig.brands.listclientauthconfig.brands.createclientauthconfig.brands.getclientauthconfig.clients.createclientauthconfig.clients.listWithSecrets(Só é necessário para listar clientes OAuth com segredo.)clientauthconfig.clients.getWithSecretclientauthconfig.clients.deleteclientauthconfig.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.
配置权限请求页面
使用 list 命令检查您是否已有品牌。每个项目只能有一个品牌。
gcloud iap oauth-brands list
以下是 gcloud 响应示例(如果存在品牌):
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: true如果不存在品牌,请使用 create 命令:
gcloud iap oauth-brands create --application_title=APPLICATION_TITLE --support_email=SUPPORT_EMAIL
supportEmail:OAuth 同意屏幕上显示的支持电子邮件。该电子邮件地址可以是用户的地址,也可以是 Google 群组别名。虽然服务账号也有一个电子邮件地址,但它们不是实际有效的电子邮件地址,在创建品牌时不能使用。但是,服务账号可以是 Google 群组的所有者。创建新的 Google 群组或配置现有群组,然后将所需的服务账号设置为该群组的所有者。applicationTitle:OAuth 同意屏幕上显示的应用名称。
响应包含以下字段:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: true
创建 IAP OAuth 客户端
使用 create 命令可以创建客户端。使用上一步中的品牌
name。gcloud iap oauth-clients create projects/PROJECT_NUMBER/brands/BRAND-ID --display_name=NAME
响应包含以下字段:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_NAME]/identityAwareProxyClients/[CLIENT_ID] secret: [CLIENT_SECRET] displayName: [NAME]
Use o ID de cliente (client_id no exemplo acima) e secret para ativar as
compras na app. Consulte os seguintes tópicos para mais informações sobre como ativar as CNA através das credenciais que acabou de criar: