Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.
Informazioni importanti sui criteri di autorizzazione Java
Se stai sviluppando criteri di callout Java, devi sapere quali criteri di autorizzazione sono in vigore nella JVM di Apigee e in che modo influiscono sul tuo codice. Ad esempio, il codice Java personalizzato non ha accesso illimitato al file system. Tuttavia, nel caso dell'accesso al file system, puoi leggere determinati file, ad esempio i file di risorse dei criteri. Ma la maggior parte degli altri accessi al file system bloccato. Questo argomento elenca tutti i tipi di autorizzazione JDK e i relativi target o azioni. Per ogni target o azione, specifichiamo il criterio di autorizzazione e le eventuali eccezioni che devi conoscere.
Per ulteriori informazioni sui tipi di autorizzazione JDK e su ciò che ciascuna autorizzazione consente, consulta Autorizzazioni in Java Development Kit (JDK).
Tipo di autorizzazione | Nome target o 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'istruzione java.io.FilePermission rappresenta l'accesso a un file o a una directory. Un'autorizzazione File è composto da un nome di percorso e da un insieme di azioni valide per quel nome di percorso. |
read | SÌ, ma sono previste limitazioni. Consulta la sezione Restrizioni. |
write | NO | |
execute | NO | |
delete | NO | |
readLink | SÌ | |
java.io.SerializablePermission Un'autorizzazione SerializablePermission contiene un nome (chiamato anche "nome target"), ma non un elenco di azioni. L'autorizzazione è presente o meno. |
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 riflessive. ReflectPermission è un'autorizzazione denominata e non ha azioni |
suppressAccessChecks | NO |
newProxyInPackage.{package name} | NO | |
java.lang.RuntimePermission Contiene un nome (chiamato anche "nome target"), ma non un elenco di azioni. Puoi avere o meno l'autorizzazione denominata. |
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 | |
modificareThread | SÌ | |
stopThread | SÌ | |
modifyThreadGroup | SÌ | |
getProtectionDomain | SÌ | |
getFileSystemAttributes | NO | |
readFileDescriptor | SÌ | |
writeFileDescriptor | NO | |
loadLibrary.{library name} | NO | |
accessClassInPackage. {package name} | SÌ | |
defineClassInPackage. {package name} | NO | |
accessDeclaredMembers | NO | |
queuePrintJob | NO | |
getStackTrace | NO | |
setDefaultUncaughtExceptionHandler | NO | |
preferenze | NO | |
usePolicy | NO | |
java.net.NetPermission Un NetPermission contiene un nome ma non un elenco di azioni; disponi dell'autorizzazione denominata o meno. |
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 è costituita da una specifica dell'host e da un insieme di "azioni" che specificano i modi per connettersi all'host. host = (hostname | IPaddress)[:portrange] portrange = portnumber | -portnumber | portnumber-[portnumber] I possibili modi per connettersi all'host sono accept connect listen resolve L'azione "listen" ha significato solo se utilizzata con "localhost". La risoluzione (risolvi l'azione è implicita quando una qualsiasi delle altre azioni viene presenti. |
risolvere | SÌ |
connessione |
SÌ, ma sono previste limitazioni. Vedi Restrizioni. Apigee limita l'accesso agli indirizzi sitelocal, anylocal, loopback e linklocal. |
|
listen, accept |
NO | |
java.net.URLPermission Rappresenta l'autorizzazione di accesso 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 di richiesta impostabili dall'utente. Il nome dell'autorizzazione è la stringa dell'URL. La stringa di azioni è una concatenazione dei metodi di richiesta e delle intestazioni. L'intervallo di nomi di metodi e intestazioni non è limitato da questa classe. |
SÌ | |
LinkPermission La classe Permission per le operazioni di creazione dei link. |
difficile | NO |
simbolico | NO | |
java.security.SecurityPermission Un'Autorizzazione Security contiene un nome (chiamato anche "nome destinazione") ma nessuna azione list; disponi dell'autorizzazione denominata o no. Il nome target è 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.{provider name} | NO | |
clearProviderProperties.{provider name} | NO | |
putProviderProperty.{provider name} | NO | |
removeProviderProperty.{provider name} | 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 viene generato il codice in esecuzione con SecurityManager chiama uno dei metodi di controllo della registrazione (come 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. Potrebbe essere visualizzato anche un asterisco la parte finale del nome, dopo il carattere ".", o da sola, per indicare una corrispondenza con caratteri jolly. Ad esempio: "java.*" o "*" sono validi, "*java" o "a*b" non sono validi. Le azioni da concedere vengono passate al costruttore in una stringa contenente un elenco 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. |
riproduci | NO |
disco | NO | |
javax.security.auth.PrivateCredentialPermission Proteggere l'accesso alle credenziali private appartenenti a un determinato soggetto. L'oggetto è rappresentato da un insieme di principali. Il nome destinazione di questa autorizzazione specifica Nome della classe di credenziali e un insieme di entità. L'unico valore valido per questa autorizzazione azioni è "lettura". |
CredentialClass {PrincipalClass "PrincipalName"}* | NO |
javax.security.auth.kerberos.ServicePermission Proteggi i servizi Kerberos e le credenziali necessarie per accedere a questi servizi. |
initiate | NO |
accetta | NO | |
javax.security.auth.kerberos.DelegationPermission Viene utilizzato per limitare l'utilizzo del modello di delega Kerberos, ad esempio i ticket inoltrabili e proxy. Il nome target di questa autorizzazione specifica una coppia di entità servizio Kerberos. La il primo è il principio del servizio subordinato a cui viene affidato l'utilizzo del servizio Ticket (TGT). Il secondo entità servizio designa il servizio di destinazione con cui l'entità servizio subordinata deve interagire per conto dell'entità servizio KerberosPrincipal di iniziativa. |
initiate | NO |
accetta | NO | |
javax.security.auth.AuthPermission Al momento 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.{name} | 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 di MBeanServer. Se è stato impostato un gestore di sicurezza utilizzando System.setSecurityManager(java.lang.SecurityManager), la maggior parte delle operazioni MBeanServer richiede che le autorizzazioni del chiamante implichino un'autorizzazione MBeanPermission per l'operazione. azione className#member[objectName] Se disponi di un'autorizzazione MBeanPermission, sarà possibile eseguire 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 la "fiducia" in un firmatario o in una base di codice. |
register | NO |
* | NO | |
javax.management.remote.SubjectDelegationPermission
|
NO |