Edge Management API ile harici IdP kullanma

Temel kimlik doğrulama, Edge Management API'ye çağrı yaparken kimlik doğrulama yöntemlerinden biridir. Örneğin, şunlara erişmek için Edge management API'ye aşağıdaki curl isteğini gönderebilirsiniz: kuruluşunuz hakkında bilgiler:

curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName

Bu örnekte, Temel kimlik doğrulamasını geçmek için curl -u seçeneğini kullanıyorsunuz. kimlik bilgileri. Alternatif olarak Bearer başlığında bir OAuth2 jetonu ileterek Aşağıdaki örnekte gösterildiği gibi Edge management API çağrıları:

curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName

Kimlik doğrulama için harici bir IdP'yi etkinleştirdikten sonra isteğe bağlı olarak Temel'i devre dışı bırakabilirsiniz. kimlik doğrulama. Temel'i devre dışı bırakırsanız kullanan tüm komut dosyalarını (ör. Maven, kabuk ve apigeetool) Temel kimlik doğrulamayı destekleyen Edge Management API çağrılarının artık çalışmadığı anlamına gelir. Güncellemeniz gerekiyor OAuth2 erişim jetonlarını aktarmak için Temel kimlik doğrulamasını kullanan tüm API çağrıları ve komut dosyaları Bearer üstbilgisi.

get_token ile jetonları alma ve yenileme

get_token yardımcı programı, Temel kimlik doğrulama kimlik bilgilerinizi (ve bazı durumlarda şifre kodu) kaldırın. get_token yardımcı programı şunları kabul eder: kimlik bilgilerini döndürür ve geçerli bir erişim jetonu döndürür. Jeton yenilenebilirse yardımcı program yenilenir ve bunu döndürür. Yenileme jetonunun süresi dolarsa kullanıcı kimlik bilgileri istenir.

get_token yardımcı programı, jetonları gerektiğinde kullanıma hazır şekilde diskte depolar. Google stdout'a geçerli bir erişim jetonu da yazdırır. Buradan bir tarayıcı uzantısı kullanabilirsiniz: Postman'i veya curl nesnesinde kullanmak üzere bir ortam değişkenine yerleştirin.

Edge Management API çağrıları yapmak üzere OAuth2 erişim jetonu almak için:

  1. sso-cli paketini indirin:
    curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"

    Burada edge_sso_IP_DNS, URL'yi barındıran makinenin IP adresi veya DNS adıdır. Apigee TOA modülü. Apigee TOA'da TLS'yi yapılandırdıysanız https ve doğru TLS bağlantı noktası numarası.

  2. ssocli-bundle.zip paketini aşağıdaki örnekte gösterildiği gibi açın:
    unzip ssocli-bundle.zip
  3. get_token uygulamasını aşağıdaki örnekte gösterildiği gibi /usr/local/bin sitesine yükleyin:
    ./install -b path

    -b seçeneği farklı bir konum belirtir.

  4. Aşağıdaki bölümde SSO_LOGIN_URL ortam değişkenini giriş URL'nize ayarlayın form:
    export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"

    Burada edge_sso_IP_DNS, Apigee TOA'yı barındıran makinenin IP adresidir. modülünü kullanabilirsiniz. Apigee TOA'da TLS'yi yapılandırdıysanız https ve doğru TLS bağlantı noktasını kullanın sayı.

  5. (Yalnızca SAML) Bir tarayıcıda aşağıdaki URL'ye giderek tek seferlik şifre kodu:
    http://edge_sso_IP_DNS:9099/passcode

    Apigee TOA'da TLS'yi yapılandırdıysanız https ve doğru TLS bağlantı noktasını kullanın sayı.

    Bu istek, siz ilgili URL'yi yenileyene kadar geçerli kalan tek seferlik bir şifre kodu döndürür. Yeni bir şifre kodu alın veya get_token ile şifre kodunu kullanarak erişim jetonu.

    Şifre kodunu yalnızca SAML IdP ile kimlik doğrularken kullanabileceğinizi unutmayın. Kullanamazsınız LDAP IdP ile kimlik doğrulamak için bir şifre kodu kullanmanız gerekir.

  6. Aşağıdaki örnekte gösterildiği gibi, OAuth2 erişim jetonunu almak için get_token komutunu çağırın:
    get_token -u emailAddress

    Burada emailAddress bir Edge kullanıcısının e-posta adresidir.

    (Yalnızca SAML) E-posta adresinin yanı sıra komut satırına şifre kodunu girin adresini ekleyin:

    get_token -u emailAddress -p passcode

    get_token yardımcı programı OAuth2 erişim jetonunu alır ve bu ekrana gidip bunu ve yenileme jetonunu ~/.sso-cli adresine yazar.

  7. Erişim jetonunu Bearer üstbilgisi olarak bir Edge management API çağrısına iletin, aşağıdaki örnekte gösterildiği gibi:
    curl -H "Authorization: Bearer access_token"
      https://ms_IP:8080/v1/organizations/orgName
  8. İlk kez yeni bir erişim jetonu aldıktan sonra aşağıdaki örnekte gösterildiği gibi tek bir komutta bir API çağrısına iletin:
    header=`get_token` && curl -H "Authorization: Bearer $header"
      https://ms_IP:8080/v1/o/orgName

    Bu komutla, erişim jetonunun süresi dolmuşsa jeton otomatik olarak yenileme jetonunun süresi dolana kadar yenilenir.

