İşlem kılavuzu

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

  1. Bir tarayıcıda Apigee kullanıcı arayüzünü açın.
  2. 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:

  1. Yan gezinme menüsünde Yayınla > Geliştiriciler'i seçin.
  2. + Geliştirici'yi tıklayın.
  3. 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.

  1. Yan gezinme menüsünde Yayınla > API Ürünleri'ni seçin.
  2. + API Ürünü'nü tıklayın.
  3. Ürün ayrıntıları sayfasını aşağıdaki gibi doldurun. Yapmanız istenene kadar Kaydet'i tıklamayın.
  4. Alan Değer
    Ad httpbin-product
    Görünen Ad httpbin product
    Ortam your_environment

    Bunu, apigee-remote-service-cli ile Apigee Adapter for Envoy'u sağlarken kullandığınız ortama ayarlayın.

    Erişim Private
    Kota Her 1 dakikada 5 istek

    Ayrıca Kotaları anlama bölümüne bakın.

  5. Apigee uzak hizmet hedefleri bölümünde Apigee uzak hizmet hedefi ekle'yi tıklayın.
  6. 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.

  7. Kaydet'i tıklayın.

4. Geliştirici Uygulaması Oluşturma

  1. Yan gezinme menüsünde Yayınla > Uygulamalar'ı seçin.
  2. + Uygulama'yı tıklayın.
  3. Geliştirici Uygulaması sayfasını aşağıdaki gibi doldurun. Yapmanız istenene kadar Kaydetmeyin.
  4. 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.
  5. Sonra, uygulamaya iki ürün ekleyin:
    1. Ö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.
    2. Ardından, uzaktan hizmet ürününü ekleyin. Bu ürün, Apigee'yi sağladığınızda otomatik olarak oluşturulmuştur.
  6. Oluştur'u tıklayın.
  7. Kimlik bilgileri bölümünde, Anahtar'ın yanındaki Göster seçeneğini tıklayın.
  8. 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.

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ır

Kota 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 yerler

Kotalar, 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.