Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Co musisz wiedzieć o uprawnieniach Javy zasady
Jeśli tworzysz zasady Java Callout, musisz wiedzieć, które zasady uprawnień są stosowane w Edge JVM i jak będą one wpływać na Twój kod. Na przykład Twój niestandardowy kod w Javie nie ma nieograniczonego dostępu do systemu plików. Jednakże w przypadku dostępu do systemu plików możesz odczytywać określone pliki, na przykład pliki zasobów zasad. Dostęp do większości innych systemów plików Użytkownik został zablokowany. W tym temacie znajdziesz listę wszystkich typów uprawnień JDK oraz ich celów i działań. Dla każdego celu lub działania określamy zasady dotyczące uprawnień oraz wszelkie wyjątki, które są wymagane co wiesz o produktach.
Aby dowiedzieć się więcej o typach uprawnień JDK i ich uprawnieniach, zapoznaj się z sekcją Uprawnienia w pakietu Java Development Kit (JDK).
Włączanie ograniczeń związanych z bezpieczeństwem
W Edge for Private Cloud ograniczenia zabezpieczeń są domyślnie wyłączone. Oznacza to, że niestandardowy kod objaśnienia w Javie ma dostęp do wszystkich zasobów bez ograniczeń. Aby włączyć ograniczenia zabezpieczeń w Twojej instalacji Edge for Private Cloud, wykonaj te czynności:
- W pierwszym węźle procesora wiadomości otwórz plik.
$APIGEE_ROOT/customer/application/message-processor.properties
w edytorze. Jeśli plik nie istnieje, utwórz go. - Dodaj do pliku ten wiersz:
conf_security-policy_enable.security.manager=true
- Save the file and ensure the file is owned by the
apigee
user:chown apigee:apigee $APIGEE_ROOT/customer/application/message-processor.properties
- Ponownie uruchom procesor wiadomości:
apigee-service message-processor restart
- Powtórz te kroki na wszystkich pozostałych procesorach wiadomości.
Typ uprawnień | Nazwa celu lub działania | Przyznano uprawnienia |
java.awt.AWTPermission | ||
accessClipboard | NIE | |
accessEventQueue | NIE | |
accessSystemTray | NIE | |
createRobot | NIE | |
fullScreenExclusive | NIE | |
listenToAllAWTEvents | NIE | |
readDisplayPixels | NIE | |
replaceKeyboardFocusManager | NIE | |
setAppletStub | NIE | |
setWindowsAlwaysOnTop | NIE | |
showWindowWithoutWarningBanner | NIE | |
toolkitModality | NIE | |
watchMousePointer | NIE | |
java.io.FilePermission Uprawnienia java.io.FilePermission reprezentują dostęp do pliku lub katalogu. Uprawnienia do pliku składa się z nazwy ścieżki i zbioru działań, które są dla niej prawidłowe. |
odczyt | TAK, ale obowiązują ograniczenia. Zobacz Ograniczenia. |
zapis | NIE | |
execute | NIE | |
usuń | NIE | |
readLink | TAK | |
java.io.SerializablePermission Element SerializablePermission zawiera nazwę (nazywany też „nazwą docelową”), ale nie lista działań; albo masz nazwane uprawnienie, czy go nie. |
enableSubclassImplementation | TAK |
enableSubstitution | NIE | |
java.lang.management.ManagementPermission Metody zdefiniowane w interfejsie zarządzania platformą Java |
kontrola | NIE |
monitor | NIE | |
java.lang.reflect.ReflectPermission Do operacji odbicia. ReflectPermission to nazwane uprawnienie i nie ma działania |
suppressAccessChecks | NIE |
newProxyInPackage.{package name} | NIE | |
java.lang.RuntimePermission zawiera nazwę (nazywanej też „nazwą celu”), ale nie zawiera listy działań; masz albo lub nie. |
createClassLoader | NIE |
getClassLoader | TAK | |
setContextClassLoader | TAK | |
enableContextClassLoaderOverride | TAK | |
closeClassLoader | NIE | |
setSecurityManager | NIE | |
createSecurityManager | NIE | |
getenv.{variable name} | NIE | |
eventVM.{exit status} | NIE | |
shutdownHooks | NIE | |
setFactory | NIE | |
setIO | NIE | |
modifyThread | TAK | |
stopThread | TAK | |
modifyThreadGroup | TAK | |
getProtectionDomain | TAK | |
getFileSystemAttributes | NIE | |
readFileDescriptor | TAK | |
writeFileDescriptor | NIE | |
loadLibrary.{library name} | NIE | |
accessClassInPackage. {nazwa pakietu} | TAK | |
defineClassInPackage. {nazwa pakietu} | NIE | |
accessDeclaredMembers | NIE | |
queuePrintJob | NIE | |
getStackTrace, | NIE | |
setDefaultUncaughtExceptionHandler | NIE | |
preferencje | NIE | |
usePolicy | NIE | |
java.net.NetPermission NetPermission zawiera nazwę, ale nie zawiera listy działań. albo masz nazwane uprawnienie lub nie. |
setDefaultAuthenticator | NIE |
requestPasswordAuthentication | NIE | |
specifyStreamHandler | TAK | |
setProxySelector | NIE | |
getProxySelector | NIE | |
setCookieHandler | NIE | |
getCookieHandler | NIE | |
setResponseCache | NIE | |
getResponseCache | NIE | |
getNetworkInformation | NIE | |
java.net.SocketPermission Reprezentuje dostęp do sieci przez gniazda. Obiekt SocketPermission składa się z hosta specyfikacja oraz zestaw „działań”, i określać sposoby łączenia się z tym hostem. host = (nazwa hosta | adres IP)[:portrange] portrange = numer portu | -numer portu | numer portu [numer_portu] Możliwe sposoby połączenia z hostem: zaakceptuj połącz słuchaj zakończ Sekcja „Słuchaj” Działanie jest ważne tylko wtedy, gdy jest używane z parametrem „localhost”. „Rozwiązanie” (rozwiązanie wyszukiwanie w usłudze nazw hosta/ip) jest domniemane, jeśli jakakolwiek z pozostałych czynności obecnie. |
znaleźć | TAK |
połącz |
TAK, ale obowiązują ograniczenia. Zobacz Ograniczenia. Apigee ogranicza dostęp do adresów sitelocal, anylocal, loopback i linklocal. |
|
posłuchaj, zaakceptuj |
NIE | |
java.net.URLPermission Reprezentuje uprawnienie dostępu do zasobu lub zbioru zasobów zdefiniowanych przez podany adres URL. dla danego zestawu metod konfigurowanych przez użytkownika i nagłówków żądań. Nazwa to ciąg znaków adresu URL. Ciąg działań to połączenie metod żądania. i nagłówki. Zakres nazw metod i nagłówków nie jest ograniczony przez tę klasę. |
TAK | |
LinkPermission Klasa Permission dla operacji tworzenia połączeń. |
trudny | NIE |
symboliczne | NIE | |
java.security.SecurityPermission SecurityPermission zawiera nazwę (nazywany też „nazwą docelową”), ale nie zawiera żadnych działań. lista; albo masz nazwane uprawnienie, czy go nie. Nazwa celu to nazwa parametru konfiguracji zabezpieczeń (patrz poniżej). Obecnie Obiekt SecurityPermission jest używany do zabezpieczania dostępu do zasad, zabezpieczeń, dostawcy, Obiekty sygnatariuszy i tożsamości. |
createAccessControlContext | NIE |
getDomainCombiner | NIE | |
getPolicy | NIE | |
setPolicy | NIE | |
createPolicy.{policy type} | NIE | |
getProperty.{key} | NIE | |
setProperty.{key} | NIE | |
insertProvider | NIE | |
removeProvider.{provider name} | NIE | |
clearProviderProperties.{provider name} | NIE | |
putProviderProperty.{provider name} | NIE | |
removeProviderProperty.{provider name} | NIE | |
SQLPermission | setLog | NIE |
callAbort | NIE | |
setSyncFactory | NIE | |
setNetworkTimeout | NIE | |
deregisterDriver | NIE | |
java.util.logging.LoggingPermission SecurityManager sprawdzi obiekt java.util.logging.LoggingPermission, gdy kod za pomocą Menedżera zabezpieczeń wywołuje jedną z metod kontroli logowania (np. Logger.setLevel). |
kontrola | NIE |
java.util.PropertyPermission Nazwa to nazwa właściwości („java.home”, „os.name” itp.). Konwencja nazewnictwa zgodnie z konwencją nazewnictwa właściwości hierarchicznych. Gwiazdka może też pojawić się w na końcu nazwy, po znaku „.” lub przez samo słowo, aby wskazać dopasowanie z symbolem wieloznacznym. Na przykład: "java.*" lub „*” jest prawidłowy, „*java” lub „a*b” jest nieprawidłowy. Działania, które mają zostać przyznane, są przekazywane do konstruktora w ciągu znaków zawierającego listę nie może zawierać żadnych słów kluczowych rozdzielonych przecinkami. |
odczyt | TAK |
zapis | NIE | |
javax.xml.ws.WebServicePermission
|
publishEndpoint | NIE |
javax.xml.bind.JAXBPermission | setDatatypeConverter | NIE |
javax.sound.sampled.AudioPermission Prawa dostępu do zasobów systemu audio. |
odtwórz | NIE |
nagranie | NIE | |
javax.security.auth.PrivateCredentialPermission Ochrona dostępu do prywatnych danych uwierzytelniających należących do konkretnego podmiotu. Temat to reprezentowane przez zbiór podmiotów zabezpieczeń. Nazwa docelowa tego uprawnienia określa Nazwa klasy danych logowania i zbiór podmiotów zabezpieczeń. Jedyna prawidłowa wartość uprawnienia czyli „read”. |
CredentialClass {PrincipalClass "PrincipalName"}* | NIE |
javax.security.auth.kerberos.ServicePermission Chroń usługi Kerberos i dane logowania niezbędne do uzyskiwania dostępu do tych usług. |
zainicjuj | NIE |
akceptuj | NIE | |
javax.security.auth.kerberos.DelegationPermission służą do ograniczania użycia modelu przekazywania dostępu Kerberos; tzn. przekazywania i zbliżeniowo biletów. Nazwa docelowa tego uprawnienia określa parę podmiotów zabezpieczeń usługi Kerberos. Pierwszy to podrzędny podmiot zabezpieczeń usługi, któremu powierzono korzystanie z funkcji przyznawania zgłoszeń Bilet (TGT). Drugi podmiot zabezpieczeń usługi wyznacza usługę docelową podrzędną podmiotem zabezpieczeń usługi jest interakcja w imieniu inicjowania KerberosPrincipal. |
zainicjuj | NIE |
akceptuj | NIE | |
javax.security.auth.AuthPermission Obecnie obiekt AuthPermission jest używany do ochrony dostępu do tematu, Obiekty SubjectDomainCONNECTr, LoginContext i Configuration (Konfiguracja). |
doAs | NIE |
doAsPrivileged | NIE | |
getSubject | NIE | |
getSubjectFromDomainCombiner | NIE | |
setReadOnly | NIE | |
modifyPrincipals | NIE | |
modifyPublicCredentials | NIE | |
modifyPrivateCredentials | NIE | |
refreshCredential | NIE | |
destroyCredential | NIE | |
createLoginContext.{name} | NIE | |
getLoginConfiguration | NIE | |
setLoginConfiguration | NIE | |
createLoginConfiguration.{configuration type} | NIE | |
refreshLoginConfiguration | NIE | |
javax.net.ssl.SSLPermission |
setHostnameVerifier | NIE |
getSSLSessionContext | NIE | |
setDefaultSSLContext | NIE | |
javax.management.MBeanPermission Uprawnienie kontrolujące dostęp do operacji MBeanServer. Jeśli menedżer zabezpieczeń został skonfigurowany za pomocą System.setSecurityManager(java.lang.SecurityManager), większość operacji na MBeanServer wymaga, aby uprawnienia elementu wywołującego sugerujące uprawnienia MBeanPermission całą operację. nazwa_klasy_działania#member[nazwa_obiektu] Jeśli masz uprawnienie MBeanPermission, zezwala na operacje tylko wtedy, gdy wszystkie 4 elementy dopasowania. |
addNotificationListener | NIE |
getAttribute | NIE | |
getClassLoader | NIE | |
getClassLoaderFor | NIE | |
getClassLoaderRepository | NIE | |
getDomains | NIE | |
getMBeanInfo | NIE | |
getObjectInstance | NIE | |
utworzyć instancję | NIE | |
wywołać | NIE | |
isInstanceOf | NIE | |
queryMBeans | NIE | |
queryNames | NIE | |
registerMBean | NIE | |
removeNotificationListener | NIE | |
setAttribute | NIE | |
unregisterMBean | NIE | |
javax.management.MBeanServerPermission |
createMBeanServer | NIE |
findMBeanServer | NIE | |
newMBeanServer | NIE | |
releaseMBeanServer | NIE | |
javax.management.MBeanTrustPermission To uprawnienie reprezentuje „zaufanie” w sygnatariuszu lub w bazie kodu. |
zarejestrować się | NIE |
* | NIE | |
javax.management.remote.SubjectDelegationPermission
|
NIE |