Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
O SAML é compatível com um ambiente de Logon único (SSO). Ao usar o SAML com o Edge, você oferece suporte ao SSO para a interface e a API do Edge, além de todos os outros serviços que você fornece e que também SAML.
Pré-requisito:você precisa ativar o SAML por pelo menos uma organização antes de poder usá-la para acessar a API Edge.
Diferenças entre SAML e OAuth2
Uma vez configurado o SAML, o uso dele é muito semelhante a usar o OAuth2 para acessar API Edge. Ao chamar a API Edge, você inclui um token de acesso OAuth2 sua solicitação.
A principal diferença entre o SAML e o OAuth2 ao acessar a API Edge está atrapalhando você recebe tokens. Com o SAML, você precisa incluir o seguinte ao receber o par de tokens:
- Zonas: os usuários do Edge para nuvem pública precisam fazer referência ao nome da zona ao receber tokens.
- Senha:inclua uma senha única ao solicitar acesso/atualização. par de tokens.
O SAML usa os mesmos endpoints no serviço Edge OAuth2, com a adição do nome da zona apropriado.
Para obter tokens de acesso com SAML, você pode usar um dos métodos a seguir, descritos nesta seção:
Além disso, você pode automatizar o processo de geração de tokens para usuários de máquinas, conforme descrito em Automatizar o processo de geração de tokens.
Receber tokens de acesso com get_token
Você pode usar o utilitário get_token
para trocar suas credenciais pelo acesso ao OAuth2 e
tokens de atualização usados com SAML.
Para receber um token de acesso com get_token:
- Defina a variável de ambiente
SSO_LOGIN_URL
como seu URL de login. O URL de login tem da seguinte forma:https://zoneName.login.apigee.com
Por exemplo, para uma zona chamada "acme", defina
SSO_LOGIN_URL
como "https://acme.login.apigee.com". como mostra o exemplo a seguir:export SSO_LOGIN_URL=https://acme.login.apigee.com
- Chame
get_token
para receber o token de acesso do OAuth2:get_token -u me@example.com
Você será solicitado a visitar o URL exibido para obter uma senha de uso único:
Get passcode from https://acme.login.apigee.com/passcode [Note: Passcode can be used only time time and expires] Input passcode (no spaces) and then press ENTER:
Se você não fez login recentemente usando seu provedor de identidade, será solicitado que você faça login
Esse URL retorna uma senha única que permanece válida até que você o atualize para gere uma nova senha ou use a senha com
get_token
para gerar uma token de acesso. Exemplo: -
Digite a senha. O utilitário
get_token
recebe os tokens OAuth2, imprime o token de acesso emstdout
e grava os tokens de acesso e atualização para~/.sso-cli
. - Chame a API Edge e transmita o token de acesso no
Authorization: Bearer
, conforme o exemplo a seguir:curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
O valor do token de acesso pode ser copiado de
stdout
.Este exemplo mostra detalhes sobre a organização. Para uma lista completa de recursos Endpoints da API, consulte Referência da API Apigee Edge.
Quando seu token de acesso expirar, você poderá chamar get_token
de novo para receber um novo acesso
com base no token correto anterior. Exemplo:
get_token -u me@example.com
Uma nova senha não será solicitada até que o token de atualização expire.
Quando o token de atualização expirar, o get_token
vai pedir uma nova senha. Você deve
gerar uma nova senha antes de gerar um novo token de acesso OAuth2.
Receber tokens de acesso com o serviço Edge OAuth2
Use o serviço Edge OAuth2 para receber os tokens de acesso usados com o SAML. Para autenticar você mesmo com a API Edge, usa uma senha em sua solicitação inicial para obter acesso/atualização e novamente para obter um novo par de tokens.
Para conseguir um par de tokens com a API Edge:
- Em um navegador, acesse o seguinte URL para receber uma senha única:
https://zoneName.login.apigee.com/passcode
Por exemplo, para uma zona chamada "acme", acesse o seguinte URL:
https://acme.login.apigee.com/passcode
Se você não fez login recentemente usando seu provedor de identidade, será solicitado que você faça login
Esse URL retorna uma senha única que age como suas credenciais para obter tokens e permanece válida até você atualizar o URL para gere uma nova senha ou use a senha com
get_token
para gerar uma token de acesso. Exemplo: - Envie uma solicitação para a API Edge, conforme o exemplo a seguir:
curl https://zoneName.login.apigee.com/oauth/token \ -s \ -H "Accept: application/json" \ -d 'grant_type=password&response_type=token&passcode=passcode'
O passcode atua como suas credenciais para autorização.
Em que:
- O cabeçalho
Authorization
é "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0". (use este ou o valor exato). - O tipo de solicitação é
POST
. - O corpo da solicitação contém o seguinte:
grant_type
é "senha".response_type
é "token".passcode
, em que passcode é a senha que foi retornada na etapa anterior.
A chamada exibe os tokens de acesso e atualização na tela.
- O cabeçalho
Para atualizar seu token de acesso:
Envie uma solicitação para https://zoneName.login.apigee.com/oauth/token
.
como mostra o exemplo a seguir:
curl https://zoneName.login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'
Em que:
- O corpo da solicitação contém o seguinte:
grant_type
é "refresh_token".refresh_token
é o valor do token de atualização.
- O cabeçalho
Authorization
é "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0". (use este ou o valor exato). - O tipo de solicitação é
POST
.
Acessar a API Edge com SAML
É possível usar ferramentas como curl
ou o utilitário de conveniência da Apigee acurl
para
acessar a API Edge.
Com curl
, você chama a API Edge e passa o token de acesso na
Authorization: Bearer
, como mostra o exemplo a seguir:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
Com acurl
, não é necessário especificar o cabeçalho Authorization
. Exemplo:
acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
Esses exemplos chamam um endpoint da API Edge que recebe detalhes sobre a organização em questão. Consulte a lista completa dos endpoints da API Edge em Referência da API Apigee Edge.
Para métodos adicionais de chamar a API, incluindo maneiras de garantir que seu token permaneça consulte Acessar a API Edge com OAuth2.
Usuários do computador em zonas SAML
É possível usar os utilitários acurl
e get_token
para criar scripts de acesso automatizado
às APIs Edge para usuários de máquina em zonas SAML.
O exemplo abaixo mostra como
use get_token
para
solicitar um token de acesso e, em seguida, adicionar o valor do token a uma chamada curl
:
USER=me@example.com
PASS=not-that-secret
TOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)
curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'
No exemplo acima, definir o valor de -m
como uma string vazia vai impedir que um usuário da máquina
de um código de MFA. O uso da sinalização --force-basic-auth
substitui
a solicitação padrão de senha acionada por solicitações com zonas SAML.
Como alternativa, é possível combinar a solicitação de token e a chamada curl
usando o utilitário acurl
.
Exemplo:
USER=me@example.com
PASS=not-that-secret
acurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'