Java izni referansı

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:

  1. İlk Mesaj İşleyici düğümünde, dosyayı $APIGEE_ROOT/customer/application/message-processor.properties bir düzenleyicide açın. Dosya yoksa oluşturun.
  2. Dosyaya aşağıdaki satırı ekleyin:
    conf_security-policy_enable.security.manager=true
  3. Save the file and ensure the file is owned by the apigee user:
    chown apigee:apigee $APIGEE_ROOT/customer/application/message-processor.properties
  4. Mesaj İşleyici'yi yeniden başlatın:
    apigee-service message-processor restart
  5. 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