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
Há algumas limitações para clientes OAuth criados de maneira programática usando essa API:
- Os clientes OAuth criados pela API só podem ser modificados usando a API. Não é possível modificar um cliente OAuth pelo Google Cloud console 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 outros atributos.
- A API não opera nos clientes OAuth criados usando o Google Cloud console.
- Apenas 500 clientes OAuth são permitidos por projeto ao usar a API.
- As marcas da tela de permissão OAuth criadas pela API têm limitações específicas. Para mais informações, consulte Como entender as marcas e o estado da marca.
Como entender as marcas e o estado da marca
A tela de permissão 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 definidas como internas e precisam ser definidas manualmente como públicas, se selecionadas.
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 permissão do OAuth.
- Selecione o projeto 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 permissão do OAuth.
- Selecione seu projeto no menu suspenso.
- Na página Tela de permissão 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.listclientauthconfig.brands.createclientauthconfig.brands.getclientauthconfig.clients.createclientauthconfig.clients.listWithSecrets(necessário apenas para listar clientes OAuth com chave secreta)clientauthconfig.clients.getWithSecretclientauthconfig.clients.deleteclientauthconfig.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 permissão e criar um cliente OAuth para IAP.
Configuring consent screen
Check if you already have an existing brand by using the list command. You may only have one brand per project.
gcloud iap oauth-brands list
The following is an example gcloud response, if the brand exists:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: trueIf no brand exists, use the create command:
gcloud iap oauth-brands create --application_title=APPLICATION_TITLE --support_email=SUPPORT_EMAIL
The above fields are required when calling this API:
supportEmail: The support email displayed on the OAuth consent screen. This email address can either be a user's address or a Google Groups alias. While service accounts also have an email address, they are not actual valid email addresses, and cannot be used when creating a brand. However, a service account can be the owner of a Google Group. Either create a new Google Group or configure an existing group and set the desired service account as an owner of the group.applicationTitle: The application name displayed on OAuth consent screen.
The response contains the following fields:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: true
Creating an IAP OAuth Client
Use the create command to create a client. Use the brand
namefrom previous step.gcloud iap oauth-clients create projects/PROJECT_NUMBER/brands/BRAND-ID --display_name=NAME
The response contains the following fields:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_NAME]/identityAwareProxyClients/[CLIENT_ID] secret: [CLIENT_SECRET] displayName: [NAME]
Use o ID do cliente (client_id no exemplo anterior) e a secret para ativar o IAP. Consulte os tópicos a seguir para mais informações sobre como ativar o IAP usando as credenciais que você acabou de criar: