SAML ile Edge API'ye erişme

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

SAML, tek oturum açma (TOA) ortamını destekler. Edge ile SAML kullanarak TOA'yı destekleyebilirsiniz ve uç noktanızı destekleyen diğer hizmetlere ek olarak Edge Kullanıcı Arayüzü ve API için SAML'yi tıklayın.

Ön koşul: SAML'yi en az şu süreyle etkinleştirmeniz gerekir: Edge API'ye erişmek için kullanmadan önce bir kuruluşta olması gerekir.

SAML ile OAuth2 arasındaki farklar

SAML kurulduktan sonra, bu hizmetin kullanılması OAuth2'ye erişmek için hakkında daha fazla bilgi edinin. Edge API'yi çağırdığınızda talebiniz.

Edge API'ye erişirken SAML ve OAuth2 arasındaki temel fark çok büyüktür jeton alırsınız. SAML ile jeton çifti:

  1. Alt bölgeler: Public Cloud kullanıcıları için Edge, jeton alırken alt bölge adlarına başvurmalıdır.
  2. Şifre kodu: Erişim/yenileme isteğinde bulunurken tek seferlik bir şifre kodu ekleyin jeton çiftidir.

SAML, uygun alt bölge adını ekleyerek Edge OAuth2 hizmetinde aynı uç noktaları kullanır.

SAML ile erişim jetonları almak için bu bölümde açıklanan aşağıdaki yöntemlerden birini kullanabilirsiniz:

Ayrıca, Jeton oluşturma sürecini otomatikleştirme başlıklı makalede açıklandığı gibi, makine kullanıcıları için jeton oluşturma işlemini otomatik hale getirebilirsiniz.

get_token ile erişim jetonları alma

Kimlik bilgilerinizi OAuth2 erişimi ve erişimi ile değiştirmek için get_token yardımcı programını kullanabilirsiniz. yenileme jetonları kullanabilirsiniz.

get_token ile erişim jetonu almak için:

  1. SSO_LOGIN_URL ortam değişkenini giriş URL'nize ayarlayın. Giriş URL'si şu formu kullanarak:
    https://zoneName.login.apigee.com

    Örneğin, "acme" adlı bir alt bölge için SSO_LOGIN_URL öğesini "https://acme.login.Apigee.com" olarak ayarlayın. aşağıdaki örnekte gösterildiği gibi:

    export SSO_LOGIN_URL=https://acme.login.apigee.com
  2. OAuth2 erişim jetonunu almak için get_token numaralı telefonu arayın:
    get_token -u me@example.com

    Tek seferlik bir şifre kodu almak için, görüntülenen URL'yi ziyaret etmeniz istenir:

    Get passcode from https://acme.login.apigee.com/passcode
    [Note:  Passcode can be used only time time and expires] Input passcode (no spaces) and then press ENTER:

    Yakın zamanda kimlik sağlayıcınız üzerinden oturum açmadıysanız oturum açmanız istenir. inç

    Bu URL, 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 bir get_token kodu oluşturmak için erişim jetonu. Örneğin:

  3. Şifre kodunu girin. get_token yardımcı programı OAuth2 jetonlarını alır erişim jetonunu stdout adlı yazıcıya yazdırır, erişim ve yenileme jetonlarını yazar alıcı: ~/.sso-cli.

  4. Edge API'yi çağırın ve Authorization: Bearer içindeki erişim jetonunu iletin başlık ekleyin:
    curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
      -H "Authorization: Bearer ACCESS_TOKEN"

    Erişim jetonunun değeri stdout ürününden kopyalanabilir.

    Bu örnekte, belirtilen kuruluşla ilgili ayrıntılar verilmektedir. Yönetimin tam listesi için API uç noktaları için Apigee Edge API Referansı'na bakın.

Erişim jetonunuzun süresi dolduğunda yeni bir erişim almak için get_token hizmetini tekrar arayabilirsiniz jeton. Örneğin:

get_token -u me@example.com

Yenileme jetonunun süresi dolana kadar yeni bir şifre kodu girmeniz istenmez.

Yenileme jetonunun süresi dolduğunda get_token sizden yeni bir şifre kodu girmenizi ister. Şunu yapmalısınız: yeni bir OAuth2 erişim jetonu oluşturabilmeniz için öncelikle yeni bir şifre kodu oluşturmanız gerekir.

Edge OAuth2 hizmetiyle erişim jetonları alma

