Edge para nuvem privada v4.19.01
Ao usar SAML com a API Edge, o processo usado para obter acesso ao OAuth2 e tokens de atualização da declaração SAML é chamado de fluxo de senha. Com o fluxo da senha, usar um navegador para obter uma senha única e usá-la para receber tokens OAuth2.
No entanto, seu ambiente de desenvolvimento pode oferecer suporte à automação para tarefas comuns de desenvolvimento, como automação de testes ou integração e implantação contínuas (CI/CD). Para automatizar essas tarefas quando o SAML estiver ativado, você precisará receber e atualizar os tokens OAuth2 sem ter que copiar/colar uma senha do navegador.
O Edge oferece suporte à geração automatizada de tokens com o uso de usuários de máquina no SAML organizações. Um usuário de 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 Management.
Há duas maneiras de criar um usuário de máquina para uma organização SAML:
Cada um desses métodos é descrito nas seções a seguir.
Não é possível criar um usuário de máquina para uma organização que não seja SAML.
Criar um usuário de máquina com apigee-ssoadminapi.sh
Usar a apigee-ssoadminapi.sh
para criar um usuário de máquina em uma organização SAML. Consulte Como usar
apigee-ssoadminapi.sh para saber mais. É possível criar um único usuário de máquina para ser usado por todos
suas organizações ou criar um usuário de máquina separado para cada organização.
O usuário da máquina é criado e armazenado no armazenamento de dados do Edge, não na sua identidade SAML de nuvem. Portanto, você não é responsável por manter o usuário da máquina usando o Edge API de gerenciamento de borda e interface do usuário (IU) e Edge.
Ao criar o usuário da máquina, especifique um endereço de e-mail e uma senha. Depois criando o usuário da máquina, você o atribui a uma ou mais organizações.
Para criar um usuário de máquina com apigee-ssoadminapi.sh
:
- Use o seguinte comando
apigee-ssoadminapi.sh
para criar o usuário de máquina:apigee-ssoadminapi.sh saml machineuser add --admin SSO_ADMIN_NAME \ --secret SSO_ADMIN_SECRET --host Edge_SSO_IP_or_DNS \ -u machine_user_email -p machine_user_password
Em que:
- SSO_ADMIN_NAME é o nome de usuário de administrador definido pelo
SSO_ADMIN_NAME
propriedade em o arquivo de configuração usado para configurar o módulo SSO do Edge. O padrão éssoadmin
: - SSO_ADMIN_SECRET é a senha do administrador, conforme especificada pelo
SSO_ADMIN_SECRET
no arquivo de configuração.
Neste exemplo, é possível omitir os valores de
--port
e--ssl
porque o móduloapigee-sso
usa o padrão de 9099 para--port
e http para--ssl
. Se as não usa esses padrões, especifique-os conforme apropriado. - SSO_ADMIN_NAME é o nome de usuário de administrador definido pelo
- Faça login na interface do Edge, adicione o e-mail do usuário da máquina às suas organizações e atribua o usuário da máquina ao papel necessário. Consulte Como adicionar usuários globais para mais.
Criar um usuário de máquina com o Edge API de gerenciamento
É possível criar um usuário da máquina com a API Edge Management em vez de usar
Utilitário apigee-ssoadminapi.sh
.
Para criar um usuário de máquina com a API de gerenciamento:
- Use o seguinte comando
curl
para obter um token para o usuáriossoadmin
, o nome de usuário da conta de administrador deapigee-sso
:curl "http://Edge_SSO_IP_DNS:9099/oauth/token" -i -X POST \ -H 'Accept: application/json' / -H 'Content-Type: application/x-www-form-urlencoded' \ -d "response_type=token" -d "grant_type=client_credentials" \ --data-urlencode "client_secret=SSO_ADMIN_SECRET" \ --data-urlencode "client_id=ssoadmin"
SSO_ADMIN_SECRET é a senha de administrador que você definiu ao instalar
apigee-sso
, conforme especificado pela propriedadeSSO_ADMIN_SECRET
no arquivo de configuração.Esse comando exibe um token necessário para fazer a próxima chamada.
- Use o seguinte comando
curl
para criar o usuário da máquina, transmitindo o token que você recebidas na etapa anterior:curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST \ -H "Accept: application/json" -H "Content-Type: application/json" \ -d '{"userName" : "machine_user_email", "name" : {"formatted":"DevOps", "familyName" : "last_name", "givenName" : "first_name"}, "emails" : [ {"value" : "machine_user_email", "primary" : true } ], "active" : true, "verified" : true, "password" : "machine_user_password" }' \ -H "Authorization: Bearer token"
Você vai precisar da senha do usuário da máquina nas etapas posteriores.
- Faça login na interface do Edge.
- Adicione o e-mail do usuário da máquina às suas organizações e atribua o usuário à o papel necessário. Consulte Como adicionar usuários globais para saber mais.
Receber e atualizar tokens de usuário da máquina
Use a API Edge para receber e atualizar tokens OAuth2 transmitindo o token do usuário credenciais, em vez de uma senha.
Para receber tokens OAuth2 para o usuário da máquina:
- Use a seguinte chamada de API para gerar os tokens iniciais de acesso e atualização:
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 \ http://Edge_SSO_IP_DNS:9099/oauth/token -s \ -d 'grant_type=password&username=m_user_email&password=m_user_password'
Guarde os tokens para uso posterior.
- Transmita o token de acesso para uma chamada da API Edge Management como o cabeçalho do portador:
curl -H "Authorization: Bearer access_token" \ http://MS_IP_DNS:8080/v1/organizations/org_name
Em que org_name é o nome da organização que contém o usuário da máquina.
- Para atualizar o token de acesso mais tarde, use a seguinte chamada que inclui a solicitação de atualização
token:
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 \ http://edge_sso_IP_DNS:9099/oauth/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken'