Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Java izni politikaları hakkında bilmeniz gerekenler
Java Callout politikaları geliştiriyorsanız Edge JVM'de hangi izin politikalarının geçerli olduğunu ve bunların kodunuzu nasıl etkileyeceğini bilmeniz gerekir. Örneğin, özel Java kodunuzun dosya sistemine sınırsız erişimi yoktur. Ancak dosya sistemi erişiminde, politika kaynak dosyaları gibi belirli dosyaları okuyabilirsiniz. Ancak diğer dosya sistemi erişimlerinin çoğu engellenir. Bu konuda, tüm JDK izin türleri ve ilgili hedefleri veya işlemleri listelenmektedir. Her hedef veya işlem için izin politikasını ve bilmeniz gereken tüm istisnaları belirtiriz.
JDK izin türleri ve her iznin neye izin verdiği hakkında daha fazla bilgi edinmek için Java Development Kit'teki (JDK) İzinler başlıklı makaleyi inceleyin.
Güvenlik kısıtlamalarını etkinleştirme
Private Cloud için Edge'de güvenlik kısıtlamaları varsayılan olarak devre dışıdır. Bu, özel Java çağrı kodunuzun tüm kaynaklara kısıtlama olmadan erişebileceği anlamına gelir. Edge for Private Cloud yüklemenizde güvenlik kısıtlamalarını etkinleştirmek için aşağıdaki prosedürü uygulayın:
- İlk Mesaj İşleyici düğümünde, dosyayı
$APIGEE_ROOT/customer/application/message-processor.propertiesbir düzenleyicide açın. Dosya yoksa oluşturun. - Dosyaya aşağıdaki satırı ekleyin:
conf_security-policy_enable.security.manager=true
- Save the file and ensure the file is owned by the
apigeeuser:chown apigee:apigee $APIGEE_ROOT/customer/application/message-processor.properties
- Mesaj İşleyici'yi yeniden başlatın:
apigee-service message-processor restart
- Bu adımları kalan tüm Mesaj İşleyiciler için tekrarlayın.
| İzin Türü | Hedef veya İşlem Adı | İzin Verildi |
| java.awt.AWTPermission | ||
| accessClipboard | HAYIR | |
| accessEventQueue | HAYIR | |
| accessSystemTray | HAYIR | |
| createRobot | HAYIR | |
| fullScreenExclusive | HAYIR | |
| listenToAllAWTEvents | HAYIR | |
| readDisplayPixels | HAYIR | |
| replaceKeyboardFocusManager | HAYIR | |
| setAppletStub | HAYIR | |
| setWindowsAlwaysOnTop | HAYIR | |
| showWindowWithoutWarningBanner | HAYIR | |
| toolkitModality | HAYIR | |
| watchMousePointer | HAYIR | |
| java.io.FilePermission java.io.FilePermission, bir dosya veya dizine erişimi temsil eder. FilePermission bir yol adından ve bu yol adı için geçerli bir dizi işlemden oluşur. |
okuma | EVET ancak kısıtlamalar geçerlidir. Kısıtlamalar başlıklı makaleyi inceleyin. |
| yardım et | HAYIR | |
| execute | HAYIR | |
| delete | HAYIR | |
| readLink | EVET | |
| java.io.SerializablePermission SerializablePermission, bir ad (aynı zamanda "hedef adı" olarak da bilinir) içerir ancak işlem listesi içermez. Adlandırılmış izne sahipsinizdir veya değilsinizdir. |
enableSubclassImplementation | EVET |
| enableSubstitution | HAYIR | |
| java.lang.management.ManagementPermission Java platformu için yönetim arayüzünde tanımlanan yöntemler |
kontrol | HAYIR |
| izleme | HAYIR | |
| java.lang.reflect.ReflectPermission Yansıtıcı işlemler için. ReflectPermission, adlandırılmış bir izindir ve herhangi bir işlemi yoktur. |
suppressAccessChecks | HAYIR |
| newProxyInPackage.{package name} | HAYIR | |
| java.lang.RuntimePermission Bir ad (aynı zamanda "hedef adı" olarak da bilinir) içerir ancak işlem listesi içermez. Adlandırılmış izne sahipsinizdir veya değilsinizdir. |
createClassLoader | HAYIR |
| getClassLoader | EVET | |
| setContextClassLoader | EVET | |
| enableContextClassLoaderOverride | EVET | |
| closeClassLoader | HAYIR | |
| setSecurityManager | HAYIR | |
| createSecurityManager | HAYIR | |
| getenv.{variable name} | HAYIR | |
| exitVM.{exit status} | HAYIR | |
| shutdownHooks | HAYIR | |
| setFactory | HAYIR | |
| setIO | HAYIR | |
| modifyThread | EVET | |
| stopThread | EVET | |
| modifyThreadGroup | EVET | |
| getProtectionDomain | EVET | |
| getFileSystemAttributes | HAYIR | |
| readFileDescriptor | EVET | |
| writeFileDescriptor | HAYIR | |
| loadLibrary.{library name} | HAYIR | |
| accessClassInPackage. {package name} | EVET | |
| defineClassInPackage. {package name} | HAYIR | |
| accessDeclaredMembers | HAYIR | |
| queuePrintJob | HAYIR | |
| getStackTrace | HAYIR | |
| setDefaultUncaughtExceptionHandler | HAYIR | |
| tercihler | HAYIR | |
| usePolicy | HAYIR | |
| java.net.NetPermission NetPermission, bir ad içerir ancak işlem listesi içermez. Adlandırılmış izne sahipsinizdir veya değilsinizdir. |
setDefaultAuthenticator | HAYIR |
| requestPasswordAuthentication | HAYIR | |
| specifyStreamHandler | EVET | |
| setProxySelector | HAYIR | |
| getProxySelector | HAYIR | |
| setCookieHandler | HAYIR | |
| getCookieHandler | HAYIR | |
| setResponseCache | HAYIR | |
| getResponseCache | HAYIR | |
| getNetworkInformation | HAYIR | |
| java.net.SocketPermission Yuvalar aracılığıyla bir ağa erişimi temsil eder. SocketPermission, bir ana makine belirtimi ve bu ana makineye bağlanma yöntemlerini belirten bir dizi "işlem"den oluşur. host = (hostname | IPaddress)[:portrange] portrange = portnumber | -portnumber | portnumber-[portnumber] Ana makineye bağlanmanın olası yolları şunlardır: accept connect listen resolve "listen" işlemi yalnızca "localhost" ile birlikte kullanıldığında anlamlıdır. Diğer işlemlerden herhangi biri mevcut olduğunda "resolve" (ana makine/IP adı hizmeti aramalarını çözme) işlemi uygulanır. |
çözümleme | EVET |
| connect |
EVET ancak kısıtlamalar geçerlidir. Kısıtlamalar başlıklı makaleyi inceleyin. Apigee, sitelocal, anylocal, loopback ve linklocal adreslerine erişimi kısıtlar. |
|
| dinle, kabul et |
HAYIR | |
| java.net.URLPermission Belirli bir URL tarafından tanımlanan bir kaynağa veya kaynak grubuna erişme ve belirli bir kullanıcı tarafından ayarlanabilir istek yöntemleri ve istek başlıkları grubuna erişme iznini temsil eder. İznin adı, URL dizesidir. İşlemler dizesi, istek yöntemlerinin ve başlıkların birleştirilmesidir. Yöntem ve başlık adları aralığı bu sınıf tarafından kısıtlanmaz. |
EVET | |
| LinkPermission Bağlantı oluşturma işlemleri için izin sınıfı. |
zor | HAYIR |
| sembolik | HAYIR | |
| java.security.SecurityPermission SecurityPermission, bir ad (aynı zamanda "hedef adı" olarak da bilinir) içerir ancak işlem listesi içermez. Adlandırılmış izne sahipsinizdir veya değilsinizdir. Hedef adı, bir güvenlik yapılandırma parametresinin adıdır (aşağıya bakın). Şu anda Policy, Security, Provider, Signer ve Identity nesnelerine erişimi korumak için SecurityPermission nesnesi kullanılmaktadır. |
createAccessControlContext | HAYIR |
| getDomainCombiner | HAYIR | |
| getPolicy | HAYIR | |
| setPolicy | HAYIR | |
| createPolicy.{policy type} | HAYIR | |
| getProperty.{key} | HAYIR | |
| setProperty.{key} | HAYIR | |
| insertProvider | HAYIR | |
| removeProvider.{provider name} | HAYIR | |
| clearProviderProperties.{provider name} | HAYIR | |
| putProviderProperty.{provider name} | HAYIR | |
| removeProviderProperty.{provider name} | HAYIR | |
| SQLPermission | setLog | HAYIR |
| callAbort | HAYIR | |
| setSyncFactory | HAYIR | |
| setNetworkTimeout | HAYIR | |
| deregisterDriver | HAYIR | |
| java.util.logging.LoggingPermission SecurityManager ile çalışan kod, günlük kaydı kontrol yöntemlerinden birini (ör. Logger.setLevel) çağırdığında SecurityManager, java.util.logging.LoggingPermission nesnesini kontrol eder. |
kontrol | HAYIR |
| java.util.PropertyPermission Ad, özelliğin adıdır ("java.home", "os.name" vb.). Adlandırma kuralı, hiyerarşik mülk adlandırma kuralına uygundur. Ayrıca, joker karakter eşleşmesini belirtmek için adın sonunda, "." işaretinden sonra veya tek başına bir yıldız işareti görünebilir. Örneğin: "java.*" veya "*" geçerlidir, "*java" veya "a*b" geçerli değildir. Verilecek işlemler, sıfır veya daha fazla virgülle ayrılmış anahtar kelime listesini içeren bir dizede oluşturucuya iletilir. |
okuma | EVET |
| yardım et | HAYIR | |
|
javax.xml.ws.WebServicePermission
|
publishEndpoint | HAYIR |
| javax.xml.bind.JAXBPermission | setDatatypeConverter | HAYIR |
| javax.sound.sampled.AudioPermission Ses sistemi kaynaklarına erişim hakları. |
oynat | HAYIR |
| kayıt | HAYIR | |
| javax.security.auth.PrivateCredentialPermission Belirli bir Konu'ya ait özel kimlik bilgilerine erişimi korur. Özne, bir dizi asıl tarafından temsil edilir. Bu iznin hedef adı, bir yeterlilik belgesi sınıfı adı ve bir dizi sorumlu tanımlar. Bu iznin işlemleri için geçerli tek değer "read" (okuma) değeridir. |
CredentialClass {PrincipalClass "PrincipalName"}* | HAYIR |
| javax.security.auth.kerberos.ServicePermission Kerberos hizmetlerini ve bu hizmetlere erişmek için gereken kimlik bilgilerini korur. |
başlangıç | HAYIR |
| kabul et | HAYIR | |
| javax.security.auth.kerberos.DelegationPermission Kerberos yetkilendirme modelinin (ör. yönlendirilebilir ve proxy oluşturulabilir) kullanımını kısıtlamak için kullanılır. biletler. Bu iznin hedef adı, bir çift Kerberos hizmeti asıl adı belirtir. İlk olarak, bilet verme biletini (TGT) kullanmak üzere yetkilendirilen alt hizmet sorumlusu. İkinci hizmet asıl adı, başlatıcı KerberosPrincipal adına alt hizmet asıl adının etkileşimde bulunacağı hedef hizmeti belirtir. |
başlangıç | HAYIR |
| kabul et | HAYIR | |
| javax.security.auth.AuthPermission Şu anda AuthPermission nesnesi, Subject, SubjectDomainCombiner, LoginContext ve Configuration nesnelerine erişimi korumak için kullanılmaktadır. |
doAs | HAYIR |
| doAsPrivileged | HAYIR | |
| getSubject | HAYIR | |
| getSubjectFromDomainCombiner | HAYIR | |
| setReadOnly | HAYIR | |
| modifyPrincipals | HAYIR | |
| modifyPublicCredentials | HAYIR | |
| modifyPrivateCredentials | HAYIR | |
| refreshCredential | HAYIR | |
| destroyCredential | HAYIR | |
| createLoginContext.{name} | HAYIR | |
| getLoginConfiguration | HAYIR | |
| setLoginConfiguration | HAYIR | |
| createLoginConfiguration.{configuration type} | HAYIR | |
| refreshLoginConfiguration | HAYIR | |
| javax.net.ssl.SSLPermission |
setHostnameVerifier | HAYIR |
| getSSLSessionContext | HAYIR | |
| setDefaultSSLContext | HAYIR | |
| javax.management.MBeanPermission MBeanServer işlemlerine erişimi kontrol eden izin. System.setSecurityManager(java.lang.SecurityManager) kullanılarak bir güvenlik yöneticisi ayarlanmışsa MBeanServer'daki çoğu işlem, arayanın izinlerinin işlem için uygun bir MBeanPermission'ı içermesini gerektirir. action className#member[objectName] Bir MBeanPermission'ınız varsa yalnızca dört öğenin tamamı eşleşiyorsa işlemlere izin verilir. |
addNotificationListener | HAYIR |
| getAttribute | HAYIR | |
| getClassLoader | HAYIR | |
| getClassLoaderFor | HAYIR | |
| getClassLoaderRepository | HAYIR | |
| getDomains | HAYIR | |
| getMBeanInfo | HAYIR | |
| getObjectInstance | HAYIR | |
| örneklendirmek | HAYIR | |
| çağırmak | HAYIR | |
| isInstanceOf | HAYIR | |
| queryMBeans | HAYIR | |
| queryNames | HAYIR | |
| registerMBean | HAYIR | |
| removeNotificationListener | HAYIR | |
| setAttribute | HAYIR | |
| unregisterMBean | HAYIR | |
| javax.management.MBeanServerPermission |
createMBeanServer | HAYIR |
| findMBeanServer | HAYIR | |
| newMBeanServer | HAYIR | |
| releaseMBeanServer | HAYIR | |
| javax.management.MBeanTrustPermission Bu izin, imzalayan veya kod tabanında "güveni" temsil eder. |
register | HAYIR |
| * | HAYIR | |
|
javax.management.remote.SubjectDelegationPermission
|
HAYIR |