Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
API anahtarı alma
Aşağıdaki örnekte, Apigee Adapter for Envoy aracılığıyla proxy kullanan bir hedef hizmete yapılan API çağrılarını doğrulamak için kullanabileceğiniz bir API anahtarının nasıl edinileceği açıklanmaktadır.
1. Apigee'ye giriş yapın
- Bir tarayıcıda Apigee kullanıcı arayüzünü açın.
- Kullanıcı arayüzüne girdikten sonra, Envoy için Apigee Adapter'ı yapılandırmak için kullandığınız 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 herhangi bir 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 bölümüne de göz atın.
- 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. Yapmanız istenene 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 kutusuna aşağıdaki değerleri ekleyin:
Özellik Değer Açıklama Target name (Hedef adı) Hedef hizmetin adını girin. Örneğin: httpbin.org
Envoy proxy'nin önündeki hedef uç nokta. API proxy'si remote-service
Envoy Adapter kurulumu sırasında Apigee'de sağlanan remote-service
proxy'si.Yol Belirli bir yolu eşleştirmek için bir /resource_path
girin. Örneğin:/httpbin
.Hedef uç noktasında eşleşecek 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.org
hedefi için doğru yapılandırılmış iletişim kutusu ayarları ve Apigee Edge Public veya Private Cloud için uygun bir yapılandırma gösterilmiştir. - Kaydet'i tıklayın.
Alan | Değer |
---|---|
Ad | httpbin-product
|
Görünen Ad | httpbin product
|
Ortam | your_environment
Bunu, |
Erişim | Private
|
Kota | Her 1 dakikada 5 istek
Ayrıca Kotaları anlama bölümüne bakın. |
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. Yapmanız istenene kadar Kaydetmeyin.
- Sonra, uygulamaya iki ürün ekleyin:
- Önce, Kimlik bilgileri bölümünde + Ürün ekle'yi tıklayın ve az önce yapılandırdığınız ürünü seçin: httpbin-product.
- Ardından, uzaktan hizmet ürününü ekleyin. Bu ürün, Apigee'yi sağladığınızda otomatik olarak oluşturulmuştur.
- Oluştur'u tıklayın.
- Kimlik bilgileri bölümünde, Anahtar'ın yanındaki Göster seçeneğini tıklayın.
- Tüketici Anahtarı'nın değerini kopyalayın. Bu değer,
httpbin
hizmetine 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 veya listeden istediğiniz geliştiriciyi seçin. |
API ürünleri hakkında
API Ürünleri, Apigee Remote Service'in birincil denetim noktasıdır. API Ürünü oluşturup bunu bir hedef hizmete bağladığınızda, Apigee Adapter for Envoy'u işlemesi için yapılandırdığınız tüm isteklere uygulanacak bir politika oluşturmuş olursunuz.
API Ürün tanımı
Apigee'de API Ürünü tanımlarken, istekleri değerlendirmek için kullanılacak çeşitli parametreleri belirleyebilirsiniz:
- Hedef
- Yol iste
- Kota
- OAuth kapsamları
Uzak Hizmet Hedefleri
Bir istek 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. Potansiyel hedeflerin listesi, API Ürününde özellik olarak depolanır.
Apigee Remote Service, Envoy'un özel :authority (host)
üst bilgisini hedef listesiyle karşılaştırarak varsayılan olarak kontrol eder ancak başka üst bilgileri kullanacak şekilde yapılandırılabilir.
API Kaynak Yolu
Girilen Yol, aşağıdaki kurallara göre eşleşiyor:
- Tek bir eğik çizgi (
/
) tek başına herhangi bir yolla eşleşir. *
her yerde geçerlidir ve bir segment içinde (eğik çizgi arasında) eşleşir.**
sonda geçerlidir ve satırın sonundaki her şeyle eşleşir.
Kota
Kota, bir uygulamanın saat, gün, hafta veya ay boyunca 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, bir 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 yerine geliştiriciler ve iş ortaklarıyla iş sözleşmeleri veya HDS'ler uygulamak için kullanılır. Örneğin kota, ödeme yapan müşterilere tam erişime izin verirken ücretsiz bir hizmet için trafiği sınırlamak amacıyla kullanılabilir.
Kota bir API ürününde tanımlıdırKota parametreleri, API Ürünlerinde yapılandırılır. Örneğin, bir API Ürünü oluşturduğunuzda isteğe bağlı olarak izin verilen kota sınırını, zaman birimini ve aralığı ayarlayabilirsiniz.
API anahtarları API Ürünleri ile eşleştirilir. Bu nedenle, bir API anahtarı her doğrulandığında ilgili kota sayacı azaltılabilir (ilişkili Ürün'de bir Kota tanımlanmışsa).
Apigee çalışma zamanından farklı olarak, Ürün tanımına girilen Kotalar Apigee Remote Service tarafından otomatik olarak uygulanır. Yetkilendirilmişse istek, izin verilen kotaya dahil edilir.
Kotaların korunduğu yerlerKotalar, Remote Hizmet işlemiyle yerel olarak ve Apigee Çalışma Zamanı ile eşzamansız olarak korunur ve kontrol edilir. Yani kotalar kesin değildir ve kotayı koruyan birden fazla Remote Service'iniz varsa bu kotalar bir miktar aşılabilir. Apigee Çalışma Zamanı ile bağlantı kesilirse yerel kota, Apigee Çalışma Zamanı'na yeniden bağlanabilene kadar bağımsız kota olarak devam eder.
OAuth Kapsamları
JWT jetonları kullanıyorsanız jetonları izin verilen OAuth kapsamlarının alt kümeleriyle kısıtlayabilirsiniz. Yayınladığınız JWT jetonuna atanan kapsamlar, API ürününün kapsamlarına göre kontrol edilecektir.
Geliştirici uygulamaları hakkında
API Ürünlerinizi yapılandırdıktan sonra, bir Geliştirici ile ilişkilendirilmiş bir Uygulama oluşturacaksınız. Uygulama, istemcinin API Anahtarı veya JWT Jetonu ile ilişkili API Ürünlerine erişmesine olanak tanır.
JWT tabanlı kimlik doğrulamayı kullanma
Kimliği doğrulanmış API proxy çağrıları yapmak için API anahtarı kullanmak 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ğrulaması ve kimlik doğrulaması, Envoy tarafından JWT Kimlik Doğrulama Filtresi kullanılarak gerçekleştirilir.
Kimlik doğrulaması yapıldıktan sonra Envoy ext-authz
filtresi, istek üst bilgilerini ve JWT'yi apigee-remote-service-envoy
adresine gönderir. JWT'nin Apigee API Ürünleri'ne yönelik api_product_list
ve scope
hak talepleriyle eşleşir.
Apigee JWT jetonları oluşturma
Apigee JWT Jetonları CLI 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ı da 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
Aldığınız jetonu 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 aşağıdaki gibi bir mesaj görebilirsiniz:
Jwks remote fetch is failed
Öyleyse Envoy yapılandırmanızın remote_jwks
bölümünde geçerli bir URI içerdiğinden, Envoy'un URL'ye eriştiğinden ve Apigee proxy'sini yüklerken sertifikaları düzgün bir şekilde ayarladığınızdan emin olun. URI'yı doğrudan bir GET çağrısıyla çağırabilir ve geçerli bir JSON yanıtı alabilirsiniz.
Örnek:
curl https://myorg-eval-test.apigee.net/remote-service/certs
Envoy'dan gelen diğer mesajlar aşağıdaki gibi görünebilir:
- "Jwt'deki kitlelere izin verilmez"
- "Jwt veren kuruluş yapılandırılmamış"
Bunlar, Envoy yapılandırmanızda değiştirmeniz gerekebilecek gereksinimlerdir.
Jetonu inceleme
Jetonunuzu incelemek için CLI'ı 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 olur bölümüne bakın.Günlük Kaydı
Günlük düzeyini $REMOTE_SERVICE_HOME/Apigee-remote-service-envoy hizmetinde ayarlayabilirsiniz. Tüm günlük kayıtları stderr'e gönderilir.
Öğe | Gerekli | Açıklama |
---|---|---|
-l, --log-level | Geçerli seviyeler: hata ayıklama, bilgi, uyarı, hata. | Günlük kaydı düzeyini ayarlar. Varsayılan: bilgi |
-j, --json-log | JSON kaydı olarak günlük çıkışını kullanır. |
Envoy, günlük kaydı hizmeti sunar. Daha fazla bilgi için aşağıdaki Envoy dokümanlarının bağlantılarına bakın:
Ağ proxy'si kullanma
Apigee-remote-service-envoy ikili ortamındaki HTTP_PROXY ve HTTPS_PROXY ortam değişkenleri kullanılarak HTTP proxy eklenebilir. Bunları kullanırken, belirli ana makinelerin proxy üzerinden gönderilmesini engellemek 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 adresinden erişilebilir olması gerektiğini unutmayın.
Metrikler ve analizler hakkında
:5001/metrics
adresinde Prometheus metrikleri uç noktası mevcut. Bu bağlantı noktası numarasını yapılandırabilirsiniz. Yapılandırma dosyası bölümüne bakın.
Envoy analizi
Aşağıdaki bağlantılar Envoy proxy analiz verilerinin alınması hakkında bilgi sağlar:
ISRC analizleri
Aşağıdaki bağlantılar Envoy proxy analiz verilerinin alınması hakkında bilgi sağlar:
Apigee analizi
Apigee Remote Service for Envoy, analiz işlemi için istek istatistiklerini Apigee'ye gönderir. Apigee, bu istekleri ilişkili API ürün adı altında raporlar.
Apigee Analytics hakkında bilgi edinmek için Analytics hizmetlerine genel bakış sayfasını inceleyin.