Questa pagina si applica a Apigee e Apigee ibrido.
Visualizza la documentazione di
Apigee Edge.
Cosa devi sapere sui criteri di autorizzazione Java
Se stai sviluppando criteri di callout Java, devi sapere quali criteri di autorizzazione sono in vigore nella JVM Apigee e in che modo influiscono sul codice. Ad esempio, il codice Java personalizzato non ha accesso illimitato al file system. Tuttavia, in caso di accesso al file system, puoi leggere determinati file, ad esempio i file di risorse dei criteri. Tuttavia, l'accesso alla maggior parte degli altri file system è bloccato. Questo argomento elenca tutti i tipi di autorizzazione JDK e i relativi target o azioni. Per ogni destinazione o azione, specifichiamo le norme di autorizzazione ed eventuali eccezioni di cui devi essere a conoscenza.
Per scoprire di più sui tipi di autorizzazione JDK e su ciò che ciascuna autorizzazione consente, consulta Autorizzazioni nel Java Development Kit (JDK).
Tipo di autorizzazione | Nome del target o dell'azione | Autorizzazione concessa |
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 Un'autorizzazione java.io.FilePermission rappresenta l'accesso a un file o a una directory. Un'Autorizzazione File è composta da un nome di percorso e da un insieme di azioni valide per quel nome di percorso. |
read | SÌ, ma si applicano limitazioni. Vedi Restrizioni. |
write | NO | |
execute | NO | |
delete | NO | |
readLink | SÌ | |
java.io.SerializablePermission Una SerializablePermission contiene un nome (chiamato anche "nome destinazione"), ma non un elenco di azioni; disponi dell'autorizzazione denominata o no. |
enableSubclassImplementation | SÌ |
enableSubstitution | NO | |
java.lang.management.ManagementPermission Metodi definiti nell'interfaccia di gestione per la piattaforma Java |
controllo | NO |
monitora | NO | |
java.lang.reflect.ReflectPermission Per operazioni riflettenti. Una ReflectAutorizzazione è un'autorizzazione con nome e non ha azioni |
suppressAccessChecks | NO |
newProxyInPackage.{nome pacchetto} | NO | |
java.lang.RuntimePermission Contiene un nome (chiamato anche "nome destinazione"), ma non un elenco di azioni. Disponi dell'autorizzazione denominata o no. |
createClassLoader | NO |
getClassLoader | SÌ | |
setContextClassLoader | SÌ | |
enableContextClassLoaderOverride | SÌ | |
closeClassLoader | NO | |
setSecurityManager | NO | |
createSecurityManager | NO | |
getenv.{nome variabile} | NO | |
exitVM.{exit status} | NO | |
shutdownHooks | NO | |
setFactory | NO | |
setIO | NO | |
modifyThread | SÌ | |
stopThread | SÌ | |
modifyThreadGroup | SÌ | |
getProtectionDomain | SÌ | |
getFileSystemAttributes | NO | |
readFileDescriptor | SÌ | |
writeFileDescriptor | NO | |
loadLibrary.{nome libreria} | NO | |
accessClassInPackage. {nome pacchetto} | SÌ | |
defineClassInPackage. {nome pacchetto} | NO | |
accessDeclaredMembers | NO | |
queuePrintJob | NO | |
getStackTrace | NO | |
setDefaultUncaughtExceptionHandler | NO | |
preferenze | NO | |
usePolicy | NO | |
java.net.NetPermission Un'autorizzazione NetPermission contiene un nome, ma non un elenco di azioni; disponi dell'autorizzazione denominata oppure no. |
setDefaultAuthenticator | NO |
requestPasswordAuthentication | NO | |
specifyStreamHandler | SÌ | |
setProxySelector | NO | |
getProxySelector | NO | |
setCookieHandler | NO | |
getCookieHandler | NO | |
setResponseCache | NO | |
getResponseCache | NO | |
getNetworkInformation | NO | |
java.net.SocketPermission Rappresenta l'accesso a una rete tramite socket. Una SocketPermission è composta da una specifica dell'host e da un insieme di "azioni" che specificano i modi per connettersi all'host. host = (nome host | indirizzo IP)[:portrange] portrange = numero porta | -portnumber | portnumber-[numero porta] I modi possibili per connettersi all'host sono accettano connetti ascolta risoluzione L'azione "listen" è significativa solo se utilizzata con "localhost". L'azione "resolve" (risoluzione delle ricerche nel servizio di nomi host/IP) è implicita quando è presente una qualsiasi delle altre azioni. |
resolve | SÌ |
connessione |
SÌ, ma si applicano limitazioni. Vedi Restrizioni. Apigee limita l'accesso agli indirizzi sitelocal, anylocal, loopback e linklocal. |
|
ascolta, accetta |
NO | |
java.net.URLPermission Rappresenta l'autorizzazione per accedere a una risorsa o a un insieme di risorse definito da un determinato URL e per un determinato insieme di metodi di richiesta e intestazioni delle richieste configurabili dall'utente. Il nome dell'autorizzazione è la stringa dell'URL. La stringa delle azioni è una concatenazione dei metodi e delle intestazioni di richiesta. L'intervallo di nomi di metodi e intestazioni non è limitato da questa classe. |
SÌ | |
LinkPermission La classe di autorizzazione per le operazioni di creazione dei collegamenti. |
difficile | NO |
simbolico | NO | |
java.security.SecurityPermission Un'autorizzazione SecurityPermission contiene un nome (chiamato anche "nome destinazione"), ma non un elenco di azioni. Disponi dell'autorizzazione con nome o no. Il nome della destinazione è il nome di un parametro di configurazione della sicurezza (vedi di seguito). Attualmente l'oggetto SecurityPermission viene utilizzato per proteggere l'accesso agli oggetti Policy, Security, Provider, Signer e Identity. |
createAccessControlContext | NO |
getDomainCombiner | NO | |
getPolicy | NO | |
setPolicy | NO | |
createPolicy.{policy type} | NO | |
getProperty.{key} | NO | |
setProperty.{key} | NO | |
insertProvider | NO | |
removeProvider.{nome provider} | NO | |
clearProviderProperties.{nome provider} | NO | |
putProviderProperty.{nome provider} | NO | |
removeProviderProperty.{nome provider} | NO | |
SQLPermission | setLog | NO |
callAbort | NO | |
setSyncFactory | NO | |
setNetworkTimeout | NO | |
deregisterDriver | NO | |
java.util.logging.LoggingPermission Un SecurityManager controllerà l'oggetto java.util.logging.LoggingPermission quando il codice in esecuzione con un SecurityManager chiama uno dei metodi di controllo del logging (ad esempio Logger.setLevel). |
controllo | NO |
java.util.PropertyPermission Il nome è il nome della proprietà ("java.home", "os.name" e così via). La convenzione di denominazione segue la convenzione di denominazione delle proprietà gerarchiche. Inoltre, potrebbe essere visualizzato un asterisco alla fine del nome, dopo il punto ".", o da solo, per indicare una corrispondenza con caratteri jolly. Ad esempio: "java.*" o "*" è valido, "*java" o "a*b" non è valido. Le azioni da concedere vengono passate al costruttore in una stringa contenente un elenco di zero o più parole chiave separate da virgole. |
read | SÌ |
write | NO | |
javax.xml.ws.WebServicePermission
|
publishEndpoint | NO |
javax.xml.bind.JAXBPermission | setDatatypeConverter | NO |
javax.sound.sampled.AudioPermission Diritti di accesso alle risorse del sistema audio. |
giocare | NO |
disco | NO | |
javax.security.auth.PrivateCredentialPermission Proteggi l'accesso alle credenziali private appartenenti a un determinato soggetto. Il soggetto è rappresentato da un insieme di entità. Il nome di destinazione di questa autorizzazione specifica un nome di classe di credenziali e un insieme di entità. L'unico valore valido per le azioni di questa autorizzazione è "read". |
CredentialClass {PrincipalClass "PrincipalName"}* | NO |
javax.security.auth.kerberos.ServicePermission Proteggere i servizi Kerberos e le credenziali necessarie per accedere a questi servizi. |
initiate | NO |
accetta | NO | |
javax.security.auth.kerberos.DelegationPermission Utilizzato per limitare l'utilizzo del modello di delega Kerberos, ad esempio ticket di inoltro e proxabili. Il nome della destinazione di questa autorizzazione specifica una coppia di entità del servizio Kerberos. La prima è l'entità del servizio subordinato a cui viene affidato l'utilizzo del Ticket Granting Ticket (TGT). La seconda entità di servizio indica il servizio di destinazione con cui l'entità di servizio subordinato deve interagire per conto della KerberosPrincipal che inizia. |
initiate | NO |
accetta | NO | |
javax.security.auth.AuthPermission Attualmente, l'oggetto AuthPermission viene utilizzato per proteggere l'accesso agli oggetti Subject, SubjectDomainCombiner, LoginContext e Configuration. |
doAs | NO |
doAsPrivileged | NO | |
getSubject | NO | |
getSubjectFromDomainCombiner | NO | |
setReadOnly | NO | |
modifyPrincipals | NO | |
modifyPublicCredentials | NO | |
modifyPrivateCredentials | NO | |
refreshCredential | NO | |
destroyCredential | NO | |
createLoginContext.{nome} | NO | |
getLoginConfiguration | NO | |
setLoginConfiguration | NO | |
createLoginConfiguration.{configuration type} | NO | |
refreshLoginConfiguration | NO | |
javax.net.ssl.SSLPermission |
setHostnameVerifier | NO |
getSSLSessionContext | NO | |
setDefaultSSLContext | NO | |
javax.management.MBeanPermission Autorizzazione che controlla l'accesso alle operazioni MBeanServer. Se è stato impostato un gestore di sicurezza utilizzando System.setSecurityManager(java.lang.SecurityManager), la maggior parte delle operazioni su MBeanServer richiede che le autorizzazioni del chiamante implichino un'autorizzazione MBeanPermission appropriata per l'operazione. action className#member[objectName] Se disponi di un'autorizzazione MBeanPermission, questa consente le operazioni solo se tutti e quattro gli elementi corrispondono. |
addNotificationListener | NO |
getAttribute | NO | |
getClassLoader | NO | |
getClassLoaderFor | NO | |
getClassLoaderRepository | NO | |
getDomains | NO | |
getMBeanInfo | NO | |
getObjectInstance | NO | |
instantiate | NO | |
richiamare | 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 Questa autorizzazione rappresenta "trust" in un firmatario o in un codebase. |
register | NO |
* | NO | |
javax.management.remote.SubjectDelegationPermission
|
NO |