Como usar a autenticação básica para acessar a API Edge

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Use a autenticação básica para acessar a API Edge no seu Edge para a conta do Cloud. Com a autenticação básica, você passa suas credenciais (o endereço de e-mail e a senha da sua conta da Apigee) em cada solicitação para a API Edge.

A autenticação básica é o mecanismo menos seguro dos mecanismos de autenticação suportados. Suas credenciais não estão criptografadas nem em hash. Elas são apenas codificadas em Base64. Em vez da autenticação básica, a Apigee recomenda usar OAuth2 ou SAML para acessar a API Edge.

Formato básico de autenticação

É possível transmitir suas credenciais como um cabeçalho codificado em Base64 ou como parâmetros em um cliente HTTP.

Ao transmitir suas credenciais no cabeçalho, você precisa codificá-las em Base64. Veja a seguir um exemplo de um cabeçalho de autenticação HTTP básica codificado:

Authorization: Basic YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo

Com um cliente como curl, você transmite suas credenciais com a opção -u, como no exemplo a seguir:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u email_address:password

curl codifica seu endereço de e-mail e senha e os adiciona ao cabeçalho Authorization da solicitação para você.

Se você omitir a senha, será necessário inseri-la.

Observe que é preciso usar o endereço de e-mail da sua conta da Apigee, e não seu nome de usuário nas chamadas da API Edge.

Acessar a API Edge com o curl

Também é possível definir manualmente a solicitação de cabeçalho Authorization ao usar curl para acessar a API Edge.

curl codificará suas credenciais, conforme mencionado acima, pode haver casos em que você não queira inserir as credenciais não codificadas no histórico de comandos.

Para definir os cabeçalhos manualmente e acessar a API Edge com curl:

  1. Codifique seu endereço de e-mail e senha em Base64 com uma ferramenta como base64. Por exemplo:
      read -es PASS
      echo -n ahamilton@apigee.com:$PASS | base64

    A ferramenta base64 retorna uma string codificada:

    YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo=
  2. Adicione a string codificada ao cabeçalho Authorization na solicitação da API Edge, como mostra o exemplo a seguir:
        read -es PASS
        BASIC=$(echo -n ahamilton@apigee.com:$PASS | base64
        curl -H "Authorization: Basic $BASIC" \
        https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
        {
        "createdAt" : 1491854501264,
        "createdBy" : "noreply_iops@apigee.com",
        "displayName" : "ahamilton",
        "environments" : [ "prod", "test" ],
        "lastModifiedAt" : 1491854501264,
        "lastModifiedBy" : "noreply_iops@apigee.com",
        "name" : "ahamilton",
        "properties" : {
        "property" : [ {
        "name" : "features.isSmbOrganization",
        "value" : "false"
        }, {
        "name" : "features.isCpsEnabled",
        "value" : "true"
        } ]
        },
        "type" : "trial"
        }

Essa solicitação recebe detalhes sobre a organização "ahamilton-eval". Para conferir uma lista completa dos endpoints da API Edge, consulte a Referência da API Apigee Edge.

É necessário incluir o cabeçalho Authorization em todas as solicitações.

Desativar autenticação básica

Para desativar a autenticação básica (desde que o OAuth2 ou o SAML esteja ativado), envie uma solicitação ao suporte do Apigee Edge.

Diretrizes de script

Em algumas situações, não é prático coletar a senha ao executar o script. Por exemplo, talvez seja necessário executar um cron job que seja acionado quando não houver administradores. Nessas situações, é necessário disponibilizar a senha para o script sem intervenção humana.

Siga as seguintes diretrizes:

  1. Centralize as credenciais em um único arquivo usado como fonte para os programas e scripts gravados
  2. Proteja o arquivo de origem das credenciais na medida do possível usando a segurança e as permissões do sistema de arquivos.
  3. Criar um cliente de automação com permissões altamente restritas em recursos específicos na organização.