İşlem kılavuzu

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

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

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

  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. Talimat verilmeden Kaydet'i tıklamayın.
  4. Alan Değer
    Ad httpbin-product
    Görünen Ad httpbin product
    Ortam your_environment

    Bu ayarı, apigee-remote-service-cli ile Envoy için Apigee Adapter'ı hazırlaşır

    Erişim Private
    Kota 1 dakikada 5 istek

    Kotaları anlama başlıklı makaleyi de inceleyin.

  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 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.
  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. Talimat verilmeden kaydetmeyin.
  4. 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.
  5. Ardından uygulamaya iki ürün ekleyin:
    1. 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.
    2. Oluştur'u tıklayın.
    3. Kimlik bilgileri bölümünde, Anahtar'ın yanındaki Göster'i tıklayın.
    4. 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ır

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

    Kotalar, 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'yi apigee-remote-service-envoy'a gönderir. İsteğin hedefine göre yetkilendirmek için JWT'nin api_product_list ve scope 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.