Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
Ao usar o SAML com a API Edge, o processo usado para receber os 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 gerar uma senha única, que é usada para receber tokens OAuth2.
No entanto, o ambiente pode oferecer suporte à automação de tarefas de desenvolvimento comuns, como automação de testes ou integração/implantação contínua (CI/CD). Para automatizar essas tarefas quando o SAML está ativado, é preciso encontrar e atualizar os tokens OAuth2 sem precisar copiar/colar a senha de um navegador.
Sobre usuários de máquina
O Apigee Edge oferece suporte a usuários de máquina na sua organização ativada para SAML. Os usuários de máquinas são usados apenas para automação e não são acessados diretamente por pessoas.
O usuário da máquina pode receber tokens OAuth2 sem precisar especificar uma senha. Isso significa que é possível automatizar completamente o processo de recebimento e atualização de tokens 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 um vídeo curto para saber como automatizar o acesso às APIs da Apigee Edge usando credenciais de usuário da máquina.
Gerenciar usuários de máquina para zonas de identidade SAML
A Apigee oferece a interface de linha de comando (CLI) para 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 da máquina são descritas nas seções a seguir.
Usar a CLI
Para usar a CLI de gerenciamento de usuários da máquina, 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 compatíveis e o comando correspondente para chamar a CLI de gerenciamento de usuários da máquina.
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.
Como opção, você pode transmitir uma das flags a seguir para mostrar ajuda sobre o comando especificado: -h ou --help.
Fazer login na CLI
Na primeira vez que você executar a CLI em um período de 24 horas, será necessário inserir as credenciais da sua 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_skip
A CLI de gerenciamento de usuários da máquina armazena um token de acesso na sua máquina local para que você só precise fazer login uma vez a cada 24 horas.
Receber ajuda para usar a CLI
Mostre as informações de uso da CLI com o comando usermgmt_platform help. Consulte Usar a CLI para ver a lista de plataformas compatíveis.
usermgmt_platform help
As seguintes informações de ajuda são exibidas:
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 para um comando específico transmitindo o comando e a sinalização -h ou --help na linha de comando.
Por exemplo, para receber ajuda sobre o comando list:
usermgmt_platform list -h
As seguintes informações de ajuda são exibidas:
Lists the machine users in an identity zone.
Usage:
usermgmt list [flags]
Flags:
-h, --help help for list
Criar um usuário da máquina em uma zona de identidade
Crie um usuário de máquina em uma zona de identidade com o comando usermgmt_platform create. Consulte Usar a CLI para ver a lista de plataformas compatíveis.
- Digite o seguinte comando:
usermgmt_platform create
A lista de zonas de identidade é exibida:
myzone1 myzone2
- Insira o nome de uma zona no prompt:
Enter a zone name: myzone1
- Digite um nome de usuário para o usuário da máquina:
Create a Machine User Username: machineuser1@mycompany.com
- Digite uma senha para o usuário da máquina. Digite a senha novamente quando solicitado.
Password: password Re-enter password: password
O usuário é criado.
Created machine user machineuser1@mycompany.com
Listar todos os usuários de máquina em uma zona de identidade
Liste todos os usuários da máquina em uma zona de identidade com o comando usermgmt_platform list. Consulte Usar a CLI para ver a lista de plataformas compatíveis.
- Digite o seguinte comando:
. A lista de zonas de identidade é exibida:usermgmt_platform list
myzone1 myzone2
- Insira o nome de uma zona no prompt:
Enter a zone name: myzone1
A lista de usuários de máquina na zona de identidade é exibida:
Machine users in the zone: machineuser1@mycompany.com
Redefinir a senha de um usuário da máquina em uma zona de identidade
Redefina a senha de um usuário da máquina em uma zona de identidade com o comando usermgmt_platform reset. Consulte Usar a CLI para ver a lista de plataformas compatíveis.
- Digite o seguinte comando:
usermgmt_platform reset
A lista de zonas de identidade é exibida:
myzone1 myzone2
- Insira o nome de uma zona no prompt:
Enter a zone name: myzone1
- Digite o nome do usuário da máquina para redefinir a senha:
Reset User Password Enter the username for the machine user Username: machineuser1@mycompany.com
- Digite uma nova senha para o usuário da máquina. Digite a senha novamente quando solicitado.
Enter the new password: password Re-enter password: password
A senha foi redefinida.
Reset password for machine user machineuser1@mycompany.com
Excluir um usuário da máquina em uma zona de identidade
Exclua um usuário da máquina em uma zona de identidade com o comando usermgmt_platform delete. Consulte Usar a CLI para ver a lista de plataformas compatíveis.
- Digite o seguinte comando:
. A lista de zonas de identidade é exibida:usermgmt_platform delete
myzone1 myzone2
- Insira o nome de uma zona no prompt:
Enter a zone name: myzone1
- Digite o nome do usuário da máquina que você quer excluir:
Delete User Enter the username for the machine user Username: machineuser1@mycompany.com
O usuário da máquina é excluído.
Deleted user machineuser1@mycompany.com
Atribuir os papéis necessários ao usuário da máquina na sua organização de Edge
Na IU, adicione o usuário da máquina à organização do Edge ativada para SAML e atribua a ele os papéis necessários, como administrador da organização, conforme descrito em Como adicionar usuários.
Receber os tokens OAuth2 do usuário da 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áquina com os utilitários
acurl
(1) e get_token
(1), conforme descrito em
OAuth2 para usuários de máquina e Usuários de máquina em zonas SAML.
Para receber os tokens OAuth2 do usuário da máquina manualmente com curl
:
- Use a ferramenta de codificação de URL de sua preferência para codificar o nome de usuário e a senha do usuário da máquina.
Aviso:use uma ferramenta de codificação de URL
interna para garantir que as credenciais do usuário da máquina não sejam comprometidas. - Gere os tokens de acesso e atualização iniciais chamando o endpoint do 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 do cliente OAuth2 reservada,
ZWRnZWNsaTplZGdlY2xpc2VjcmV0
, no cabeçalhoAuthorization
. A chamada mostra os tokens de acesso e atualização emstdout
. - Transmita o token de acesso a uma chamada da API de gerenciamento do Edge como o cabeçalho "Portador":
curl -H "Authorization: Bearer ACCESS_TOKEN" \ https://api.enterprise.apigee.com/v1/organizations/orgName
- Quando o token de acesso expirar, será possível atualizá-lo enviando o token de atualização para o endpoint do token SAML, como mostra o 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" nos termos do
contrato que rege o uso do Google Cloud Platform, incluindo os Termos
Específicos do Serviço disponíveis em https://cloud.google.com/terms/service-terms.