(Yalnızca SAML) Yenileme jetonunun süresi dolduğunda get_token sizden yeni bir şifre kodu girmenizi ister. Siz şifre kodu oluşturabilmeniz için öncelikle yukarıdaki 3. adımda gösterilen URL'ye gitmeniz ve yeni bir şifre kodu oluşturmanız gerekir. yeni bir OAuth erişim jetonu ekleyebilirsiniz.

Alma ve yenileme için management API'yi kullanma jetonlar

OAuth2'yi kullanma güvenlik çözümleri geliştirerek Jetonları almak ve yenilemek için uç yönetim API'si. Jeton almak için Edge API çağrılarını da kullanabilirsiniz üretilir.

Şurada belgelenen API çağrıları arasındaki tek fark: OAuth2'yi kullanma ile ilgili bir diğer önemli husus, çağrı URL'sinin bölge adı. Buna ek olarak, SAML IdP ile ilk erişim jetonu oluşturmak için yukarıdaki prosedürün 3. adımında gösterildiği gibi şifre kodunu kullanın.

Yetkilendirme için Authorization içinde ayrılmış bir OAuth2 istemci kimlik bilgisini iletin kullanabilirsiniz. Aramada, erişim ve yenileme jetonları ekranda yazdırılır.

Erişim jetonu alma

(LDAP) İlk erişimi oluşturmak ve aşağıdakileri yenilemek için aşağıdaki API çağrısını kullanın: jetonlar:

curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
  -H "accept: application/json;charset=utf-8" /
  -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
  https://edge_sso_IP_DNS:9099/oauth/token -s /
  -d 'grant_type=password&response_type=token'

(SAML) İlk erişimi oluşturmak ve yenileme yapmak için aşağıdaki API çağrısını kullanın jetonlar:

curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" /
  -H "accept: application/json;charset=utf-8" /
  -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
  https://edge_sso_IP_DNS:9099/oauth/token -s /
  -d 'grant_type=password&response_type=token&passcode=passcode'

SAML IDP ile kimlik doğrulama için geçici bir şifre kodu gerekirken LDAP IDP'si için geçici bir şifre kodu kullanılması gerektiğini unutmayın. .

Erişim jetonunu yenileme

Erişim jetonunu daha sonra yenilemek için yenileme jetonunu içeren aşağıdaki çağrıyı kullanın:

curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" /
  -H "Accept: application/json;charset=utf-8" /
  -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST /
  https://edge_sso_IP_DNS:9099/oauth/token /
  -d 'grant_type=refresh_token&refresh_token=refreshToken'