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

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X
.info

É possível usar a autenticação básica para acessar a API Edge da sua conta do Edge para a nuvem conta. Com a autenticação básica, você transmite suas credenciais (o endereço de e-mail da sua conta da Apigee e a senha) em cada solicitação à API Edge.

A autenticação básica é o mecanismo de autenticação compatível menos seguro. Suas credenciais não são criptografadas nem com hash. Elas são codificadas apenas em Base64. Em vez da autenticação básica, a Apigee recomenda o uso do OAuth2 ou SAML para acessar a API Edge.

Formato de autenticação básica

É 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, é necessário codificá-las em Base64. Confira a seguir um exemplo de cabeçalho de autenticação básica HTTP codificado:

Authorization: Basic YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo

Com um cliente como curl, você transmite suas credenciais com a opção -u, como mostra o 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.

Se você omitir sua senha, será solicitado que a insira.

É necessário usar o endereço de e-mail da sua conta da Apigee e não o nome de usuário nas chamadas da API Edge.

Acessar a API Edge com curl

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

Embora o curl codifique suas credenciais, conforme observado acima, pode haver casos em que você não queira inserir suas credenciais não codificadas no histórico de comandos.

Para definir manualmente os cabeçalhos 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 uma lista completa dos endpoints da API Edge, consulte a Referência da API Apigee Edge.

É necessário incluir o cabeçalho Authorization em cada solicitação.

Desativar a autenticação básica

É possível desativar a autenticação básica (desde que o OAuth2 ou SAML esteja ativado) enviando uma solicitação ao suporte do Apigee Edge.

Diretrizes de script

Em algumas situações, não é prático coletar a senha quando o script é executado. Por exemplo, talvez seja necessário executar um cron job que seja acionado quando nenhum administrador estiver presente. 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 origem para os programas e scripts que você escreve.
  2. Proteja o arquivo de origem de credenciais na medida do possível usando segurança do sistema de arquivos e permissões.
  3. Crie um cliente de automação com permissões altamente restritas em recursos específicos da sua organização.