Como usar utilitários e APIs de administrador do Edge após ativar o SSO da Apigee

Esta seção descreve como executar comandos e ferramentas de administrador do sistema Edge depois de ativar o SSO da Apigee. Muitas tarefas no Edge exigem credenciais de administração do sistema, como:

  • Criação de organizações e ambientes
  • Adição e remoção de componentes do Edge
  • Execução de comandos apigee-adminapi.sh

No entanto, depois de ativar o SSO no Edge, você geralmente desativa a autenticação básica para que a única maneira de autenticar seja pelo IDP OIDC/SAML. Portanto, adicione a conta de administrador do sistema ao seu IDP ou crie um usuário de máquina local para automação.

Como chamar APIs de gerenciamento do Edge como o administrador do sistema

Muitas chamadas de API do Edge exigem que você transmita credenciais de administrador do sistema. Usar o SAML com a API de gerenciamento do Edge contém instruções sobre como receber e atualizar tokens usando o utilitário get_token ao fazer chamadas de API de gerenciamento do Edge.

Como usar o utilitário apigee-adminapi.sh com o SSO da Apigee

Use o utilitário apigee-adminapi.sh para realizar as mesmas tarefas de configuração do Edge que você realiza fazendo chamadas para a API de gerenciamento do Edge. A vantagem do apigee-adminapi.sh utilitário é que ele:

  • Usa uma interface de linha de comando simples
  • Implementa a conclusão de comandos com base em guias
  • Fornece informações de ajuda e uso
  • Pode mostrar a chamada de API correspondente se você decidir testar a API

Depois de ativar o SSO da Apigee, você tem duas maneiras principais de transmitir credenciais para o utilitário apigee-adminapi.sh, dependendo se você é um administrador humano ou um script automatizado.

Você pode conferir todas as opções de qualquer comando apigee-adminapi.sh, incluindo as opções para especificar credenciais de SSO, usando a opção -h no comando. Por exemplo:

apigee-adminapi.sh orgs list -h

Como transmitir um token do portador (para administradores humanos)

Como o SSO da Apigee modernizado não oferece suporte ao fluxo de copiar e colar /passcode legado, os administradores humanos precisam usar o utilitário get_token para concluir o fluxo de código do dispositivo OAuth 2.0 e transmitir o token resultante para o script.

Primeiro, receba um token:

/opt/apigee/apigee-openldap/bin/get_token -u adminEmail

Em seguida, use o token ao chamar o comando:

apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode \
  --admin adminEmail --oauth-token token_string

Em que:

  • oauth-flow especifica passcode (isso sinaliza para o script legado que um token está sendo fornecido).
  • oauth-token contém a string JWT bruta recebida de get_token.

Como transmitir uma senha (somente para usuários de máquina)

Se você estiver automatizando implantações de infraestrutura, poderá transmitir credenciais diretamente usando o fluxo password_grant. No entanto, se a federação SAML/OIDC estiver ativada, os usuários sombra humanos serão bloqueados do login por senha para evitar o bypass da MFA. Primeiro, provisione um usuário de máquina explícito no OpenLDAP.

apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant \
  --admin machineUserEmail --oauth-password machineUserPassword

Em que:

  • A opção sso-url especifica o URL do SSO da Apigee. Modifique a porta ou o protocolo se você os tiver alterado de 9099 e HTTP.
  • oauth-flow especifica password_grant.
  • machineUserEmail é o endereço de e-mail do usuário de máquina automatizado.
  • oauth-password especifica a senha do usuário de máquina.

Como usar utilitários do Edge com o SSO da Apigee

Muitos utilitários do Edge exigem credenciais de administrador do sistema, como:

  • apigee-provision usado para criar organizações, ambientes e hosts virtuais
  • setup.sh usado para adicionar nós a um sistema atual
  • Qualquer outro utilitário em que você precise especificar as credenciais de administrador do sistema em um arquivo de configuração

Esses utilitários recebem como entrada um arquivo de configuração que especifica as credenciais do administrador do sistema. Antes de o SSO ser ativado, isso é feito usando as propriedades:

ADMIN_EMAIL="adminEmail"
APIGEE_ADMINPW="adminPWord"

Depois de ativar o SSO da Apigee, você precisa usar propriedades diferentes para especificar as credenciais do administrador do sistema.

Como usar um token do portador (para administradores humanos)

Para implantações interativas por administradores humanos, adquira um token usando o utilitário get_token e forneça-o pela propriedade OAUTH_BEARER_TOKEN:

ADMIN_EMAIL="adminEmail"
SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
OAUTH_FLOW="passcode"
OAUTH_BEARER_TOKEN="token_string"

Em que:

  • OAUTH_FLOW especifica passcode (sinalizando que um token é fornecido).
  • OAUTH_BEARER_TOKEN contém a string JWT bruta recebida de get_token.

Como usar uma senha (somente para usuários de máquina)

Para implantações totalmente automatizadas, forneça as credenciais de um usuário de máquina provisionado explicitamente usando o fluxo password_grant:

ADMIN_EMAIL="machineUserEmail"
SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
OAUTH_FLOW="password_grant"
OAUTH_ADMIN_PASSWORD="machineUserPassword"

Em que:

  • SSO_LOGIN_URL especifica o URL do SSO da Apigee.
  • OAUTH_FLOW especifica password_grant.
  • OAUTH_ADMIN_PASSWORD especifica a senha do usuário de máquina.