Como usar o SAML com tarefas automatizadas

Edge para nuvem privada v4.18.01

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 e depois usar os tokens OAuth2.

No entanto, seu ambiente de desenvolvimento 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.

O Edge oferece suporte à geração automatizada de tokens pelo uso de usuários de máquina. 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 de gerenciamento de borda.

Criar um usuário de máquina

Use o utilitário apigee-ssoadminapi.sh para criar um usuário de máquina para uma organização SAML. Para saber mais, consulte Como usar o apigee-ssoadminapi.sh. É possível criar um usuário de máquina único usado por todas as 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 no provedor de identidade SAML. Portanto, você não é responsável por manter o usuário da máquina usando a Edge interface e a API de gerenciamento do Edge.

Ao criar o usuário da máquina, especifique um endereço de e-mail e uma senha. Depois de criar o usuário da máquina, você o atribui a uma ou mais organizações.

Para criar um usuário de máquina:

  1. Use o comando apigee-ssoadminapi.sh para criar o usuário da 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

    • SSO_ADMIN_NAME é o nome de usuário de administrador definido pela propriedade SSO_ADMIN_NAME no arquivo de configuração usado para configurar o módulo SSO de borda. O padrão é ssoadmin.
    • SSO_ADMIN_SECRET é a senha do administrador, conforme especificado pela propriedade SSO_ADMIN_SECRET no arquivo de configuração.

      Neste exemplo, é possível omitir os valores de --port e --ssl porque o módulo apigee-sso usa os valores padrão 9099 para --port e http para --ssl. Se a instalação não usar esses padrões, especifique-os conforme apropriado.
  2. Faça login na interface do Edge, adicione o e-mail do usuário da máquina às suas organizações e atribua ao papel necessário. Consulte Como adicionar usuários globais para saber mais.

Receber e atualizar o token de usuário da máquina

Use a API Edge para receber e atualizar tokens OAuth2 transmitindo as credenciais do usuário da máquina, em vez de uma senha.

Para receber tokens OAuth2 para o usuário da máquina:







  1. edge_sso_IP_DNS A chamada exibe os tokens de acesso e de atualização na tela. Salvar os tokens para uso posterior.
  2. Transmita o token de acesso a uma chamada da API de gerenciamento do Edge como o cabeçalho Bearer:
    > curl -H "Authorization: Bearer access_token" http://ms_IP_DNS:8080/v1/organizations/orgName

    em que orgName é o nome da organização que contém o usuário da máquina.
  3. Para atualizar o token de acesso depois, use a chamada a seguir, que inclui o token de atualização:
    > curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
    -H "Accept: application/json;charset=utf-8" /
    -H "Authorization: Basic ZWRnZWN-refresh.sso sso google/token_refresh1/rn.


    edge_sso_IP_DNS

Criar um usuário de máquina usando a API Edge Management

É possível criar um usuário de máquina usando a API Edge Management em vez de usar o utilitário apigee-ssoadminapi.sh. Para criar um usuário de máquina:

  1. Use o comando cURL a seguir ssoadmin para obter um token para o usuário ssoadmin, o nome de usuário da conta de administrador para apigee-sso:
    > curl "http://edge_sso_IP_DNS:9099/oauth/token" -i -X POST /
    -H 'Accept: application/json' set / seguro-h







    Esse comando exibe um token necessário para a próxima chamada.
  2. Use o comando cURL a seguir para criar o usuário da máquina, transmitindo o token que você recebeu na etapa anterior:
    > curl "http://edge_sso_IP_DNS:9099/Users" -i -X POST /
    -H "Accept: application/jsonAuthorization" -H "Content-Type: application/json" /
    -data "senha
    "senha", "código_da_máquina "http://edge_sso_IP_DNS:9099/Users.


  3. Faça login na interface do Edge, adicione o e-mail do usuário da máquina às suas organizações e atribua ao papel necessário. Consulte Como adicionar usuários globais para saber mais.