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

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

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

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

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

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

Учетные данные, передаваемые в заголовке, должны быть закодированы в формате Base64. Ниже приведен пример закодированного заголовка HTTP для базовой аутентификации:

Authorization: Basic YWhhbWlsdG9uQGFwaWdlZS5jb206bXlwYXNzdzByZAo

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

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

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

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

Обратите внимание, что в вызовах API Edge нужно использовать адрес электронной почты аккаунта 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. Создайте клиент автоматизации с ограниченными разрешениями на определенные ресурсы в организации.