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 USER_NAME:PASSWORD https://MS_IP_DNS:8080/v1/organizations/ORG_NAME

Bu örnekte, temel kimlik doğrulama kimlik bilgilerini iletmek için curl -u seçeneğini kullanırsınız. 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/ORG_NAME

Kimlik doğrulaması için harici bir IdP'yi etkinleştirdikten sonra isteğe bağlı olarak temel kimlik doğrulamasını devre dışı bırakabilirsiniz. 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 jeton alma ve yenileme

get_token yardımcı programı, temel kimlik doğrulama kimlik bilgilerinizi (ve bazı durumlarda geçiş kodunu) OAuth2 erişim ve yenileme jetonuyla değiştirir. 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. Bir jeton yenilenebilirse yardımcı program jetonu yeniler ve 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 adresine geçerli bir erişim jetonu da yazdırır. Buradan Postman gibi bir tarayıcı uzantısı kullanabilir veya curl'te kullanmak için bir ortam değişkenine yerleştirebilirsiniz.

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, Apigee SSO modülünü barındıran makinenin IP adresi veya DNS adıdır. 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. Aşağıdaki örnekte gösterildiği gibi get_token/usr/local/bin'a 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) Tek kullanımlık şifre kodu almak için tarayıcıda aşağıdaki URL'ye gidin:
    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 jetonundan yararlanabilirsiniz.

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

  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 EMAIL_ADDRESS

    Burada EMAIL_ADDRESS, 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 EMAIL_ADDRESS -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/ORG_NAME
  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/ORG_NAME

    Komutun bu biçiminde, erişim jetonunun süresi dolduysa yenileme jetonunun süresi dolana kadar otomatik olarak 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ı. Ayrıca, SAML IdP ile ilk erişim jetonunu oluşturmak için yukarıdaki işlemin 3. adımında gösterildiği gibi şifre kodunu eklemeniz gerekir.

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 \
  http://EDGE_SSO_IP_DNS:9099/oauth/token -s \
  -d 'grant_type=password&username=USER_EMAIL&password=USER_PASSWORD'

(SAML) İlk erişim ve yenileme jetonlarını oluşturmak için aşağıdaki API çağrısını 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 -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=REFRESH_TOKEN'