Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
SAML, tek oturum açma (TOA) ortamını destekler. Edge ile SAML'yi kullanarak, sağladığınız ve SAML'yi destekleyen diğer hizmetlere ek olarak Edge kullanıcı arayüzü ve API için TOA'yı destekleyebilirsiniz.
Ön koşul: Edge API'ye erişmek üzere kullanabilmek için önce en az bir kuruluş için SAML'yi etkinleştirmeniz gerekir.
SAML ve OAuth2 arasındaki farklar
SAML'yi kullanmak, Edge API'ye erişmek için OAuth2 kullanmaya çok benzer. Edge API'yi çağırdığınızda isteğinize bir OAuth2 erişim jetonu eklersiniz.
Edge API'ye erişirken SAML ile OAuth2 arasındaki temel fark, jetonları alma şeklinizdir. SAML'de jeton çiftinizi alırken aşağıdakileri eklemeniz gerekir:
- Alt bölgeler: Herkese Açık Bulut için Edge kullanıcıları, jetonları alırken alt bölge adlarına başvurmalıdır.
- Şifre kodu: Erişim/yenileme jetonu çifti isteğinde bulunurken tek kullanımlık bir şifre kodu ekleyin.
SAML, Edge OAuth2 hizmetinde aynı uç noktaları, uygun alt bölge adıyla birlikte 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 işlemini otomatikleştirme bölümünde açıklandığı şekilde makine kullanıcıları için jeton oluşturma sürecini otomatik hale getirebilirsiniz.
get_token ile erişim jetonları alın
Kimlik bilgilerinizi OAuth2 erişimiyle değiştirmek ve SAML ile kullandığınız jetonları yenilemek için
get_token yardımcı programını kullanabilirsiniz.
get_token ile erişim jetonu almak için:
SSO_LOGIN_URLortam değişkenini giriş URL'nize ayarlayın. Giriş URL'si aşağıdaki biçimde olur:
https://zoneName.login.apigee.com
Örneğin, "acme" adlı bir alt bölge için aşağıdaki örnekte gösterildiği gibi
SSO_LOGIN_URLözelliğini "https://acme.login.Apigee.com" olarak ayarlayın:
export SSO_LOGIN_URL=https://acme.login.apigee.com
- OAuth2 erişim jetonunu almak için
get_tokennumaralı telefonu arayın:
get_token -u firstname.lastname@example.org
Tek seferlik şifre kodunu 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.
Bu URL, yeni bir şifre kodu almak üzere ilgili URL'yi yenileyene veya erişim jetonu oluşturmak için
get_tokenile şifre kodu kullanana kadar geçerli olan tek seferlik bir şifre kodu döndürür. Örneğin:
-
Şifre kodunu girin.
get_tokenyardımcı programı OAuth2 jetonlarını alır, erişim jetonunu
stdoutcihazına yazdırır, erişim ve yenileme jetonlarını
~/.sso-cliadresine yazar.
- Edge API'yi çağırın ve erişim jetonunu, aşağıdaki örnekte gösterildiği gibi
Authorization: Bearerüst bilgisinde iletin:
curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \ -H "Authorization: Bearer ACCESS_TOKEN"
Erişim jetonunun değeri
stdoutöğesinden kopyalanabilir.
Bu örnekte, belirtilen kuruluşla ilgili ayrıntılar verilmektedir. Management API uç noktalarının tam listesi için Apigee Edge API Referansı'nı inceleyin.
Erişim jetonunuzun süresi dolduğunda yeni bir erişim jetonu almak için
get_token yöntemini tekrar çağırabilirsiniz. Örneğin:
get_token -u email@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. Yeni bir OAuth2 erişim jetonu oluşturabilmek için önce 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. Edge API ile kimliğinizi doğrulamak amacıyla, erişim/yenileme jetonu çifti almak için ilk isteğinizde bir şifre kodu kullanır ve yeni bir jeton çifti almak için tekrar kullanırsınız.
Edge API ile jeton çifti almak için:
- Tarayıcıda, tek seferlik bir şifre kodu 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 şu 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.
Bu URL, jeton almak için kimlik bilgileriniz olarak işlev gören tek seferlik bir şifre kodu döndürür ve yeni bir şifre kodu almak üzere URL'yi yenileyene veya erişim jetonu oluşturmak için
get_tokenile şifre kodunu kullanana kadar geçerli kalır. Örneğin:
- Edge API'ye aşağıdaki örnekte gösterildiği gibi 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üst bilgisi "Temel ZWRnZWNsaTplZGdlY2xpc2VjcmV0" şeklindedir (tam değeri kullanın).
- İstek türü:
POST.
- İsteğin gövdesinde şu bilgiler yer alır:
grant_type"şifre"dir.
response_type"jeton"dur.
passcode. Burada passcode, önceki adımda döndürülen şifre kodudur.
-
Çağrı, erişim ve yenileme jetonlarını ekrana yazdırır.
-
Erişim jetonunuzu yenilemek için:
Aşağıdaki örnekte gösterildiği gibi
https://zoneName.login.apigee.com/oauth/token adresine bir istek gönderin:
curl https://zoneName.login.apigee.com/oauth/token \ -d 'grant_type=refresh_token&refresh_token=REFRESH_TOKEN'
Burada:
- İsteğin gövdesinde şu bilgiler yer alır:
grant_type"refresh_token".
refresh_token, yenileme jetonunun değeridir.
-
Authorizationüst bilgisi "Temel ZWRnZWNsaTplZGdlY2xpc2VjcmV0" şeklindedir (tam değeri kullanın).
- İstek türü:
POST.
SAML ile Edge API'ye erişme
Edge API'ye erişmek için
curl veya Apigee kolaylık yardımcı programı
acurl gibi araçları kullanabilirsiniz.
curl ile Edge API'yi çağırır ve aşağıdaki örnekte gösterildiği gibi,
Authorization: Bearer üstbilgisinde erişim jetonunu geçirirsiniz:
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 Edge API uç noktası çağrılır. Edge API uç noktalarının tam listesi için Apigee Edge API Referansı'nı inceleyin.
Jetonunuzun güncel kalmasını sağlamak için yöntemler de dahil olmak üzere API'yi çağırmaya yönelik diğer yöntemler için OAuth2 ile Edge API'ye erişme bölümüne bakın.
SAML alt bölgelerindeki makine kullanıcıları
SAML alt bölgelerindeki makine kullanıcıları için Edge API'lerine otomatik erişimi komut dosyası haline getirmek amacıyla
acurl ve
get_token yardımcı programlarını kullanabilirsiniz.
Aşağıdaki örnekte, erişim jetonu istemek ve ardından jeton değerini bir
curl çağrısına eklemek için
get_token öğesinin nasıl kullanılacağı gösterilmektedir:
firstname.lastname@example.org
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ısından MFA kodu istenmesini engeller.
--force-basic-auth işaretinin kullanılması, SAML alt bölgelerine sahip istekler tarafından tetiklenen bir şifre kodu için standart istemi geçersiz kılar.
Alternatif olarak,
acurl yardımcı programını kullanarak jeton isteğini ve
curl çağrısını birleştirebilirsiniz.
Örneğin:
email@example.com
PASS=not-that-secret
acurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'