Edge for Private Cloud 4.54.00 Değişiklik Algılama Aracı

Değişiklik algılama aracı

Edge for Private Cloud 4.54.00'a geçiş sırasında ve sonrasında etkilenebilecek Apigee proxy'lerini, politikalarını, paylaşılan akışlarını ve kaynak JAR'larını (proxy, ortam veya kuruluş düzeyinde) tanımlamak için bir değişiklik algılama aracı oluşturulmuştur. Bu araç, değişikliklerden etkilenen dağıtılmış proxy'leri, paylaşılan akışları ve kaynak JAR'ları ayrıntılı olarak açıklayan bir rapor oluşturur ve tanımlanan proxy'ler veya paylaşılan akışlarla ilgili belirli kılavuzlara ve stratejilere yönlendirir.

Ön koşullar

  1. Bu aracı çalıştırmak için RHEL tabanlı veya Rocky Linux makine gerekir (bkz. Edge yükleme koşulları).
  2. Aracın komut dosyalarının çalışmasına izin vermek için ana makineye JRE 8 veya sonraki bir sürümün yüklenmesi ve doğru şekilde yapılandırılması gerekir.
  3. Araç, yönetim sunucusunun uç noktasına (URL) ağ erişimi ve kimlik doğrulama ile veri alma için geçerli yönetim kimlik bilgileri gerektirir.
  4. Araç, paketleri indirmek, günlük oluşturmak ve çıkışları depolamak için yeterli disk alanına ve uygun okuma/yazma izinlerine sahip, belirlenmiş bir çalışma dizinine (ör. /tmp) erişim gerektirir.
  5. (İsteğe bağlı) 4.53.00 sürümünden yükseltme yaparken araç, 241 karakteri/baytı aşan uzun RDN'leri tespit etmek için OpenLDAP değişikliği - LDAP verilerini ayıklama bölümündeki ldapsearch komutu kullanılarak oluşturulan bir LDIF dosyası gerektirir.

Aracı çalıştırma

Tüm ön koşullar karşılandıktan sonra Apigee kimlik bilgilerinizi kullanarak aracı Apigee deposundan indirin ve indirilen arşivi çıkarın:

curl -u uName:pWord https://software.apigee.com/apigee/change-detector/change-detector-for-4.54.00_1.0.0.zip -o /tmp/change-detector-for-4.54.00_1.0.0.zip
unzip /tmp/change-detector-for-4.54.00_1.0.0.zip

İndirme işlemi tamamlandıktan sonra, aracın tüm kullanılabilir seçeneklerini görmek için aşağıdaki komutu çalıştırabilirsiniz:

./change-detector --help

Aracı çalıştırmak için aşağıdaki komutu kullanın ve yer tutucuları bilgilerinizle değiştirin:

export APIGEE_PASSWORD=YOUR_PASSWORD
./change-detector --username YOUR_USERNAME --mgmt-url MGMT_URL --source-version SOURCE_VERSION

Java 21 değişikliklerini taramak için doğrudan Edge for Private Cloud 4.53.01'den yükseltme yaparken --source-version 4.53.01 değerini belirtin. 4.53.00 sürümünden yükseltme yapıyorsanız hem 4.53.01 sürümündeki politika desteğinin sonlandırılması hem de Java 21 değişikliklerini kapsayan kümülatif bir tarama gerçekleştirmek için --source-version 4.53.00 değerini belirtin.

Araç, doğrudan incelenebilen veya Google E-Tablolar gibi e-tablo uygulamalarına aktarılabilen CSV ya da JSON biçiminde çıkış oluşturur.

Araç çıkışını anlama

Rapor aşağıdaki sütunları içerir:

Kurumsal

Öğenin bulunduğu kuruluşun adı. OpenLDAP değişiklikleri için bu değer None'dır.

Ortam

Kuruluş içindeki belirli ortam (ör. dev, test, prod). Kuruluş düzeyindeki JAR'lar için bu alan N/A şeklindedir. OpenLDAP değişiklikleri için bu değer None'dır.

Proxy Adı

