Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
API anahtarı edinme
Aşağıdaki örnekte, Apigee Adapter for Envoy üzerinden proxy'si oluşturulan bir hedef hizmete yapılan API çağrılarını doğrulamak için kullanabileceğiniz bir API anahtarının nasıl alınacağı açıklanmaktadır.
1. Apigee'ye giriş yapma
- Apigee kullanıcı arayüzünü bir tarayıcıda açın.
- Kullanıcı arayüzüne girdikten sonra, Apigee Adapter for Envoy'u yapılandırmak için kullandığınız kuruluşla aynı kuruluşu seçin.
2. Geliştirici Oluşturma
Test için mevcut bir geliştiriciyi kullanabilir veya aşağıdaki şekilde 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. Ayrıca 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 şekilde doldurun. Talimat verilene kadar 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.orgEnvoy proxy'si tarafından kullanılan hedef uç nokta. API proxy'si remote-serviceEnvoy bağdaştırıcısı kurulumu sırasında Apigee'de sağlanan remote-serviceproxy'si.Yol Belirli bir yolla eşleşmesi için /resource_pathgirin. Örneğin:/httpbin.Hedef uç noktada eşleştirilecek istek yolu. Bu yola yapılan API proxy çağrıları bu API ürünüyle eşleşir. Edge Public veya Private Cloud: Aşağıdaki ekran görüntüsünde,
httpbin.orghedefi için uygun şekilde yapılandırılmış iletişim kutusu ayarları gösterilmektedir. Bu ayarlar, Apigee Edge Public veya Private Cloud için uygun bir yapılandırmadır.
- Kaydet'i tıklayın.
| Alan | Değer |
|---|---|
| Ad | httpbin-product
|
| Görünen ad | httpbin product
|
| Ortam | your_environment
Bunu, Apigee Adapter for Envoy'u |
| 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. Kaydetme işlemi için talimat verilene kadar kaydetmeyin.
- Ardından, uygulamaya iki ürün ekleyin:
- Öncelikle Kimlik Bilgileri bölümünde + Ürün ekle'yi tıklayın ve yeni yapılandırdığınız ürünü (httpbin-product) seçin.
- Ardından, remote-service ürününü ekleyin. Bu ürün, Apigee'yi sağladığınızda otomatik olarak oluşturulur.
- Oluştur'u tıklayın.
- Kimlik bilgileri bölümünde, Anahtar'ın yanındaki Göster'i tıklayın.
- Tüketici Anahtarı'nın değerini kopyalayın. Bu değer,
httpbinhizmetine API çağrıları yapmak için kullanacağınız API anahtarıdır.
| 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 belirleyin. |
API ürünleri hakkında
API Ürünleri, Apigee Uzak Hizmeti'nin birincil kontrol noktasıdır. Bir API ürünü oluşturup hedef hizmete bağladığınızda, Apigee Adapter for Envoy'i işleyecek ş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ımladığınızda, istekleri değerlendirmek için kullanılacak bir dizi parametre ayarlayabilirsiniz:
- Hedef
- Yol iste
- Kota
- OAuth kapsamları
Uzaktan Hizmet Hedefleri
İstek hem hedef bağlamayla (örneğin, httpbin.org) hem de istek yoluyla (örneğin, /httpbin) eşleşiyorsa API ürünü tanımı istek için geçerli olur.
Olası hedeflerin listesi, API ürününde özellik olarak saklanır.
Apigee Remote Service, varsayılan olarak Envoy'un özel :authority (host) üstbilgisini hedef listesine göre kontrol eder ancak diğer üstbilgileri kullanacak şekilde yapılandırılabilir.
API Kaynak Yolu
Girilen yol, aşağıdaki kurallara göre eşleşir:
- Tek bir eğik çizgi (
/) kendi başına tüm yollarla eşleşir. *, her yerde geçerlidir ve bir segment içinde (eğik çizgiler arasında) eşleşir.**, satırın sonunda geçerlidir ve satırın sonuna kadar her şeyle eşleşir.
Kota
Kota, bir uygulamanın bir saat, gün, hafta veya ay içinde bir API'ye göndermesine izin verilen istek mesajlarının 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, bir istemcinin belirli bir süre içinde bir hizmete yapabileceği istek sayısını zorunlu kılmanıza olanak tanır. Kotalar genellikle operasyonel trafik yönetimi için değil, geliştiriciler ve iş ortaklarıyla yapılan iş sözleşmelerini veya hizmet düzeyi sözleşmelerini uygulamak için kullanılır. Örneğin, ücretsiz bir hizmetin trafiğini sınırlamak için kota kullanılabilirken ücretli müşterilere tam erişim izni verilebilir.
Kota, bir API ürününde tanımlanırKota parametreleri API ürünlerinde yapılandırılır. Örneğin, bir API ürünü oluşturduğunuzda izin verilen kota sınırını, zaman birimini ve aralığını isteğe bağlı olarak ayarlayabilirsiniz.
API anahtarları API ürünleriyle eşlendiğinden, bir API anahtarı her doğrulandığında uygun kota sayacı azaltılabilir (ilişkili üründe bir kota tanımlanmışsa).
Apigee çalışma zamanının aksine, ürün tanımına girilen kotalar Apigee Uzak Hizmeti tarafından otomatik olarak uygulanır. İstek yetkilendirilirse izin verilen kotaya göre sayılır.
Kotaların korunduğu yerlerKotalar, Uzak Hizmet süreci tarafından yerel olarak korunur ve kontrol edilir. Ayrıca, Apigee çalışma zamanı ile eşzamansız olarak korunur. Bu nedenle, kotayı koruyan birden fazla Uzak Hizmetiniz varsa kotalar kesin değildir ve bir miktar aşım olabilir. Apigee Runtime ile 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. Verilen JWT jetonunuza atanan kapsamlar, API ürününün kapsamlarına göre kontrol edilir.
Geliştirici uygulamaları hakkında
API ürünlerinizi yapılandırdıktan sonra bir geliştiriciyle ilişkili bir uygulama oluşturursunuz. Uygulama, istemcinin bir API anahtarı veya JWT jetonu ile ilişkili API ürünlerine erişmesine izin veriyor.
JWT tabanlı kimlik doğrulama kullanma
Kimliği doğrulanmış API proxy'si çağrıları yapmak için API anahtarı yerine 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, Envoy'un JWT Kimlik Doğrulama Filtresi kullanılarak gerçekleştirilir.
Doğrulama yapıldıktan sonra Envoy ext-authz filtresi, istek başlıklarını ve JWT'yi apigee-remote-service-envoy'ye gönderir. İsteğin hedefiyle yetkilendirmek için JWT'nin api_product_list ve scope taleplerini Apigee API ürünleriyle eşleştirir.
Apigee JWT jetonları oluşturma
Apigee JWT jetonları KSA kullanılarak oluşturulabilir:
apigee-remote-service-cli token create -c config.yaml --id $KEY --secret $SECRET
Veya standart OAuth jeton uç noktasını kullanarak. 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 reddi
Envoy jetonu reddederse şuna benzer bir mesaj görebilirsiniz:
Jwks remote fetch is failed
Bu durumda, Envoy yapılandırmanızın remote_jwks bölümünde geçerli bir URI içerdiğinden, Envoy'un bu URI'ye ulaşabildiğinden ve Apigee proxy'sini yüklerken sertifikaları doğru şekilde ayarladığınızdan emin olun. URI'yi doğrudan bir GET çağrısıyla çağırabilmeli ve geçerli bir JSON yanıtı alabilmelisiniz.
Örnek:
curl https://myorg-eval-test.apigee.net/remote-service/certs
Envoy'dan gelen diğer mesajlar şu şekilde görünebilir:
- "Jwt'deki kitlelere izin verilmiyor"
- "Jwt issuer is not configured" (JWT veren yapılandırılmamış)
Bunlar, Envoy yapılandırmanızda değiştirmeniz gerekebilecek koşullardan kaynaklanır.
Jeton 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ı başarısız oluyor 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ükler stderr'ye gönderilir.
| Öğe | Zorunlu | Açıklama |
|---|---|---|
| -l, --log-level | Geçerli düzeyler: debug, info, warn, error. | Günlük kaydı düzeyini ayarlar. Varsayılan: info |
| -j, --json-log | Günlük çıkışını JSON kayıtları olarak verir. |
Envoy, günlük kaydı sağlar. Daha fazla bilgi için aşağıdaki Envoy doküman bağlantılarına bakın:
Ağ proxy'si kullanma
HTTP proxy, apigee-remote-service-envoy ikilisinin ortamında HTTP_PROXY ve HTTPS_PROXY ortam değişkenleri kullanılarak eklenebilir. Bunları kullanırken belirli ana makinelerin proxy üzerinden gönderilmesini hariç tutmak için NO_PROXY ortam değişkeni 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'dan erişilebilir olması gerektiğini unutmayın.
Metrikler ve analizler hakkında
:5001/metrics adresinde bir Prometheus metrikleri uç noktası mevcuttur. Bu bağlantı noktası numarasını yapılandırabilirsiniz. Yapılandırma dosyası başlıklı makaleyi inceleyin.
Envoy analizleri
Aşağıdaki bağlantılarda Envoy proxy analiz verilerini edinme hakkında bilgi verilmektedir:
Istio analizi
Aşağıdaki bağlantılarda Envoy proxy analiz verilerini edinme hakkında bilgi verilmektedir:
Apigee Analytics
Envoy için Apigee Uzak Hizmeti, analiz işleme için istek istatistiklerini Apigee'ye gönderir. Apigee, bu istekleri ilişkili API ürünü adı altında bildirir.
Apigee Analytics hakkında bilgi edinmek için Analytics hizmetlerine genel bakış başlıklı makaleyi inceleyin.