İşlem kılavuzu

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

API anahtarı nasıl alınır?

Aşağıdaki örnekte, doğrulama işlemi için kullanabileceğiniz bir API anahtarını nasıl edineceğiniz açıklanmaktadır. Apigee Adapter for Envoy üzerinden proxy aracılığıyla bir hedef hizmete API çağrıları.

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ırırken 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. Yayınla > Geliştiriciler'i tıklayın.
  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. Şu kaynakları da inceleyin API ürün yapılandırması.

  1. Yayınla > API Ürünleri'ni tıklayın.
  2. + API Ürünü'nü tıklayın.
  3. Ürün ayrıntıları sayfasını aşağıdaki gibi doldurun. Talimat verene 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.

    Erişim Private
    Kota Her 1 dakikada 5 istek

    Ayrıca Kotaları anlama bölümünü de inceleyin.

  5. Apigee uzaktan hizmet hedefleri bölümünde Apigee uzaktan 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 hizmet. Örneğin: httpbin.org Envoy proxy'sinin ö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 yolla eşleştirmek için bir /resource_path girin. Örneğin, örnek: /httpbin. Hedef uç noktasında eşleştirilecek istek yolu. Bu yola API proxy çağrıları bu API ürünüyle eşleşecek.

    Uç Herkese Açık veya Private Cloud: Aşağıdaki ekran görüntüsünde, httpbin.org hedefi, Apigee Edge Herkese Açık veya Private Cloud için uygun bir yapılandırmadır.

  7. Kaydet'i tıklayın.

4. Geliştirici Uygulaması Oluşturma

  1. Yayınla > Uygulamalar'ı tıklayın.
  2. + Uygulama'yı tıklayın.
  3. Geliştirici Uygulaması sayfasını aşağıdaki gibi doldurun. Talimat verene kadar Kaydetme.
  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. İlk olarak, Kimlik Bilgileri bölümünde + Ürün ekle'yi tıklayın ve istediğiniz ürünü seçin. httpbin-product gibi bir yapılandırma kullanabilirsiniz.
    2. Ardından, remote-service ürününü ekleyin. Bu ürün oluşturuldu otomatik olarak güncellenir.
  6. Oluştur'u tıklayın.
  7. Kimlik Bilgileri'nin altında, 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 API anahtarıdır httpbin hizmetine API çağrıları yapmak için kullanacağınız reklam öğesi listesini temsil eder.

API ürünleri hakkında

API Ürünleri, birincil denetim noktasıdır bir e-posta yazacaksınız. Bir API Ürünü oluşturup bunu bir bir politika oluşturuyorsunuz. Apigee Adapter for Envoy'u yapılandırdığınız isteklere uygulanır. pek çok yolu vardır.

API Ürün tanımı

Apigee'de bir API Ürünü tanımlarken, her şeyin istekleri değerlendirmek için kullanılır:

  • Hedef
  • Yol iste
  • Kota
  • OAuth kapsamları

Uzak Hizmet Hedefleri

İstek hem hedefle hem de bağlama (örneğin, httpbin.org) ve istek yolunu (örneğin, /httpbin) ekleyin. Potansiyel hedeflerin listesi, API Ürünü.

Apigee Uzaktan Hizmeti, Envoy'un özel :authority (host) başlığını varsayılan olarak hedef listesini içerir ancak diğer başlıkları 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 (/) herhangi bir yolla eşleşir.
  • * her yerde geçerlidir ve bir segment içerisinde (eğik çizgilerin arasında) eşleşir.
  • ** sonda geçerlidir ve her şeyi satırın sonuyla eşleştirir.

Kota

Kota, bir uygulamanın bir Bir saat, bir gün, bir hafta veya bir ay boyunca API. 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ürede bir hizmete yapabileceği istek sayısını süre tahminidir. Kotalar genellikle geliştiriciler ve iş ortakları için ödeme yapmanızı sağlar. Örneğin, kota, ücretsiz bir hizmet için trafiği sınırlandırmak ve tam erişime izin vermek amacıyla kullanılabilir. ödeme yapan müşteriler için geçerlidir.

Bir API ürününde kota tanımlı

Kota parametreleri, API Ürünlerinde yapılandırılır. Örneğin, Google Analytics 4'te Ürün için isteğe bağlı olarak izin verilen kota sınırını, zaman birimini ve aralığı ayarlayabilirsiniz.