API proxy'sinin veya paylaşılan akışın adı. Kuruluş düzeyindeki JAR kaynakları için kuruluş adı gösterilir. Ortam düzeyindeki JAR kaynakları için ortam adını gösterir. OpenLDAP değişiklikleri için bu alan, RDN'nin LDAP varlığını gösterir.

Kapsam

Taranan yapının kapsamını ve düzeyini belirtir:

  • proxy-level-jar: Proxy düzeyinde (/resources/java altında) yüklenen JAR kaynak dosyası.
  • env-level-jar: Ortam düzeyinde yüklenen JAR kaynak dosyası (Kaynak dosyalar bölümüne bakın).
  • org-level-jar: Kuruluş düzeyinde yüklenen JAR kaynak dosyası.
  • proxy: API proxy düzeltmesindeki politika veya yapılandırma.
  • sharedflow: Paylaşılan akış düzeltmesindeki politika veya yapılandırma.
  • ldif: OpenLDAP LDIF dosyası (OpenLDAP kontrolleri için).

Düzeltme

API proxy'sinin veya paylaşılan akışın belirli düzeltme numarası. Ortam veya kuruluş düzeyindeki JAR'lar için bu alan N/A şeklindedir. OpenLDAP değişiklikleri için bu değer None'dır.

Politika Adı

Olası sorun olarak tanımlanan politikanın adı (örneğin, JavaCallout-ValidateAccount veya OASValidation-1). Kuruluş düzeyindeki kaynaklar için bu alanda N/A (Organization Resource) gösterilir. Ortam düzeyindeki kaynaklar için bu alanda N/A (Environment Resource) gösterilir. OpenLDAP değişiklikleri için bu değer None şeklindedir.

Politika Türü

Politika türü (örneğin, java-callout veya OASValidation). OpenLDAP değişiklikleri için bu None'dir.

Kaynak Sürüm

Taramada yapılandırılan kaynak OPDK sürümü (4.53.00 veya 4.53.01).

Etkilenen Kaynak

Algılanan belirli kaynağı veya kitaplığı açıklar:

  • Java 21 çağrı algılamaları için: Etkilenen JAR dosyasının tam adı (ör. order-transform.jar veya corba-callout.jar).
  • Eski 4.53 desteğinin sonlandırılması için: deprecated library detected for NAME_OF_THE_AFFECTED_JAVA_CALLOUT_JAR.
  • OAS, JSONPath veya OpenLDAP algılamaları için: Belirli politika öğesi veya kaynak (örneğin, oas content type handling, wildcard expression veya LDAP RDN exceeds 241 characters).

Tespit Nedeni

Öğenin neden işaretlendiğiyle ilgili ayrıntılı teşhis bilgileri sağlar:

  • Java 21 açıklama algılamaları için: Belirli sınıf, hedef değiştirme kitaplığı (varsa) ve temel neden (ör. Class: javax.xml.bind.JAXBContext | Target Library: jakarta.xml.bind-api-2.3.3.jar | Root Cause: ClassNotFoundException: JAXB API was removed from Java SE in Java 11 (JEP 320)). Aynı JAR içinde birden fazla sorun algılanırsa bunlar ; ile ayrılmış olarak birleştirilir.
  • Eski 4.53 desteğinin sonlandırılması için: Desteği sonlandırılan kitaplıklardan referans verilen sınıfların listesi (ör. ['Detected use of class CLASS_NAME from JAR_NAME']).
  • OAS doğrulamaları için: Source etiketinde belirtilen değişken (örneğin, Source=response).
  • JSONPath için: Tam olarak işaretlenen ifade.
  • OpenLDAP için: 241 baytı veya karakteri aşan LDAP varlığının RDN'si.

Etki Kesinliği

