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 tüm hizmetlerin yanı sıra Edge kullanıcı arayüzü ve API için TOA'yı destekleyebilirsiniz.
Ön koşul: Edge API'ye erişmek için kullanmadan önce en az bir kuruluşta SAML'yi etkinleştirmeniz gerekir.
SAML ile OAuth2 arasındaki farklar
SAML ayarlandıktan sonra, Edge API'ye erişmek için OAuth2 kullanmaya benzer. Edge API'yi çağırdığınızda isteğinize bir OAuth2 erişim jetonu eklersiniz.
Edge API'ye erişirken SAML ve OAuth2 arasındaki temel fark, jetonları alma şeklinizdir. SAML ile jeton çiftinizi alırken aşağıdakileri eklemeniz gerekir:
- Bölgeler: Public Cloud için Edge kullanıcıları, jeton alırken bölge adlarını referans olarak kullanmalıdır.
- Şifre kodu: Erişim/yenileme jetonu çifti istenirken tek kullanımlık şifre kodu ekleyin.
SAML, uygun bölge adının eklenmesiyle 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 bölümünde açıklandığı gibi makine kullanıcıları için jeton oluşturma sürecini de otomatikleştirebilirsiniz.
get_token ile erişim jetonları alma
Kimlik bilgilerinizi, SAML ile kullandığınız OAuth2 erişim ve yenileme jetonlarıyla değiştirmek 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'niz olarak ayarlayın. Giriş URL'si aşağıdaki biçimdedir:https://zoneName.login.apigee.com
Örneğin, "acme" adlı bir bölge için
SSO_LOGIN_URLdeğerini "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
- OAuth2 erişim jetonunu almak için
get_tokenişlevini çağırın:get_token -u me@example.com
Tek kullanımlık şifre kodu almak için gösterilen 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 için URL'yi yenileyene veya erişim jetonu oluşturmak için şifre kodunu
get_tokenile kullanana kadar geçerli olan tek kullanımlık bir şifre kodu döndürür. Örneğin:
-
Şifre kodunu girin.
get_tokenyardımcı programı OAuth2 jetonlarını alır, erişim jetonunustdout'ye yazdırır ve erişim ile yenileme jetonlarını~/.sso-cli'ye yazar. - Aşağıdaki örnekte gösterildiği gibi, Edge API'yi çağırın ve erişim jetonunu
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
stdouthizmetinden kopyalanabilir.Bu örnekte, belirtilen kuruluşla ilgili ayrıntılar alınır. Yönetim API uç noktalarının tam listesi için Apigee Edge API Referansı'na bakın.
Erişim jetonunuzun süresi dolduğunda yeni bir erişim jetonu almak için get_token işlevini tekrar çağırabilirsiniz. Örneğin:
get_token -u me@example.com
Yenileme jetonunun süresi dolana kadar yeni bir geçiş kodu girmeniz istenmez.
Yenileme jetonunun süresi dolduğunda get_token sizden yeni bir şifre kodu ister. Yeni bir OAuth2 erişim jetonu oluşturabilmek için önce yeni bir geçiş 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'de kimliğinizi doğrulamak için ilk isteğinizde erişim/yenileme jetonu çifti almak üzere ve tekrar yeni bir jeton çifti almak üzere bir geçiş kodu kullanırsınız.
Edge API ile jeton çifti almak için:
- Tek kullanımlık şifre kodu almak için tarayıcıda aşağıdaki URL'ye gidin:
https://zoneName.login.apigee.com/passcode
Örneğin, "acme" adlı bir 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 kullanımlık bir şifre kodu döndürür ve yeni bir şifre kodu almak için URL'yi yenileyene kadar geçerli kalır. Alternatif olarak, erişim jetonu oluşturmak için şifre kodunu
get_tokenile birlikte kullanabilirsiniz. Örneğin:
- Aşağıdaki örnekte gösterildiği gibi Edge API'ye 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üstbilgisi "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" şeklindedir (bu değeri aynen kullanın).- İstek türü
POST. - İsteğin gövdesi aşağıdakileri içerir:
grant_type, "şifre"dir.response_type, "token" değerine sahip.passcode(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övdesi aşağıdakileri içerir:
grant_type: "refresh_token".refresh_token, yenileme jetonunun değeridir.
Authorizationüstbilgisi "Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" şeklindedir (bu değeri aynen 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 erişim jetonunu aşağıdaki örnekte gösterildiği gibi Authorization: Bearer üst bilgisinde iletirsiniz:
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 örnekler, belirli bir kuruluşla ilgili ayrıntıları alan bir Edge API uç noktasını çağırır. Edge API uç noktalarının tam listesi için Apigee Edge API Referansı'na bakın.
Jetonunuzun güncel kalmasını sağlamanın yolları da dahil olmak üzere API'yi çağırmanın ek yöntemleri için Access the Edge API with OAuth2 (OAuth2 ile Edge API'ye erişme) başlıklı makaleyi inceleyin.
SAML bölgelerindeki makine kullanıcıları
SAML bölgelerindeki makine kullanıcıları için Edge API'lerine otomatik erişim oluşturmak üzere acurl ve get_token yardımcı programlarını kullanabilirsiniz.
Aşağıdaki örnekte, erişim jetonu istemek için get_token öğesinin nasıl kullanılacağı ve ardından jeton değerinin curl çağrısına nasıl ekleneceği gösterilmektedir:
USER=me@example.comPASS=not-that-secretTOKEN=$(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ğerini boş bir dize olarak ayarlamak, makine kullanıcısının MFA kodu istemesini engeller. --force-basic-auth işaretini kullanmak, SAML bölgeleri içeren istekler tarafından tetiklenen standart geçiş kodu istemini geçersiz kılar.
Alternatif olarak, curl yardımcı programını kullanarak jeton isteğini ve acurl çağrısını birleştirebilirsiniz.
Örneğin:
USER=me@example.comPASS=not-that-secretacurl -u $USER:$PASS -m '' --force-basic-auth 'https://api.enterprise.apigee.com/v1/organizations/...'