أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
ما تحتاج إلى معرفته عن إذن Java سياسات
إذا كنت تطوّر سياسات Java للتوضيح، عليك معرفة سياسات الأذونات المتّبَعة في في Edge JVM وكيف ستؤثر على التعليمة البرمجية. على سبيل المثال، رمز Java المخصص ليس لديه وصول غير محدود إلى نظام الملفات. ومع ذلك، في حالة الوصول إلى نظام الملفات، يمكنك قراءة ملفات معيّنة، مثل ملفات موارد السياسات. ولكن معظم الوصول إلى نظام الملفات الآخر محظور. يسرد هذا الموضوع جميع أنواع أذونات JDK وأهدافها أو إجراءاتها ذات الصلة. لكل هدف أو إجراء، نحدد سياسة الأذونات وأي استثناءات تحتاج إلى تعرفها.
لمزيد من المعلومات عن أنواع أذونات JDK وما يسمح به كل إذن، يمكنك الاطّلاع على الأذونات في مجموعة أدوات تطوير Java (JDK).
تفعيل قيود الأمان
في Edge for Private Cloud، يتم إيقاف قيود الأمان تلقائيًا. هذا يعني أنّ ويمكن لرمز وسيلة شرح Java المخصص الوصول إلى جميع الموارد بدون قيود. للتفعيل قيود الأمان في تثبيت Edge for Private Cloud، يُرجى اتّباع الإجراء أدناه:
- في عقدة "معالج الرسائل" الأولى، افتح الملف
$APIGEE_ROOT/customer/application/message-processor.properties
في المحرِّر. إذا لم يكن الملف متوفّرًا، أنشئه. - أضِف السطر التالي إلى الملف:
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
- إعادة تشغيل معالج الرسائل:
apigee-service message-processor restart
- كرر هذه الخطوات على كل معالِجات الرسائل المتبقية.
نوع الإذن | اسم الهدف أو الإجراء | تم منح الإذن |
java.awt.AWTPermission | ||
accessClipboard | لا | |
accessEventQueue | لا | |
accessSystemTray | لا | |
createRobot | لا | |
fullScreenExclusive | لا | |
listenToAllAWTEvents | لا | |
readDisplayPixels | لا | |
replaceKeyboardFocusManager | لا | |
setAppletStub | لا | |
setWindowsAlwaysOnTop | لا | |
showWindowWithoutWarningBanner | لا | |
toolkitModality | لا | |
watchMousePointer | لا | |
java.io.FilePermission يمثل java.io.FilePermission الوصول إلى ملف أو دليل. إذن ملف من اسم مسار ومجموعة من الإجراءات الصالحة لاسم المسار هذا. |
قراءة | نعم، ولكن تنطبق بعض القيود. يمكنك الاطّلاع على القيود. |
كتابة | لا | |
التنفيذ | لا | |
حذف | لا | |
readLink | نعم | |
java.io.SerializablePermission يحتوي الحقل SerializingPermission على اسم (يُشار إليه أيضًا باسم "اسم الهدف") ولكن لا قائمة الإجراءات إما أن يكون لديك الإذن المحدد أو ليس لديك ذلك. |
enableSubclassImplementation | نعم |
enableSubstitution | لا | |
java.lang.management.ManagementPermission الطرق المحددة في واجهة الإدارة لنظام Java |
التحكم | لا |
الشاشة | لا | |
java.lang.reflect.ReflectPermission للعمليات الانعكاسية ReflectPermission هو إذن مُسمّى ولا يتضمّن الإجراءات |
suppressAccessChecks | لا |
newProxyInPackage.{package name} | لا | |
java.lang.RuntimePermission يحتوي على اسم (يُشار إليه أيضًا باسم "اسم الاستهداف") ولكن لا يحتوي على قائمة إجراءات إما لديك بالإذن المعين أم لا. |
createClassLoader | لا |
getClassLoader | نعم | |
setContextClassLoader | نعم | |
enableContextClassLoaderOverride | نعم | |
closeClassLoader | لا | |
setSecurityManager | لا | |
createSecurityManager | لا | |
getenv.{variable name} | لا | |
exitVM.{exit status} | لا | |
shutdownHooks | لا | |
setFactory | لا | |
setIO | لا | |
modifyThread | نعم | |
stopThread | نعم | |
modifyThreadGroup | نعم | |
getProtectionDomain | نعم | |
getFileSystemAttributes | لا | |
readFileDescriptor | نعم | |
writeFileDescriptor | لا | |
loadLibrary.{library name} | لا | |
accessClassInPackage. {package name} | نعم | |
defineClassInPackage. {package name} | لا | |
accessDeclaredMembers | لا | |
queuePrintJob | لا | |
أمر getStackTrace | لا | |
setDefaultUncaughtExceptionHandler | لا | |
التفضيلات | لا | |
usePolicy | لا | |
java.net.NetPermission يحتوي NetPermission على اسم ولكن لا يحتوي على قائمة إجراءات، لديك إما الإذن بالاسم أو لا تفعل ذلك. |
setDefaultAuthenticator | لا |
requestPasswordAuthentication | لا | |
specifyStreamHandler | نعم | |
setProxySelector | لا | |
getProxySelector | لا | |
setCookieHandler | لا | |
getCookieHandler | لا | |
setResponseCache | لا | |
getResponseCache | لا | |
getNetworkInformation | لا | |
java.net.SocketPermission يمثل الوصول إلى الشبكة عبر المقابس. يتكون إذن المقبس من مضيف والمواصفات ومجموعة "الإجراءات" لتحديد طرق الاتصال بهذا المضيف. المضيف = (اسم المضيف | عنوان IP)[:portrange] نطاق المنفذ = رقم المنفذ | -رقم المنفذ | رقم المنفذ-[portnumber] الطرق الممكنة للاتصال بالمضيف هي قبول توصيل الاستماع حل زر "الاستماع" يكون الإجراء مفيدًا فقط عند استخدامه مع "localhost". "الحل" (حل ( عمليات البحث عن خدمة اسم المضيف/IP) عندما يتم تضمين أي من الإجراءات الأخرى، حاليًا. |
مطابقة | نعم |
اتصل |
نعم، ولكن تنطبق بعض القيود. يمكنك الاطّلاع على القيود. تحظر Apigee إمكانية الوصول إلى عناوين sitelocal و anylocal وeage وlinklocal. |
|
الاستماع، قبول |
لا | |
java.net.URLPermission يمثل إذنًا للوصول إلى مورد أو مجموعة من الموارد يتم تحديدها من خلال عنوان URL محدد، لمجموعة معيّنة من طرق الطلبات القابلة للضبط من قِبل المستخدم وعناوين الطلبات. اسم الإذن هو سلسلة عنوان URL. سلسلة الإجراءات هي تسلسل لطرق الطلب والعناوين. لا تفرض هذه الفئة قيودًا على نطاق أسماء الطرق والعناوين. |
نعم | |
LinkPermission فئة الإذن لعمليات إنشاء الرابط |
صعب | لا |
رمزي | لا | |
java.security.SecurityPermission يحتوي SecurityPermission على اسم (يُشار إليه أيضًا باسم "اسم الهدف") ولكن لا يحتوي على أي إجراءات. list؛ إما أن يكون لديك الإذن المحدد أو ليس لديك ذلك. اسم الهدف هو اسم مَعلمة إعدادات الأمان (انظر أدناه). حاليًا يُستخدم كائن SecurityPermission لحماية إمكانية الوصول إلى عناصر "الموقِّع" و"الهوية" |
createAccessControlContext | لا |
getDomainCombiner | لا | |
getPolicy | لا | |
setPolicy | لا | |
createPolicy.{policy type} | لا | |
getProperty.{key} | لا | |
setProperty.{key} | لا | |
insertProvider | لا | |
removeProvider.{provider name} | لا | |
clearProviderProperties.{provider name} | لا | |
putProviderProperty.{provider name} | لا | |
removeProviderProperty.{provider name} | لا | |
SQLPermission | setLog | لا |
callAbort | لا | |
setSyncFactory | لا | |
setNetworkTimeout | لا | |
deregisterDriver | لا | |
java.util.logging.LoggingPermission سيتحقق SecurityManager من الكائن java.util.logging.LoggingPermission عند استخدام الرمز البرمجي التي تعمل باستخدام SecurityManager تطلب إحدى طرق التحكم في التسجيل (مثل Logger.setLevel). |
التحكم | لا |
java.util.PropertyPermission الاسم هو اسم الموقع ("java.home" و"os.name" وما إلى ذلك). اصطلاح التسمية يتبع اصطلاح تسمية الخصائص الهرمية. أيضًا، قد تظهر علامة النجمة في نهاية الاسم، بعد "."، أو في حد ذاته، للإشارة إلى مطابقة حرف بدل. مثل: "java.*" أو "*" صالح، "*java" أو "a*b" غير صالح. يتم تمرير الإجراءات المراد منحها إلى الدالة الإنشائية في سلسلة تحتوي على قائمة صفر أو أكثر من الكلمات الرئيسية المفصولة بفواصل. |
قراءة | نعم |
كتابة | لا | |
javax.xml.ws.WebServicePermission
|
publishEndpoint | لا |
javax.xml.bind.JAXBPermission | setDatatypeConverter | لا |
javax.sound.sampled.AudioPermission حقوق الوصول إلى موارد النظام الصوتي |
تشغيل | لا |
تسجيل | لا | |
javax.security.auth.PrivateCredentialPermission حماية الوصول إلى بيانات الاعتماد الخاصة التابعة لموضوع معيّن. الموضوع هو يتم تمثيلهم بمجموعة من المديرين. يحدد الاسم الهدف لهذا الإذن اسم فئة بيانات الاعتماد ومجموعة من المديرين. القيمة الوحيدة الصالحة لهذا الإذن الإجراءات هي "قراءة". |
CredentialClass {PrincipalClass "PrincipalName"}* | لا |
javax.security.auth.kerberos.ServicePermission يجب حماية خدمات Kerberos وبيانات الاعتماد اللازمة للوصول إلى هذه الخدمات. |
البدء | لا |
قبول | لا | |
javax.security.auth.kerberos.DelegationPermission يتم استخدامه لتقييد استخدام نموذج تفويض Kerberos. بمعنى آخر، قابل لإعادة التوجيه وقابل للتوجيه التذاكر. يُحدِّد الاسم الهدف لهذا الإذن زوجًا من أساسيات خدمة kerberos. تشير رسالة الأشكال البيانية الأول هو مدير الخدمة التابع الذي يتم تكليفه باستخدام نظام منح التذاكر تذكرة (TGT). يعين مدير الخدمة الثاني الخدمة المستهدفة التابعة للشركة التابعة هو التفاعل معه نيابةً عن مدير KerberosPrincipal الافتتاحي. |
البدء | لا |
قبول | لا | |
javax.security.auth.AuthPermission يُستخدم كائن AuthPermission حاليًا لحماية الوصول إلى الموضوع، كائنات SubjectDomainIntegrationr وLoginContext وConfiguration. |
doAs | لا |
doAsPrivileged | لا | |
الحصول على موضوع | لا | |
getSubjectFromDomainCombiner | لا | |
setReadOnly | لا | |
modifyPrincipals | لا | |
modifyPublicCredentials | لا | |
modifyPrivateCredentials | لا | |
refreshCredential | لا | |
destroyCredential | لا | |
createLoginContext.{name} | لا | |
getLoginConfiguration | لا | |
setLoginConfiguration | لا | |
createLoginConfiguration.{configuration type} | لا | |
refreshLoginConfiguration | لا | |
javax.net.ssl.SSLPermission |
setHostnameVerifier | لا |
getSSLSessionContext | لا | |
setDefaultSSLContext | لا | |
javax.management.MBeanPermission إذن التحكم في الوصول إلى عمليات MBeanServer. في حال ضبط مدير أمان باستخدام System.setSecurityManager(java.lang.SecurityManager)، فمعظم العمليات في تتطلب MBeanServer أن تشير أذونات المتصل إلى MBeanPermission المناسب للعملية. action className#member[objectName] إذا كان لديك MBeanPermission، فلن يسمح بالعمليات إلا إذا كانت العناصر الأربعة جميعها تطابق. |
addNotificationListener | لا |
getAttribute | لا | |
getClassLoader | لا | |
getClassLoaderFor | لا | |
getClassLoaderRepository | لا | |
getDomains | لا | |
getMBeanInfo | لا | |
getObjectInstance | لا | |
إنشاء مثيل | لا | |
استدعاء | لا | |
isInstanceOf | لا | |
queryMBeans | لا | |
queryNames | لا | |
registerMBean | لا | |
removeNotificationListener | لا | |
setAttribute | لا | |
unregisterMBean | لا | |
javax.management.MBeanServerPermission |
createMBeanServer | لا |
findMBeanServer | لا | |
newMBeanServer | لا | |
releaseMBeanServer | لا | |
javax.management.MBeanTrustPermission يمثّل هذا الإذن "الثقة" في موقع أو قاعدة رموز. |
التسجيل | لا |
* | لا | |
javax.management.remote.SubjectDelegationPermission
|
لا |