Referensi izin Java

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca dokumentasi Apigee Edge.

Yang perlu Anda ketahui tentang kebijakan izin Java

Jika Anda mengembangkan kebijakan Java Callout, Anda perlu mengetahui kebijakan izin yang berlaku di Apigee JVM dan 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 tindakannya 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 yang diizinkan oleh setiap izin, lihat Izin di Java Development Kit (JDK).

Jenis Izin Nama Target atau Action Izin Diberikan
java.awt.AWTPermission
accessClipboard NO
accessEventQueue NO
accessSystemTray NO
createRobot NO
fullScreenExclusive NO
listenToAllAWTEvents NO
readDisplayPixels NO
replaceKeyboardFocusManager NO
setAppletStub NO
setWindowsAlwaysOnTop NO
showWindowWithoutWarningBanner NO
toolkitModality NO
watchMousePointer NO
java.io.FilePermission

java.io.FilePermission mewakili akses ke file atau direktori. FilePermission terdiri dari nama jalur dan sekumpulan tindakan yang valid untuk nama jalur tersebut.
read YA, tetapi pembatasan berlaku. Lihat Pembatasan.
write NO
execute NO
delete NO
readLink YA
java.io.SerializablePermission

SerializablePermission berisi nama (juga disebut sebagai "nama target") tetapi tidak ada daftar tindakan; Anda memiliki izin bernama atau tidak.
enableSubclassImplementation YA
enableSubstitution NO
java.lang.management.ManagementPermission

Metode yang ditentukan dalam antarmuka pengelolaan untuk platform Java
kontrol NO
monitor NO
java.lang.Reflect.ReflectPermission

Untuk operasi reflektif. ReflectPermission adalah izin bernama dan tidak memiliki tindakan
suppressAccessChecks NO
newProxyInPackage.{nama paket} NO
java.lang.RuntimePermission

Berisi nama (juga disebut sebagai "nama target") tetapi tidak ada daftar tindakan; Anda memiliki izin bernama atau tidak.
createClassLoader NO
getClassLoader YA
setContextClassLoader YA
enableContextClassLoaderOverride YA
closeClassLoader NO
setSecurityManager NO
createSecurityManager NO
getenv.{nama variabel} NO
exitVM.{exit status} NO
shutdownHooks NO
setFactory NO
setIO NO
modifyThread YA
stopThread YA
modifyThreadGroup YA
getProtectionDomain YA
getFileSystemAttributes NO
readFileDescriptor YA
writeFileDescriptor NO
loadLibrary.{nama library} NO
{i>accessClassInPackage<i}. {nama paket} YA
definisiClassInPackage. {nama paket} NO
accessDeclaredMembers NO
queuePrintJob NO
getStackTrace NO
setDefaultUncaughtExceptionHandler NO
preferensi NO
usePolicy NO
java.net.NetPermission

NetPermission berisi nama, tetapi tidak ada daftar tindakan; Anda memiliki izin bernama atau tidak.
setDefaultAuthenticator NO
requestPasswordAuthentication NO
specifyStreamHandler YA
setProxySelector NO
getProxySelector NO
setCookieHandler NO
getCookieHandler NO
setResponseCache NO
getResponseCache NO
getNetworkInformation NO
java.net.SocketPermission