Bu alan, aracın yükseltme engelleyiciyi ne kadar güvenle tanımladığını gösterir. Değerler büyük harfle standartlaştırılır:

  • HIGH: Araç, uyumsuz bir değişiklik tespit etti (ör. javax.xml.bind.JAXBContext veya sun.misc.BASE64Encoder gibi kalıcı olarak kaldırılmış bir sınıfa yapılan çağrı ya da 241 baytı aşan bir OpenLDAP RDN). Düzeltilmediği sürece çalışma zamanı hatası (ClassNotFoundException veya NoClassDefFoundError) olasılığı neredeyse kesindir.
  • MEDIUM: Araç, geliştirici incelemesi ve işlevsel doğrulama gerektiren bir kalıp algıladı:
    • Java açıklama metinleri için: METHOD_SIGNATURE_MODIFICATION (ör. org.w3c.dom.Document) altında işaretlenir. Burada sınıf, Java 21'de mevcuttur ancak belirli yöntemler değiştirilmiş veya kullanımdan kaldırılmış olabilir.
    • OASValidation politikaları için: <Source> öğesinde (ör. Source=response) dinamik çalışma zamanı değişkenleri kullanıldığında işaretlenir. Bu durumda, proxy yürütme sırasında çözümlenen değişkenleri gözlemlemek için İzleme'nin yakalanması gerekir.

Örnek algılama raporları

Hedeflenen Java 21 tarama raporu (--source-version 4.53.01)

Aşağıdaki örnekte, OPDK 4.53.01'den 4.54.00'a yükseltme işlemine ait rapor çıktısı gösterilmektedir:

Kurumsal Ortam Proxy Adı Kapsam Düzeltme Politika Adı Politika Türü Kaynak Sürüm Etkilenen Kaynak Tespit nedeni Etki Kesinliği
my-org prod order-processing proxy-level-jar 12 JavaCallout-ParseXml java-callout 4.53.01 jaxb-callout.jar Class: javax.xml.bind.JAXBContext | Cause: ClassNotFoundException..... HIGH
my-org stage legacy-corba-bridge proxy-level-jar 1 JavaCallout-CorbaClient java-callout 4.53.01 corba-callout.jar Class: org.omg.CORBA.ORB | Cause: ClassNotFoundException..... HIGH
my-org prod prod env-level-jar N/A N/A (Environment Resource) java-callout 4.53.01 env-security-utils.jar Class: sun.misc.BASE64Encoder | Cause: ClassNotFoundException..... HIGH
my-org N/A my-org org-level-jar N/A N/A (Organization Resource) java-callout 4.53.01 cglib-nodep-2.2.jar Class: net.sf.cglib.proxy.Enhancer | Cause: IllegalArgumentException..... HIGH
my-org prod invoice-parser proxy-level-jar 5 JavaCallout-ParseInvoice java-callout 4.53.01 invoice-dom.jar Class: org.w3c.dom.Document | Cause: Modified methods in Java 21..... MEDIUM
my-org prod payment-gateway proxy-level-jar 3 JavaCallout-SignToken java-callout 4.53.01 payment-lib.jar Class: com.mycompany.crypto.OldProvider | Target: custom-crypto-3.0.jar..... HIGH

Kümülatif tarama raporu (--source-version 4.53.00)

Aşağıdaki örnekte, OPDK 4.53.00'dan 4.54.00'a yükseltme için rapor çıkışı gösterilmektedir:

Kurumsal Ortam Proxy Adı Kapsam Düzeltme Politika Adı Politika Türü Kaynak Sürüm Etkilenen Kaynak Tespit nedeni Etki Kesinliği
my-org prod customer-portal proxy 3 ValidateOpenAPISpec OASValidation 4.53.00 oas content type handling Source=response MEDIUM
my-org prod accounts-api proxy-level-jar 4 JavaCallout-ValidateAccount java-callout 4.53.00 deprecated: custom-validator.jar..... ['Detected use of class org.apache.commons.beanutils.....'] HIGH
my-org prod order-processing proxy-level-jar 12 JavaCallout-ParseXml java-callout 4.53.00 jaxb-callout.jar Class: javax.xml.bind.JAXBContext | Cause: ClassNotFoundException..... HIGH
my-org None None ldif None None None 4.53.00 LDAP RDN exceeds 241 characters cn=very-long-rdn-name-exceeding-limit..... HIGH

Belirlenen sorunları giderme konusunda rehberlik için Çözüm stratejileri başlıklı makaleyi inceleyin.