API anahtarları API Ürünleri ile tekrar eşlendiğinden, bir API anahtarı her doğrulandığında uygun kota sayacı azaltılabilir (ilişkilendirilmiş Üründe bir 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 zorunlu kılındı. İstek yetkilendirilmişse istek, izin verilen kotaya dahil edilir.

Kotaların korunduğu yerler

Kotalar, Uzak Hizmet süreci tarafından yerel olarak ve eşzamansız olarak yönetilip kontrol edilir. Apigee Çalışma Zamanı ile korunuyor. Bu, kotaların kesinleştirilmediği ve büyük olasılıkla kotayı koruyan birden fazla Uzak Hizmet'iniz varsa bir miktar aşınır. Öğe Apigee Çalışma Zamanı ile bağlantı kesildiyse yerel kota bağımsız olarak devam edecek kota kalana kadar kullanılabilir.

OAuth Kapsamları

JWT jetonları kullanıyorsanız jetonları izin verilen OAuth kapsamlarının alt kümeleriyle kısıtlayabilirsiniz. Yayınlanmış 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, Geliştirici ile ilişkilendirilmiş bir Uygulama oluşturursunuz. Uygulama istemcinin bir API Anahtarı veya JWT Jetonu ile ilişkilendirilmiş API Ürünleri'ne erişmesine izin verir.

JWT tabanlı kimlik doğrulama kullanma

Kimliği doğrulanmış API proxy çağrıları yapmak için API anahtarı kullanmak yerine JWT jetonu kullanabilirsiniz. Bu bölümünde, komut dosyası oluşturmak için apigee-remote-service-cli token komutunun JWT jetonlarını oluşturma, inceleme ve döndürme.

Genel Bakış

JWT doğrulaması ve kimlik doğrulaması, Envoy tarafından JWT Kimlik Doğrulama Filtresi bölümüne bakın.

Kimlik doğrulamasından sonra Envoy ext-authz filtresi, istek başlıklarını ve JWT'yi apigee-remote-service-envoy. JWT'nin api_product_list ve scope talepleriyle eşleşiyor Apigee API Ürünleri'ne karşı yetki vermeyi kabul etmiş olursunuz.

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ı 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ığından 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ünün envoy tarafından erişilebilir olduğunu ve Apigee proxy'sini yüklediğinizde sertifikaları ayarlamanız gerekir. Şunları yapabilmeniz gerekir: kullanarak 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 şu şekilde görünebilir:

  • "Jwt'deki kitlelere izin verilmiyor"
  • "Jwt kuruluşu yapılandırılmamış"

Bunlar, Envoy yapılandırmanızdaki değiştirmeniz gerekebilecek gereksinimlerdendir.

Jetonu inceleme

Jetonunuzu incelemek için CLI'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 oldu bölümünü inceleyin.

Günlük Kaydı

Günlük kaydı düzeyini $REMOTE_SERVICE_HOME/Apigee-remote-service-envoy hizmetinde ayarlayabilirsiniz. Tüm günlük kayıtları stderr'a 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.

Envoy, günlük kaydı sağlar. Daha fazla bilgi için aşağıdaki Envoy dokümanlarının bağlantılarına göz atın:

Ağ proxy'si kullanma

HTTP_PROXY ve HTTPS_PROXY ortam değişkenleri kullanılarak HTTP proxy eklenebilir ( Apigee-remote-service-envoy ikili programı ortamında kullanılabilir. Bunları kullanırken, NO_PROXY ortam değişkeni, belirli ana makinelerin proxy üzerinden gönderilmesini engellemek 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 adresinden erişilebilir olması gerektiğini unutmayın.

Metrikler ve analizler hakkında

:5001/metrics adresinde bir Prometheus metrikleri uç noktası bulabilirsiniz. Chrome Web Mağazası'ndaki bu bağlantı noktası numarasıdır. Yapılandırma dosyası bölümüne bakın.

Envoy Analytics

Aşağıdaki bağlantılar Envoy proxy analizlerini alma hakkında bilgi sağlar veri:

Istio analizleri

Aşağıdaki bağlantılar Envoy proxy analizlerini alma hakkında bilgi sağlar veri:

Apigee analizi

Envoy için Apigee Remote Service, analiz işleme amacıyla istek istatistiklerini Apigee'ye gönderir. Apigee, bu istekleri ilişkili API ürün adı altında bildirir.

Apigee Analytics hakkında bilgi için: Analytics hizmetlerine genel bakış başlıklı makaleyi inceleyin.