Mewakili akses ke jaringan melalui soket. SocketPermission terdiri dari spesifikasi host dan sekumpulan "tindakan" yang menentukan cara untuk terhubung ke host tersebut.
host = (nama host|









Tindakan "resolve" (resolve pencarian layanan host/ip name) akan tersirat ketika terdapat tindakan lainnya.
resolve YA
menghubungkan

YA, tetapi pembatasan berlaku. Lihat Pembatasan.

Apigee membatasi akses ke alamat sitelocal, anylocal, loopback, dan linklocal.

mendengarkan,
terima
NO
java.net.URLPermission

Mewakili izin untuk mengakses resource atau sekumpulan resource yang ditentukan oleh URL tertentu, dan untuk serangkaian metode permintaan dan header permintaan yang dapat disetel pengguna. Nama izin adalah string URL. String tindakan adalah penyambungan dari header dan metode permintaan. Rentang nama metode dan header tidak dibatasi oleh class ini.
YA
LinkPermission

Class Izin untuk operasi pembuatan link.
sulit NO
simbolis NO
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 menjaga akses ke objek Kebijakan, Keamanan, Penyedia, Penanda Tangan, dan Identitas.
createAccessControlContext NO
getDomainCombiner NO
getPolicy NO
setPolicy NO
createPolicy.{jenis kebijakan} NO
getProperty.{key} NO
setProperty.{key} NO
insertProvider NO
removeProvider.{nama penyedia} NO
clearProviderProperties.{nama penyedia} NO
putProviderProperty.{nama penyedia} NO
removeProviderProperty.{nama penyedia} NO
SQLPermission setLog NO
callAbort NO
setSyncFactory NO
setNetworkTimeout NO
deregisterDriver NO
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 NO
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 tanda bintang itu sendiri, untuk menandakan pencocokan karakter pengganti. Misalnya: "java.*" atau "*" valid, "*java" atau "a*b" tidak valid.

Tindakan yang akan diberikan akan diteruskan ke konstruktor dalam string yang berisi daftar nol atau beberapa kata kunci yang dipisahkan koma.
read YA
write NO
javax.xml.ws.WebServicePermission
publishEndpoint NO
javax.xml.bind.JAXBPermission setDatatypeConverter NO
javax.sound.sampled.AudioPermission

Hak akses ke resource sistem audio.
putar NO
kumpulan data NO
javax.security.auth.PrivateCredentialPermission

Melindungi akses ke Kredensial pribadi milik Subjek tertentu. Subjek direpresentasikan oleh Sekumpulan Kepala Sekolah. Nama target Izin ini menentukan nama class Kredensial, dan Kumpulan Prinsipal. Satu-satunya nilai yang valid untuk tindakan Izin ini adalah "read".
CredentialClass {PrincipalClass "PrincipalName"}* NO
javax.security.auth.kerberos.ServicePermission

Lindungi layanan Kerberos dan kredensial yang diperlukan untuk mengakses layanan tersebut.
initiate NO
terima NO
javax.security.auth.kerberos.DelegationPermission

Digunakan untuk membatasi penggunaan model delegasi Kerberos; yaitu, tiket yang dapat diteruskan dan dapat di-proxy-kan.

Nama target Izin ini menentukan sepasang akun utama layanan kerberos. Yang pertama adalah akun utama layanan bawahan yang dipercaya untuk menggunakan Ticket Granting Ticket (TGT). Entity utama layanan kedua menetapkan layanan target yang akan digunakan oleh akun utama layanan bawahan atas nama KerberosPrincipal yang memulai layanan.
initiate NO
terima NO
javax.security.auth.AuthPermission

Saat ini objek AuthPermission digunakan untuk menjaga akses ke objek Subject, SubjectDomainJoinr, LoginContext, dan Configuration.
doAs NO
doAsPrivileged NO
getSubject NO
getSubjectFromDomainCombiner NO
setReadOnly NO
modifyPrincipals NO
modifyPublicCredentials NO
modifyPrivateCredentials NO
refreshCredential NO
destroyCredential NO
createLoginContext.{nama} NO
getLoginConfiguration NO
setLoginConfiguration NO
createLoginConfiguration.{configuration type} NO
refreshLoginConfiguration NO
javax.net.ssl.SSLPermission
setHostnameVerifier NO
getSSLSessionContext NO
setDefaultSSLContext NO
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 mengimplikasikan MBeanPermission yang sesuai untuk operasi tersebut.

tindakan className#member[objectName]

Jika Anda memiliki MBeanPermission, tindakan ini hanya mengizinkan operasi jika keempat itemnya cocok.
addNotificationListener NO
getAttribute NO
getClassLoader NO
getClassLoaderFor NO
getClassLoaderRepository NO
getDomains NO
getMBeanInfo NO
getObjectInstance NO
buat instance NO
panggil NO
isInstanceOf NO
queryMBeans NO
queryNames NO
registerMBean NO
removeNotificationListener NO
setAttribute NO
unregisterMBean NO
javax.management.MBeanServerPermission
createMBeanServer NO
findMBeanServer NO
newMBeanServer NO
releaseMBeanServer NO
javax.management.MBeanTrustPermission

Izin ini mewakili "kepercayaan" pada penanda tangan atau codebase.
register NO
* NO
javax.management.remote.SubjectDelegationPermission
NO