Использование базовой аутентификации для доступа к Edge API

Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee
X.info

Для доступа к Edge API из вашей учетной записи Edge for the Cloud вы можете использовать базовую аутентификацию. При использовании базовой аутентификации вы передаете свои учетные данные (адрес электронной почты и пароль вашей учетной записи Apigee) в каждом запросе к Edge API.

Базовая аутентификация — наименее безопасный из поддерживаемых механизмов аутентификации. Ваши учетные данные не шифруются и не хешируются; они кодируются только в формате Base64. Вместо базовой аутентификации Apigee рекомендует использовать OAuth2 или SAML для доступа к Edge API.

Формат базовой аутентификации

Вы можете передавать свои учетные данные в виде заголовка, закодированного в Base64, или в качестве параметров в HTTP-клиенте.

При передаче учетных данных в заголовке необходимо закодировать их в формате Base64. Ниже приведен пример закодированного заголовка HTTP Basic Authentication:

Authorization: Basic YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo

При использовании такого клиента, как curl , вы передаете свои учетные данные с помощью опции -u , как показано в следующем примере:

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

curl кодирует ваш адрес электронной почты и пароль и добавляет их в заголовок Authorization запроса.

Если вы не укажете пароль, вам будет предложено его ввести.

Обратите внимание, что при вызовах Edge API необходимо использовать адрес электронной почты вашей учетной записи Apigee, а не имя пользователя.

Получите доступ к Edge API с помощью curl.

Вы также можете вручную установить заголовок Authorization при использовании curl для доступа к Edge API.

Хотя curl , как указано выше, кодирует ваши учетные данные, могут быть случаи, когда вы не захотите вводить незакодированные учетные данные в историю команд.

Чтобы вручную установить заголовки и получить доступ к Edge API с помощью curl :

  1. Закодируйте свой адрес электронной почты и пароль в Base64 с помощью такого инструмента, как base64 . Например:
      read -es PASS
      echo -n ahamilton@apigee.com:$PASS | base64

    Инструмент base64 возвращает закодированную строку:

    YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo=
  2. Добавьте закодированную строку в заголовок Authorization в вашем запросе к Edge API, как показано в следующем примере:
        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"
        }

Этот запрос получает подробную информацию об организации "ahamilton-eval". Полный список конечных точек Edge API см. в справочнике Apigee Edge API .

В каждый запрос необходимо включать заголовок Authorization .

Отключить базовую аутентификацию

Вы можете отключить базовую аутентификацию (при условии, что включены OAuth2 или SAML), отправив запрос в службу поддержки Apigee Edge .

Рекомендации по написанию сценариев

В некоторых ситуациях сбор пароля во время выполнения скрипта нецелесообразен. Например, может потребоваться запуск задания cron, которое срабатывает, когда нет администраторов. В таких случаях необходимо предоставить скрипту доступ к паролю без участия человека.

Следуйте этим рекомендациям:

  1. Централизуйте учетные данные в одном файле, который будет использоваться в качестве исходного кода для программ и скриптов, которые вы пишете.
  2. Максимально защитите исходный файл учетных данных, используя средства защиты и управления правами доступа к файловой системе.
  3. Создайте клиент автоматизации с крайне ограниченными правами доступа к определенным ресурсам в вашей организации.