Temel kimlik doğrulama, Edge Management API'ye çağrı yaparken kimlik doğrulamanın bir yoludur.
Örneğin, kuruluşunuzla ilgili bilgilere erişmek için Edge Management API'ye aşağıdaki curl isteğini gönderebilirsiniz:
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, aşağıdaki örnekte gösterildiği gibi Edge yönetim API'si çağrıları yapmak için Bearer başlığında bir OAuth2 jetonu iletebilirsiniz:
curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Kimlik doğrulama için harici bir IdP'yi etkinleştirdikten sonra, isterseniz temel kimlik doğrulamayı devre dışı bırakabilirsiniz. Temel kimlik doğrulamasını devre dışı bırakırsanız temel kimlik doğrulamasını destekleyen Edge Management API çağrılarını kullanan tüm komut dosyaları (ör. Maven, kabuk ve apigeetool) artık çalışmaz. Temel kimlik doğrulama kullanan tüm API çağrılarını ve komut dosyalarını, Bearer üstbilgisinde OAuth2 erişim jetonlarını iletecek şekilde güncellemeniz gerekir.
get_token ile jeton alma ve yenileme jetonu alma
get_token yardımcı programı, temel kimlik doğrulama bilgilerinizi (ve bazı durumlarda bir şifre kodunu) OAuth2 erişim ve yenileme jetonuyla değiştirir. get_token yardımcı programı, kimlik bilgilerinizi kabul eder ve geçerli bir erişim jetonu döndürür. Bir jeton yenilenebiliyorsa 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ı diskte saklar ve gerektiğinde kullanıma hazır hale getirir. Ayrıca stdout için geçerli bir erişim jetonu da yazdırır. Buradan, Postman gibi bir tarayıcı uzantısı kullanabilir veya curl içinde kullanmak üzere bir ortam değişkenine yerleştirebilirsiniz.
Edge Management API çağrıları yapmak için OAuth2 erişim jetonu almak istiyorsanız:
sso-clipaketini 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 TOA modülünü barındıran makinenin IP adresi veya DNS adıdır. Apigee TOA'da TLS'yi yapılandırdıysanız
httpsve doğru TLS bağlantı noktası numarasını kullanın.- Aşağıdaki örnekte gösterildiği gibi
ssocli-bundle.zippaketini açın:unzip ssocli-bundle.zip
- Aşağıdaki örnekte gösterildiği gibi
get_token'i/usr/local/biniçine yükleyin:./install -b PATH
-bseçeneği farklı bir konum belirtir. SSO_LOGIN_URLortam değişkenini, aşağıdaki biçimde giriş URL'nize ayarlayın:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Burada EDGE_SSO_IP_DNS, Apigee TOA modülünü barındıran makinenin IP adresidir. Apigee TOA'da TLS'yi yapılandırdıysanız
httpsve doğru TLS bağlantı noktası numarasını kullanın.- (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
httpsve doğru TLS bağlantı noktası numarasını kullanın.Bu istek, yeni bir şifre kodu almak için ilgili 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.Şifre kodunu yalnızca SAML IdP ile kimlik doğrulaması yaparken kullanabileceğinizi unutmayın. LDAP IdP ile kimlik doğrulaması yapmak için şifre kodu kullanamazsınız.
- Aşağıdaki örnekte gösterildiği gibi, OAuth2 erişim jetonunu almak için
get_tokenyöntemini çağırın:get_token -u EMAIL_ADDRESS
EMAIL_ADDRESS, bir Edge kullanıcısının e-posta adresidir.
(Yalnızca SAML) Aşağıdaki örnekte gösterildiği gibi, komut satırına e-posta adresinin yanı sıra şifre kodunu da girin:
get_token -u EMAIL_ADDRESS -p PASSCODE
get_tokenyardımcı programı, OAuth2 erişim jetonunu alır, ekrana yazdırır ve yenileme jetonuyla birlikte~/.sso-clidosyasına yazar. - Erişim jetonunu, aşağıdaki örnekte gösterildiği gibi
Bearerbaşlığı olarak bir Edge yönetim API'si çağrısına iletin:curl -H "Authorization: Bearer ACCESS_TOKEN" https://MS_IP:8080/v1/organizations/ORG_NAME
- İlk kez yeni bir erişim jetonu aldıktan sonra, aşağıdaki örnekte gösterildiği gibi erişim jetonunu alıp tek bir komutla API çağrısına iletebilirsiniz:
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 dolmuşsa yenileme jetonunun süresi dolana kadar otomatik olarak yenilenir.
(Yalnızca SAML) Yenileme jetonunun süresi dolduktan sonra get_token sizden yeni bir şifre kodu ister. Yeni bir OAuth erişim jetonu oluşturabilmek için önce 3. adımda gösterilen URL'ye gidip yeni bir şifre kodu oluşturmanız gerekir.
Jetonları almak ve yenilemek için Management API'yi kullanma
Apigee Edge Management API ile OAuth2 güvenliğini kullanma başlıklı makalede, jetonları almak ve yenileme jetonlarını kullanmak için Edge Management API'nin nasıl kullanılacağı gösterilmektedir. SAML onaylarından oluşturulan jetonları almak için Edge API çağrılarını da kullanabilirsiniz.
Apigee Edge Management API ile OAuth2 güvenliğini kullanma bölümünde açıklanan API çağrıları arasındaki tek fark, çağrının URL'sinin bölge adınıza referans vermesi gerektiğidir. Ayrıca, SAML IdP ile ilk erişim jetonunu oluşturmak için yukarıdaki prosedürün 3. adımında gösterildiği gibi şifre kodunu eklemeniz gerekir.
Yetkilendirme için Authorization başlığında ayrılmış bir OAuth2 istemci kimlik bilgisi iletin. Çağrı, erişim ve yenileme jetonlarını ekrana yazdırır.
Erişim jetonu alma
(LDAP) İ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 \ 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 için gerekmediğ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'