SAML ile kullandığınız erişim jetonlarını almak için Edge OAuth2 hizmetini kullanabilirsiniz. Kimlik doğrulaması yapmak için kullanırken erişim/yenileme için ilk isteğinizde bir şifre kodu kullanırsınız. yeni bir jeton çifti almak için yeni bir kod çifti oluşturun.

Edge API ile jeton çifti almak için:

  1. Tarayıcıda, tek seferlik şifre kodunu almak için aşağıdaki URL'ye gidin:
    https://zoneName.login.apigee.com/passcode

    Örneğin, "acme" adlı bir alt bölge için aşağıdaki URL'ye gidin:

    https://acme.login.apigee.com/passcode

    Yakın zamanda kimlik sağlayıcınız üzerinden oturum açmadıysanız oturum açmanız istenir. inç

    Bu URL, jeton almak için kimlik bilgileriniz olarak işlev gören ve siz URL'yi yenileyene kadar geçerli olan tek seferlik bir şifre kodu döndürür: Yeni bir şifre kodu alın veya bir get_token kodu oluşturmak için erişim jetonu. Örneğin:

  2. Edge API'ye aşağıdaki örnekte gösterildiği gibi bir istek gönderin:
    curl https://zoneName.login.apigee.com/oauth/token \
          -s \
          -H "Accept: application/json" \
          -d 'grant_type=password&response_type=token&passcode=passcode'

    passcode, yetkilendirme için kimlik bilgileriniz olarak kullanılır.

    Burada:

    • Authorization başlığı "Temel ZWRnZWNsaTplZGdlY2xpc2VjcmV0" şeklindedir. (bunu kullanın tam değer).
    • İstek türü: POST.
    • İsteğin gövdesinde şunlar yer alır:
      • grant_type "şifre"dir.
      • response_type, "jeton"tur.
      • passcode burada passcode, önceki adımda döndürülen şifre kodudur.

    Aramada, erişim ve yenileme jetonları ekranda yazdırılır.

Erişim jetonunuzu yenilemek için:

https://zoneName.login.apigee.com/oauth/token isteği gönderin, aşağıdaki örnekte gösterildiği gibi:

curl https://zoneName.login.apigee.com/oauth/token \
      -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'

Burada:

  • İsteğin gövdesinde şunlar yer alır:
    • grant_type "refresh_token" değerine sahip.
    • refresh_token, yenileme jetonunun değeridir.
  • Authorization başlığı "Temel ZWRnZWNsaTplZGdlY2xpc2VjcmV0" şeklindedir. (bunu kullanın tam değer).
  • İstek türü: POST.

SAML ile Edge API'ye erişme

curl veya Apigee yardımcı programı acurl gibi araçları kullanabilirsiniz. - Edge API'ye erişin.

curl ile Edge API'yi çağırır ve erişim jetonunu Authorization: Bearer üstbilgisi, aşağıdaki örnekte gösterildiği gibi:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -H "Authorization: Bearer ACCESS_TOKEN"

acurl ile Authorization üstbilgisini belirtmeniz gerekmez. Örneğin:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

Bu örneklerde, belirtilen kuruluşla ilgili ayrıntıları alan bir Edge API uç noktası çağrılır. Edge API uç noktalarının tam listesi için Apigee Edge API Referansı'na bakın.

Jetonunuzun kaldığından emin olma yöntemleri de dahil olmak üzere API'yi çağırmaya yönelik ek yöntemler için OAuth2 ile Edge API'ye erişme başlıklı makaleyi inceleyin.

SAML alt bölgelerindeki makine kullanıcıları

Otomatik erişim komut dosyası için acurl ve get_token yardımcı programlarını kullanabilirsiniz makine kullanıcıları için Edge API'lerine erişim sağlar. Aşağıdaki örnekte, get_token ile şu işlemleri yapın: erişim jetonu isteyin ve ardından jeton değerini bir curl çağrısına ekleyin:

  USER=me@example.com
  PASS=not-that-secret
  TOKEN=$(get_token -u $USER:$PASS -m '' --force-basic-auth)
  curl -H "Authorization: Bearer $TOKEN" 'https://api.enterprise.apigee.com/v1/organizations/...'

Yukarıdaki örnekte -m değerinin boş bir dizeye ayarlanması, makine kullanıcılarının bunun MFA kodu sorulmasını engeller. --force-basic-auth işaretinin kullanılması geçersiz kılınır SAML bölgelerine sahip isteklerin tetiklediği şifre kodu istemi.

Alternatif olarak, acurl yardımcı programını kullanarak jeton isteğini ve curl çağrısını birleştirebilirsiniz. Örneğin:

  USER=me@example.com
  PASS=not-that-secret
  acurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'