Halaman ini berlaku untuk Apigee dan Apigee Hybrid.
Lihat dokumentasi
Apigee Edge.
Yang perlu Anda ketahui tentang kebijakan izin Java
Jika Anda mengembangkan kebijakan JavCallout, Anda perlu mengetahui kebijakan izin mana yang berlaku di JVM Apigee dan bagaimana pengaruhnya terhadap kode Anda. Misalnya, kode Java kustom Anda tidak memiliki akses tanpa batas ke sistem file. Namun, dalam kasus akses sistem file, Anda dapat membaca file tertentu, seperti file resource kebijakan. Namun, sebagian besar akses sistem file lainnya diblokir. Topik ini mencantumkan semua jenis izin JDK dan target atau tindakan masing-masing. Untuk setiap target atau tindakan, kami menentukan kebijakan izin dan pengecualian apa pun yang perlu Anda ketahui.
Untuk mempelajari lebih lanjut jenis izin JDK dan apa yang diizinkan oleh setiap izin, lihat Izin di Java Development Kit (JDK).
Jenis Izin | Nama Target atau Tindakan | Izin Diberikan |
java.awt.AWTPermission | ||
accessClipboard | TIDAK | |
accessEventQueue | TIDAK | |
accessSystemTray | TIDAK | |
createRobot | TIDAK | |
fullScreenExclusive | TIDAK | |
listenToAllAWTEvents | TIDAK | |
readDisplayPixels | TIDAK | |
replaceKeyboardFocusManager | TIDAK | |
setAppletStub | TIDAK | |
setWindowsAlwaysOnTop | TIDAK | |
showWindowWithoutWarningBanner | TIDAK | |
toolkitModality | TIDAK | |
watchMousePointer | TIDAK | |
java.io.FilePermission java.io.FilePermission merepresentasikan akses ke file atau direktori. FilePermission terdiri dari pathname dan serangkaian tindakan yang valid untuk pathname tersebut. |
read | YA, tetapi batasan berlaku. Lihat Pembatasan. |
write | TIDAK | |
execute | TIDAK | |
delete | TIDAK | |
readLink | YA | |
java.io.SerializablePermission SerializablePermission berisi nama (juga disebut sebagai "nama target") tetapi tidak berisi daftar tindakan; Anda memiliki izin bernama atau tidak. |
enableSubclassImplementation | YA |
enableSubstitution | TIDAK | |
java.lang.management.ManagementPermission Metode yang ditentukan dalam antarmuka pengelolaan untuk platform Java |
kontrol | TIDAK |
memantau | TIDAK | |
java.lang.reflect.ReflectPermission Untuk operasi reflektif. ReflectPermission adalah izin bernama dan tidak memiliki tindakan |
suppressAccessChecks | TIDAK |
newProxyInPackage.{package name} | TIDAK | |
java.lang.RuntimePermission Berisi nama (juga disebut sebagai "nama target") tetapi tidak ada daftar tindakan; Anda memiliki izin bernama atau tidak. |
createClassLoader | TIDAK |
getClassLoader | YA | |
setContextClassLoader | YA | |
enableContextClassLoaderOverride | YA | |
closeClassLoader | TIDAK | |
setSecurityManager | TIDAK | |
createSecurityManager | TIDAK | |
getenv.{variable name} | TIDAK | |
exitVM.{exit status} | TIDAK | |
shutdownHooks | TIDAK | |
setFactory | TIDAK | |
setIO | TIDAK | |
modifyThread | YA | |
stopThread | YA | |
modifyThreadGroup | YA | |
getProtectionDomain | YA | |
getFileSystemAttributes | TIDAK | |
readFileDescriptor | YA | |
writeFileDescriptor | TIDAK | |
loadLibrary.{library name} | TIDAK | |
accessClassInPackage. {package name} | YA | |
defineClassInPackage. {package name} | TIDAK | |
accessDeclaredMembers | TIDAK | |
queuePrintJob | TIDAK | |
getStackTrace | TIDAK | |
setDefaultUncaughtExceptionHandler | TIDAK | |
preferensi | TIDAK | |
usePolicy | TIDAK | |
java.net.NetPermission NetPermission berisi nama, tetapi tidak ada daftar tindakan; Anda memiliki izin bernama atau tidak. |
setDefaultAuthenticator | TIDAK |
requestPasswordAuthentication | TIDAK | |
specifyStreamHandler | YA | |
setProxySelector | TIDAK | |
getProxySelector | TIDAK | |
setCookieHandler | TIDAK | |
getCookieHandler | TIDAK | |
setResponseCache | TIDAK | |
getResponseCache | TIDAK | |
getNetworkInformation | TIDAK | |
java.net.SocketPermission Mewakili akses ke jaringan melalui soket. SocketPermission terdiri dari spesifikasi host dan serangkaian "tindakan" yang menentukan cara menghubungkan ke host tersebut. host = (hostname | IPaddress)[:portrange] portrange = portnumber | -portnumber | portnumber-[portnumber] Kemungkinan cara untuk terhubung ke host adalah accept connect listen resolve Tindakan "listen" hanya bermakna jika digunakan dengan "localhost". Tindakan "resolve" (resolve pencarian layanan nama host/IP) tersirat saat tindakan lainnya ada. |
selesaikan | YA |
hubungkan |
YA, tetapi batasan berlaku. Lihat Pembatasan. Apigee membatasi akses ke alamat sitelocal, anylocal, loopback, dan linklocal, serta rentang IPv4 pribadi yang ditentukan dalam RFC1918. |
|
dengarkan, terima |
TIDAK | |
java.net.URLPermission Mewakili izin untuk mengakses resource atau sekumpulan resource yang ditentukan oleh URL tertentu, dan untuk sekumpulan metode permintaan dan header permintaan yang dapat ditetapkan pengguna tertentu. Nama izin adalah string URL. String tindakan adalah gabungan dari metode permintaan dan header. Rentang nama metode dan header tidak dibatasi oleh class ini. |
YA | |
LinkPermission Class Permission untuk operasi pembuatan link. |
sulit | TIDAK |
simbolis | TIDAK | |
java.security.SecurityPermission SecurityPermission berisi nama (juga disebut sebagai "nama target") tetapi tidak ada daftar tindakan; Anda memiliki izin bernama atau tidak. Nama target adalah nama parameter konfigurasi keamanan (lihat di bawah). Saat ini objek SecurityPermission digunakan untuk melindungi akses ke objek Policy, Security, Provider, Signer, dan Identity. |
createAccessControlContext | TIDAK |
getDomainCombiner | TIDAK | |
getPolicy | TIDAK | |
setPolicy | TIDAK | |
createPolicy.{policy type} | TIDAK | |
getProperty.{key} | TIDAK | |
setProperty.{key} | TIDAK | |
insertProvider | TIDAK | |
removeProvider.{provider name} | TIDAK | |
clearProviderProperties.{provider name} | TIDAK | |
putProviderProperty.{provider name} | TIDAK | |
removeProviderProperty.{provider name} | TIDAK | |
SQLPermission | setLog | TIDAK |
callAbort | TIDAK | |
setSyncFactory | TIDAK | |
setNetworkTimeout | TIDAK | |
deregisterDriver | TIDAK | |
java.util.logging.LoggingPermission SecurityManager akan memeriksa objek java.util.logging.LoggingPermission saat kode yang berjalan dengan SecurityManager memanggil salah satu metode kontrol logging (seperti Logger.setLevel). |
kontrol | TIDAK |
java.util.PropertyPermission Nama adalah nama properti ("java.home", "os.name", dll.). Konvensi penamaan mengikuti konvensi penamaan properti hierarkis. Selain itu, tanda bintang dapat muncul di akhir nama, setelah ".", atau dengan sendirinya, untuk menandakan kecocokan karakter pengganti. Misalnya: "java.*" atau "*" valid, "*java" atau "a*b" tidak valid. Tindakan yang akan diberikan diteruskan ke konstruktor dalam string yang berisi daftar nol atau lebih kata kunci yang dipisahkan koma. |
read | YA |
write | TIDAK | |
javax.xml.ws.WebServicePermission
|
publishEndpoint | TIDAK |
javax.xml.bind.JAXBPermission | setDatatypeConverter | TIDAK |
javax.sound.sampled.AudioPermission Hak akses ke resource sistem audio. |
putar | TIDAK |
kumpulan data | TIDAK | |
javax.security.auth.PrivateCredentialPermission Melindungi akses ke Kredensial pribadi milik Subjek tertentu. Subjek diwakili oleh Set Akun Utama. Nama target Izin ini menentukan nama class Kredensial, dan Setel Principal. Satu-satunya nilai yang valid untuk tindakan Izin ini adalah, "read". |
CredentialClass {PrincipalClass "PrincipalName"}* | TIDAK |
javax.security.auth.kerberos.ServicePermission Melindungi layanan Kerberos dan kredensial yang diperlukan untuk mengakses layanan tersebut. |
mulai | TIDAK |
terima | TIDAK | |
javax.security.auth.kerberos.DelegationPermission Digunakan untuk membatasi penggunaan model delegasi Kerberos; yaitu, tiket yang dapat diteruskan dan dapat di-proxy. Nama target Izin ini menentukan sepasang nama utama layanan kerberos. Yang pertama adalah akun utama layanan bawahan yang dipercayai untuk menggunakan Ticket Granting Ticket (TGT). Akun utama layanan kedua menetapkan layanan target yang akan berinteraksi dengan akun utama layanan bawahan atas nama KerberosPrincipal yang memulai. |
mulai | TIDAK |
terima | TIDAK | |
javax.security.auth.AuthPermission Saat ini, objek AuthPermission digunakan untuk melindungi akses ke objek Subject, SubjectDomainCombiner, LoginContext, dan Configuration. |
doAs | TIDAK |
doAsPrivileged | TIDAK | |
getSubject | TIDAK | |
getSubjectFromDomainCombiner | TIDAK | |
setReadOnly | TIDAK | |
modifyPrincipals | TIDAK | |
modifyPublicCredentials | TIDAK | |
modifyPrivateCredentials | TIDAK | |
refreshCredential | TIDAK | |
destroyCredential | TIDAK | |
createLoginContext.{name} | TIDAK | |
getLoginConfiguration | TIDAK | |
setLoginConfiguration | TIDAK | |
createLoginConfiguration.{configuration type} | TIDAK | |
refreshLoginConfiguration | TIDAK | |
javax.net.ssl.SSLPermission |
setHostnameVerifier | TIDAK |
getSSLSessionContext | TIDAK | |
setDefaultSSLContext | TIDAK | |
javax.management.MBeanPermission Izin yang mengontrol akses ke operasi MBeanServer. Jika pengelola keamanan telah disetel menggunakan System.setSecurityManager(java.lang.SecurityManager), sebagian besar operasi di MBeanServer mengharuskan izin pemanggil menyiratkan MBeanPermission yang sesuai untuk operasi. action className#member[objectName] Jika Anda memiliki MBeanPermission, operasi hanya diizinkan jika keempat item cocok. |
addNotificationListener | TIDAK |
getAttribute | TIDAK | |
getClassLoader | TIDAK | |
getClassLoaderFor | TIDAK | |
getClassLoaderRepository | TIDAK | |
getDomains | TIDAK | |
getMBeanInfo | TIDAK | |
getObjectInstance | TIDAK | |
buat instance | TIDAK | |
panggil | TIDAK | |
isInstanceOf | TIDAK | |
queryMBeans | TIDAK | |
queryNames | TIDAK | |
registerMBean | TIDAK | |
removeNotificationListener | TIDAK | |
setAttribute | TIDAK | |
unregisterMBean | TIDAK | |
javax.management.MBeanServerPermission |
createMBeanServer | TIDAK |
findMBeanServer | TIDAK | |
newMBeanServer | TIDAK | |
releaseMBeanServer | TIDAK | |
javax.management.MBeanTrustPermission Izin ini merepresentasikan "kepercayaan" pada penanda tangan atau codebase. |
register | TIDAK |
* | TIDAK | |
javax.management.remote.SubjectDelegationPermission
|
TIDAK |