Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. info
API anahtarı alma
Aşağıdaki örnekte, Envoy için Apigee bağdaştırıcısı üzerinden proxy'si yapılan bir hedef hizmete yapılan API çağrılarını doğrulamak için kullanabileceğiniz bir API anahtarının nasıl elde edileceği açıklanmaktadır.
1. Apigee'ye giriş yapın
- Apigee kullanıcı arayüzünü bir tarayıcıda açın.
- Kullanıcı arayüzüne girdikten sonra Envoy için Apigee Adapter'ı yapılandırmak üzere kullandığınız kuruluşu seçin.
2. Geliştirici Oluşturma
Test için mevcut bir geliştiriciyi kullanabilir veya aşağıdaki gibi yeni bir geliştirici oluşturabilirsiniz:
- Yan gezinme menüsünde Yayınla > Geliştiriciler'i seçin.
- + Geliştirici'yi tıklayın.
- Yeni bir geliştirici oluşturmak için iletişim kutusunu doldurun. İstediğiniz geliştirici adını/e-posta adresini kullanabilirsiniz.
3. API Ürünü Oluşturma
Aşağıda verilen ürün oluşturma örneğini uygulayın. API ürün yapılandırması hakkında başlıklı makaleyi de inceleyin.
- Yan gezinme menüsünde Yayınla > API Ürünleri'ni seçin.
- + API Ürünü'nü tıklayın.
- Ürün ayrıntıları sayfasını aşağıdaki gibi doldurun. Talimat verilmeden Kaydet'i tıklamayın.
- Apigee uzak hizmet hedefleri bölümünde Apigee uzak hizmet hedefi ekle'yi tıklayın.
- Apigee uzak hizmet hedefi iletişim kutusunda aşağıdaki değerleri ekleyin:
Özellik Değer Açıklama Hedef adı Hedef hizmetin adını girin. Örneğin: httpbin.org
Envoy proxy'sinin önündeki hedef uç nokta. Yol Belirli bir yola eşleştirmek için /resource_path
girin. Örneğin:/httpbin
.Hedef uç noktasında eşleştirilecek istek yolu. Bu yola yapılan API proxy çağrıları bu API ürünüyle eşleşir. - Kaydet'i tıklayın.
Alan | Değer |
---|---|
Ad | httpbin-product
|
Görünen Ad | httpbin product
|
Ortam | your_environment
Bu ayarı, |
Erişim | Private
|
Kota | 1 dakikada 5 istek
Kotaları anlama başlıklı makaleyi de inceleyin. |
4. Geliştirici Uygulaması Oluşturma
- Yan gezinme menüsünde Yayınla > Uygulamalar'ı seçin.
- + Uygulama'yı tıklayın.
- Geliştirici uygulaması sayfasını aşağıdaki gibi doldurun. Talimat verilmeden kaydetmeyin.
- Ardından uygulamaya iki ürün ekleyin:
- Kimlik bilgileri bölümünde + Ürün ekle'yi tıklayın ve yeni yapılandırdığınız ürünü seçin: httpbin-product.
- Oluştur'u tıklayın.
- Kimlik bilgileri bölümünde, Anahtar'ın yanındaki Göster'i tıklayın.
- Consumer Key değerini kopyalayın. Bu değer,
httpbin
hizmetine API çağrıları yapmak için kullanacağınız API anahtarıdır.
API ürünleri hakkında
API Ürünleri, Apigee Remote Service'in birincil kontrol noktasıdır. Bir API ürünü oluşturup bir hedef hizmete bağladığınızda, Apigee Adapter for Envoy'un işleyeceği şekilde yapılandırdığınız tüm isteklere uygulanacak bir politika oluşturursunuz.
API Ürün tanımı
Apigee'de bir API ürünü tanımlarken istekleri değerlendirmek için kullanılacak çeşitli parametreler ayarlayabilirsiniz:
- Hedef
- Yol iste
- Kota
- OAuth kapsamları
Uzak Hizmet Hedefleri
API Ürün tanımı, istek hem hedef bağlamıyla (örneğin,
httpbin.org
) hem de istek yoluyla (örneğin,/httpbin
) eşleşirse istek için geçerli olur. Üzerinde potansiyel hedeflerin listelendiği bir özellik, API Ürün'de saklanır.Apigee Remote Service, varsayılan olarak Envoy'un özel
:authority (host)
başlığını hedef listesine göre kontrol eder. Ancak diğer başlıkları kullanacak şekilde yapılandırılabilir.API Kaynak Yolu
Girdiğiniz yol aşağıdaki kurallara göre eşleşir:
- Tek bir eğik çizgi (
/
) tek başına herhangi bir yola eşleşir. *
her yerde geçerlidir ve bir segment içinde (eğik çizgiler arasında) eşleşir.**
sonda geçerlidir ve her şeyi satırın sonuyla eşleştirir.
Kota
Kota, bir uygulamanın bir saat, gün, hafta veya ay içinde bir API'ye göndermesine izin verilen istek mesajı sayısını belirtir. Bir uygulama kota sınırına ulaştığında, sonraki API çağrıları reddedilir.
Kota kullanım alanlarıKotalar, istemcinin belirli bir süre içinde bir hizmete gönderebileceği istek sayısını zorunlu kılmanıza olanak tanır. Kotalar genellikle operasyonel trafik yönetimi için değil, geliştirici ve iş ortaklarıyla yapılan iş sözleşmelerini veya HDS'leri uygulamak için kullanılır. Örneğin, ücretli müşterilerin tam erişmesine izin verirken ücretsiz bir hizmetin trafiğini sınırlamak için kota kullanılabilir.
Kota, API Ürününde tanımlanırKota parametreleri API ürünlerinde yapılandırılır. Örneğin, API ürünü oluşturduğunuzda dilerseniz izin verilen kota sınırını, zaman birimini ve aralığı ayarlayabilirsiniz.
API anahtarları API ürünlerine eşlendiğinden, bir API anahtarı her doğrulandığında uygun kota sayacı düşürülebilir (ilgili üründe kota tanımlanmışsa).
Apigee çalışma zamanının aksine, Ürün tanımına girilen Kotalar Apigee Remote Service tarafından otomatik olarak uygulanır. İstek yetkilendirilirse istek, izin verilen kotadan düşülür.
Kotaların korunduğu yerlerKotalar, Uzak Hizmet işlemi tarafından yerel olarak yönetilip kontrol edilir ve Apigee Çalışma Zamanı ile eşzamansız olarak yönetilir. Bu nedenle, kotayı koruyan birden fazla Uzak Hizmetiniz varsa kotalar kesinleştirilmez ve kotanın biraz aşılabileceği anlamına gelir. Apigee Runtime'a bağlantı kesilirse yerel kota, Apigee Runtime'a yeniden bağlanana kadar bağımsız bir kota olarak devam eder.
OAuth Kapsamları
JWT jetonları kullanıyorsanız jetonları izin verilen OAuth kapsamlarının alt kümeleriyle kısıtlayabilirsiniz. Dağıtılan JWT jetonunuza atanan kapsamlar, API ürününün kapsamlarıyla karşılaştırılır.
Geliştirici uygulamaları hakkında
API ürünlerinizi yapılandırdıktan sonra, bir geliştiriciyle ilişkilendirilmiş bir uygulama oluşturursunuz. Uygulama, istemcinin API anahtarı veya JWT jetonu ile ilişkili API ürünlerine erişmesine izin veriyor.
JWT tabanlı kimlik doğrulamayı kullanma
API anahtarı yerine kimliği doğrulanmış API proxy çağrıları yapmak için JWT jetonu kullanabilirsiniz. Bu bölümde JWT jetonları oluşturmak, incelemek ve döndürmek için
apigee-remote-service-cli token
komutunun nasıl kullanılacağı açıklanmaktadır.Genel Bakış
JWT doğrulama ve kimlik doğrulama işlemleri, Envoy'un JWT Kimlik Doğrulama Filtresi kullanılarak Envoy tarafından yönetilir.
Kimlik doğrulaması yapıldıktan sonra Envoy
ext-authz
filtresi, istek başlıklarını ve JWT'yiapigee-remote-service-envoy
'a gönderir. İsteğin hedefine göre yetkilendirmek için JWT'ninapi_product_list
vescope
iddialarını Apigee API Ürünleriyle eşleştirir.Apigee JWT jetonları oluşturma
Apigee JWT jetonları, İTŞ kullanılarak oluşturulabilir:
apigee-remote-service-cli token create -c config.yaml --id $KEY --secret $SECRET
Alternatif olarak, standart OAuth jetonu uç noktasını kullanabilirsiniz. Curl örneği:
curl https://org-env.apigee.net/remote-service/token -d '{"client_id":"myclientid","client_secret":"myclientsecret","grant_type":"client_credentials"}' -H "Content-type: application/json"
JWT jetonunu kullanma
Jetonu aldıktan sonra, Yetkilendirme başlığında Envoy'a iletmeniz yeterlidir. Örnek:
curl localhost:8080/httpbin/headers -i -H "Authorization:Bearer $TOKEN"
JWT jetonu hatası
Envoy'un reddetmesi
Envoy jetonu reddederse şuna benzer bir mesaj görebilirsiniz:
Jwks remote fetch is failed
Bu durumda, Envoy yapılandırmanızda
remote_jwks
bölümünde geçerli bir URI bulunduğundan, Envoy'un bu URI'ye erişebildiğinden ve Apigee proxy'sini kurarken sertifikalarınızı doğru şekilde ayarladığınızdan emin olun. URI'yi doğrudan bir GET çağrısıyla çağırıp geçerli bir JSON yanıtı alabilirsiniz.Örnek:
curl https://myorg-eval-test.apigee.net/remote-service/certs
Envoy'dan gelen diğer mesajlar şu şekilde görünebilir:
- "Jwt'de kitlelere izin verilmiyor"
- "Jwt issuer is not configured"
Bunlar, Envoy yapılandırmanızdaki ve değiştirmeniz gerekebilecek koşullardır.
Jetonları inceleme
Jetonunuzu incelemek için KSA'yı kullanabilirsiniz. Örnek
apigee-remote-service-cli -c config.yaml token inspect -f path/to/file
veya
apigee-remote-service-cli -c config.yaml token inspect <<< $TOKEN
Hata ayıklama
Geçerli API anahtarı hataları başlıklı makaleyi inceleyin.Günlük Kaydı
$REMOTE_SERVICE_HOME/apigee-remote-service-envoy hizmetinde günlük kaydı düzeyini ayarlayabilirsiniz. Tüm günlük kaydı stderr'e gönderilir.
Öğe Zorunlu Açıklama -l, --log-level Geçerli düzeyler: hata ayıklama, bilgi, uyar, hata. Günlük kaydı düzeyini ayarlar. Varsayılan: bilgi -j, --json-log Günlük çıkışını JSON kayıtları olarak yayınlar. Günlük kaydı Envoy tarafından sağlanır. Daha fazla bilgi için aşağıdaki Envoy doküman bağlantılarına bakın:
Ağ proxy'si kullanma
apigee-remote-service-envoy ikilisinin ortamında HTTP_PROXY ve HTTPS_PROXY ortam değişkenleri kullanılarak bir HTTP proxy eklenebilir. Bu seçenekler kullanılırken NO_PROXY ortam değişkeni, belirli ana makinelerin proxy üzerinden gönderilmesini hariç tutmak için de kullanılabilir.
HTTP_PROXY=http://[user]:[pass]@[proxy_ip]:[proxy_port] HTTPS_PROXY=http://[user]:[pass]@[proxy_ip]:[proxy_port] NO_PROXY=127.0.0.1,localhost
Proxy'nin apigee-remote-service-envoy'den erişilebilir olması gerektiğini unutmayın.
Metrikler ve analizler hakkında
Prometheus metrik uç noktası
:5001/metrics
adresinde kullanılabilir. Bu bağlantı noktası numarasını yapılandırabilirsiniz. Yapılandırma dosyası bölümüne bakın.Envoy analizleri
Aşağıdaki bağlantılarda, Envoy proxy analiz verilerini elde etme hakkında bilgi verilmektedir:
Istio analizleri
Aşağıdaki bağlantılarda, Envoy proxy analiz verilerini elde etme hakkında bilgi verilmektedir:
Apigee Analytics
Envoy için Apigee Remote Service, analizlerin işlenmesi için istek istatistiklerini Apigee'ye gönderir. Apigee, bu istekleri ilişkili API Ürün adı altında raporlar.
Apigee analizleri hakkında bilgi edinmek için Analytics hizmetlerine genel bakış başlıklı makaleyi inceleyin.
Ad | httpbin-app
|
Görünen Ad | httpbin app
|
Developer | Daha önce oluşturduğunuz geliştiriciyi seçin veya listeden istediğiniz geliştiriciyi seçin. |