Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. info
Ao usar o SAML com a API Edge, o processo usado para receber tokens de acesso e atualização do OAuth2 da declaração SAML é chamado de fluxo de senha. Com o fluxo de senha, você usa um navegador para receber uma senha única que é usada para receber tokens do OAuth2.
No entanto, seu ambiente pode oferecer suporte à automação para tarefas de desenvolvimento comuns, como automação de testes ou integração/implantação contínuas (CI/CD). Para automatizar essas tarefas quando o SAML está ativado, você precisa de uma maneira de receber e atualizar tokens do OAuth2 sem precisar copiar/colar uma senha de um navegador.
Sobre usuários de máquinas
O Apigee Edge oferece suporte a usuários de máquinas na sua organização ativada para SAML. Os usuários de máquinas são usados estritamente para automação e não são acessados diretamente por um humano.
Um usuário de máquina pode receber tokens do OAuth2 sem precisar especificar uma senha. Isso significa que você pode automatizar completamente o processo de recebimento e atualização de tokens do OAuth2 usando a API Edge.
Etapas para automatizar o processo de geração de tokens
Para automatizar o processo de geração de tokens:
Vídeo:assista a um vídeo curto para saber como automatizar o acesso às APIs do Apigee Edge usando credenciais de usuário de máquina.
Gerenciar usuários de máquinas para zonas de identidade SAML
O Apigee oferece a interface de linha de comando (CLI) de gerenciamento de usuários de máquinas para criar e gerenciar contas de usuários de máquinas. As etapas para usar a CLI de gerenciamento de usuários de máquinas são descritas nas seções a seguir.
Usar a CLI
Para usar a CLI de gerenciamento de usuários de máquinas, primeiro faça o download e descompacte o seguinte arquivo:
usermgmt.tar.gz(1)
O formato para chamar a CLI é o seguinte:
usermgmt_platform [command] [flags]
A tabela a seguir resume as plataformas com suporte e o comando correspondente para chamar a CLI de gerenciamento de usuários de máquinas.
Os executáveis estão localizados no diretório usermgmt.
| Plataforma | 32 bits | 64 bits |
|---|---|---|
| Linux | usermgmt_linux_386 |
usermgmt_linux_amd64 |
| Mac | usermgmt_darwin_386 |
usermgmt_darwin_amd64 |
| Windows | usermgmt_windows_386 |
usermgmt_windows_amd64 |
A tabela a seguir resume os comandos que podem ser especificados.
Opcionalmente, você pode transmitir uma das seguintes flags para mostrar ajuda no comando especificado: -h ou --help
Fazer login na CLI
Na primeira vez que você executa a CLI em um período de 24 horas, é necessário inserir as credenciais da conta zoneadmin.
Enter your Apigee credentials
Username: zoneadmin-username
Password: zoneadmin-password
If your user is opted with MFA, enter MFA code. Otherwise press enter to skip.
MFA: mfa-code_or_enter_to_skipA CLI de gerenciamento de usuários de máquinas armazena um token de acesso na sua máquina local para que você só precise fazer login uma vez por período de 24 horas.
Receber ajuda para usar a CLI
Mostre informações de uso da CLI usando o usermgmt_platform help comando. Consulte Usar a CLI para conferir a lista de plataformas com suporte.
usermgmt_platform help
As seguintes informações de ajuda são mostradas:
A command-line interface (CLI) to manage machine user accounts to automate
Apigee identity zone management. Use the CLI to create, list, delete,
and reset the password for machine users.
Usage:
usermgmt [flags]
usermgmt [command]
Available Commands:
create Creates a machine users in an identity zone.
delete Deletes a machine users in an identity zone.
help Help about any command
list Lists the machine users in an identity zone.
reset Resets the password for a machine user in an identity zone.
Flags:
-h, --help help for usermgmt
Use "usermgmt [command] --help" for more information about a command.
Mostre a ajuda em um comando específico transmitindo o comando e a flag -h ou --help na linha de comando.
Por exemplo, para receber ajuda no comando list:
usermgmt_platform list -h
As seguintes informações de ajuda são mostradas:
Lists the machine users in an identity zone.
Usage:
usermgmt list [flags]
Flags:
-h, --help help for list
Criar um usuário de máquina em uma zona de identidade
Crie um usuário de máquina em uma zona de identidade usando o usermgmt_platform create comando. Consulte Usar a CLI para conferir a lista de plataformas com suporte.
- Digite este comando:
usermgmt_platform createA lista de zonas de identidade é mostrada:
myzone1 myzone2 - Insira o nome de uma zona no prompt:
Enter a zone name: myzone1 - Insira um nome de usuário para o usuário de máquina:
Create a Machine User Username: machineuser1@mycompany.com - Insira uma senha para o usuário de máquina. Insira a senha novamente quando solicitado.
Password: password Re-enter password: passwordO usuário é criado.
Created machine user machineuser1@mycompany.com
Listar todos os usuários de máquinas em uma zona de identidade
Liste todos os usuários de máquinas em uma zona de identidade usando o comando usermgmt_platform list. Consulte Usar a CLI para conferir a lista de plataformas com suporte.
- Digite este comando:
A lista de zonas de identidade é mostrada:usermgmt_platform listmyzone1 myzone2 - Insira o nome de uma zona no prompt:
Enter a zone name: myzone1A lista de usuários de máquinas na zona de identidade é mostrada:
Machine users in the zone: machineuser1@mycompany.com
Redefinir a senha de um usuário de máquina em uma zona de identidade
Redefina a senha de um usuário de máquina em uma zona de identidade usando o comando usermgmt_platform reset. Consulte Usar a CLI para conferir a lista de plataformas com suporte.
- Digite este comando:
usermgmt_platform resetA lista de zonas de identidade é mostrada:
myzone1 myzone2 - Insira o nome de uma zona no prompt:
Enter a zone name: myzone1 - Insira o nome de usuário do usuário de máquina para o qual você quer redefinir a senha:
Reset User Password Enter the username for the machine user Username: machineuser1@mycompany.com - Insira uma nova senha para o usuário de máquina. Insira a senha novamente quando solicitado.
Enter the new password: password Re-enter password: passwordA senha é redefinida.
Reset password for machine user machineuser1@mycompany.com
Excluir um usuário de máquina em uma zona de identidade
Exclua um usuário de máquina em uma zona de identidade usando o comando usermgmt_platform delete. Consulte Usar a CLI para conferir a lista de plataformas com suporte.
- Digite este comando:
A lista de zonas de identidade é mostrada:usermgmt_platform deletemyzone1 myzone2 - Insira o nome de uma zona no prompt:
Enter a zone name: myzone1 - Insira o nome de usuário do usuário de máquina que você quer excluir:
Delete User Enter the username for the machine user Username: machineuser1@mycompany.comO usuário de máquina é excluído.
Deleted user machineuser1@mycompany.com
Atribuir papéis necessários ao usuário de máquina na sua organização do Edge
Usando a interface, adicione o usuário de máquina à sua organização do Edge ativada para SAML e atribua a ele os papéis necessários (como administrador da organização), conforme descrito em Adicionar usuários.
Receber os tokens do OAuth2 do usuário de máquina
É possível automatizar o processo de geração de tokens e processar o armazenamento em cache de tokens para usuários de máquinas com os
acurl(1) e get_token(1) utilitários, conforme descrito em
OAuth2 para usuários de máquinas e Usuários de máquinas em zonas SAML.
Para receber os tokens do OAuth2 do usuário de máquina manualmente com curl:
- Use a ferramenta de codificação de URL preferida para codificar o nome de usuário e a senha do usuário de máquina.
Aviso: use uma ferramenta de codificação de URL
interna para garantir que as credenciais do usuário de máquina não sejam comprometidas. - Gere os tokens de acesso e atualização iniciais chamando o endpoint de token SAML, mostrado no exemplo a seguir:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://zoneName.login.apigee.com/oauth/token -s \ -d 'grant_type=password&username=machineusername&password=machineuserpassword'
Para autorização, transmita a credencial de cliente OAuth2 reservada,
ZWRnZWNsaTplZGdlY2xpc2VjcmV0, noAuthorizationcabeçalho. A chamada imprime os tokens de acesso e atualização parastdout. - Transmita o token de acesso para uma chamada de API de gerenciamento do Edge como o cabeçalho do portador:
curl -H "Authorization: Bearer ACCESS_TOKEN" \ https://api.enterprise.apigee.com/v1/organizations/orgName
- Quando o token de acesso expirar, você poderá atualizá-lo enviando o token de atualização para o endpoint de token SAML
token, conforme mostrado no exemplo a seguir:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST \ https://zoneName.login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'
(1) Copyright 2023 Google LLC
As ferramentas usermgmt, acurl e get_token são disponibilizadas como "Software" de acordo com o
contrato que rege seu uso do Google Cloud Platform, incluindo os Termos
específicos do serviço disponíveis em https://cloud.google.com/terms/service-terms.