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

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

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

Базовая аутентификация является наименее безопасным из поддерживаемых механизмов аутентификации. Ваши учетные данные не зашифрованы и не хешированы; они имеют только кодировку 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 запроса.

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

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

Доступ к 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"
        }

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

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

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

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

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

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

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

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