مرجع مجوز جاوا

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

آنچه باید در مورد سیاست‌های مجوز جاوا بدانید

اگر در حال توسعه سیاست‌های فراخوانی جاوا هستید، باید بدانید که کدام سیاست‌های مجوز در Edge JVM اعمال می‌شوند و چگونه بر کد شما تأثیر می‌گذارند. به عنوان مثال، کد جاوای سفارشی شما دسترسی نامحدود به سیستم فایل ندارد. با این حال، در مورد دسترسی به سیستم فایل، می‌توانید فایل‌های خاصی مانند فایل‌های منبع سیاست را بخوانید. اما اکثر دسترسی‌های دیگر به سیستم فایل مسدود شده‌اند. این مبحث تمام انواع مجوزهای JDK و اهداف یا اقدامات مربوط به آنها را فهرست می‌کند. برای هر هدف یا اقدام، سیاست مجوز و هرگونه استثنائی را که باید در مورد آنها بدانید، مشخص می‌کنیم.

برای کسب اطلاعات بیشتر در مورد انواع مجوزهای JDK و آنچه هر مجوز اجازه می‌دهد، به مجوزهای موجود در کیت توسعه جاوا (JDK) مراجعه کنید.

فعال کردن محدودیت‌های امنیتی

در Edge for Private Cloud، محدودیت‌های امنیتی به طور پیش‌فرض غیرفعال هستند. این بدان معناست که کد جاوای سفارشی شما می‌تواند بدون محدودیت به همه منابع دسترسی داشته باشد. برای فعال کردن محدودیت‌های امنیتی در نصب Edge for Private Cloud، مراحل زیر را دنبال کنید:

  1. در اولین گره پردازشگر پیام، فایل $APIGEE_ROOT/customer/application/message-processor.properties را در یک ویرایشگر باز کنید. اگر فایل وجود ندارد، آن را ایجاد کنید.
  2. خط زیر را به فایل اضافه کنید:
    conf_security-policy_enable.security.manager=true
  3. Save the file and ensure the file is owned by the apigee user:
    chown apigee:apigee $APIGEE_ROOT/customer/application/message-processor.properties
  4. پردازشگر پیام را مجدداً راه‌اندازی کنید:
    apigee-service message-processor restart
  5. این مراحل را روی تمام پردازنده‌های پیام باقی‌مانده تکرار کنید.
نوع مجوز نام هدف یا اقدام مجوز اعطا شد
مجوز java.awt.AWTPermission
دسترسی به کلیپ‌بورد خیر
صف رویداد دسترسی خیر
سینی سیستم دسترسی خیر
ایجاد ربات خیر
تمام صفحهاختصاصی خیر
listenToAllAWTEvents خیر
readDisplayPixels خیر
جایگزین کردنKeyboardFocusManager خیر
setAppletStub خیر
تنظیم WindowsAlwaysOnTop خیر
نمایش پنجره بدون هشدار بنر خیر
جعبه ابزار خیر
watchMousePointer خیر
مجوز فایل java.io

یک java.io.FilePermission نشان دهنده دسترسی به یک فایل یا دایرکتوری است. یک FilePermission شامل یک نام مسیر و مجموعه‌ای از اقدامات معتبر برای آن نام مسیر است.
خواندن بله، اما محدودیت‌هایی اعمال می‌شود. به بخش محدودیت‌ها مراجعه کنید.
بنویس خیر
اجرا کردن خیر
حذف خیر
لینک خوانده شده بله
java.io.SerializablePermission

یک SerializablePermission شامل یک نام (که به آن "نام هدف" نیز گفته می‌شود) است اما هیچ فهرستی از اقدامات ندارد؛ شما یا مجوز نامگذاری شده را دارید یا ندارید.
پیاده‌سازی enableSubclass بله
فعال‌سازی جایگزینی خیر
مجوز مدیریت زبان جاوا

متدهای تعریف‌شده در رابط مدیریتی برای پلتفرم جاوا
کنترل خیر
مانیتور خیر
مجوز java.lang.reflect.Reflect

برای عملیات انعکاسی. یک ReflectPermission یک مجوز نامگذاری شده است و هیچ عملی ندارد.
بررسی‌های دسترسی سرکوب‌شده خیر
‎newProxyInPackage.{نام بسته}‎ خیر
مجوز زمان اجرا در جاوا

شامل یک نام است (که به آن «نام هدف» نیز گفته می‌شود) اما فهرستی از اقدامات ندارد؛ شما یا مجوز نام‌گذاری شده را دارید یا ندارید.
ایجادکلاس لودر خیر
دریافت کلاس لودر بله
setContextClassLoader بله
enableContextClassLoaderOverride بله
بستن کلاس لودر خیر
مدیر امنیت تنظیم‌شده خیر
ایجادمدیرامنیتی خیر
getenv.{نام متغیر} خیر
exitVM.{وضعیت خروج} خیر
خاموش کردن قلاب‌ها خیر
کارخانه تنظیم‌شده خیر
تنظیمIO خیر
modifyThread بله
stopThread بله
گروه اصلاح موضوع بله
دامنه‌ی محافظت‌شده‌ی دریافت‌شده بله
ویژگی‌های سیستم فایل (getFileSystemAttributes) خیر
توصیفگر فایل خوانده شده بله
توصیفگر فایل بنویس خیر
بارگذاری کتابخانه.{نام کتابخانه} خیر
accessClassInPackage.{نام بسته} بله
defineClassInPackage.{نام بسته} خیر
اعضای اعلام‌شده خیر
صف چاپ خیر
دریافت پشته ردیابی خیر
setDefaultUncaughtExceptionHandler خیر
ترجیحات خیر
سیاست استفاده خیر
java.net.NetPermission

یک NetPermission شامل یک نام است اما فهرستی از اقدامات ندارد؛ شما یا مجوز نامگذاری شده را دارید یا ندارید.
تنظیم‌کننده‌ی اعتبارسنجی پیش‌فرض خیر
درخواسترمز عبوراحراز هویت خیر
مشخص‌کننده‌ی StreamHandler بله
انتخابگر پروکسی تنظیم‌شده خیر
انتخابگر پروکسی خیر
setCookieHandler خیر
دریافت کوکی هندلر خیر
تنظیم پاسخ کش خیر
دریافت پاسخ کش خیر
دریافت اطلاعات شبکه خیر
java.net.SocketPermission

دسترسی به شبکه از طریق سوکت‌ها را نشان می‌دهد. یک SocketPermission شامل مشخصات میزبان و مجموعه‌ای از «اقدامات» است که روش‌های اتصال به آن میزبان را مشخص می‌کنند.
میزبان = (نام میزبان | آدرس IP)[:portrange]
portrange = شماره پورت | -شماره پورت | شماره پورت-[شماره پورت]

راه‌های ممکن برای اتصال به میزبان عبارتند از

پذیرفتن
اتصال
گوش دادن
حل و فصل

عمل "listen" فقط زمانی معنی‌دار است که با "localhost" استفاده شود. عمل "resolve" (جستجوی نام میزبان/IP در سرویس حل مسئله) زمانی که هر یک از اقدامات دیگر وجود داشته باشند، به طور ضمنی اعمال می‌شود.
حل و فصل بله
اتصال

بله، اما محدودیت‌هایی اعمال می‌شود. به بخش محدودیت‌ها مراجعه کنید.

Apigee دسترسی به آدرس‌های sitelocal، anylocal، loopback و linklocal را محدود می‌کند.

گوش کن،
پذیرفتن
خیر
مجوز java.net.URL

نشان دهنده مجوز دسترسی به یک منبع یا مجموعه‌ای از منابع است که توسط یک url مشخص و برای مجموعه‌ای مشخص از متدهای درخواست و هدرهای درخواست قابل تنظیم توسط کاربر تعریف شده است. نام مجوز، رشته url است. رشته actions مجموعه‌ای از متدها و هدرهای درخواست است. محدوده نام متدها و هدرها توسط این کلاس محدود نمی‌شود.
بله
مجوز لینک

کلاس Permission برای عملیات ایجاد لینک.
سخت خیر
نمادین خیر
مجوز امنیتی جاوا

یک SecurityPermission شامل یک نام (که به آن "نام هدف" نیز گفته می‌شود) است اما هیچ فهرستی از اقدامات ندارد؛ شما یا مجوز نامگذاری شده را دارید یا ندارید.
نام هدف، نام یک پارامتر پیکربندی امنیتی است (به پایین مراجعه کنید). در حال حاضر، شیء SecurityPermission برای محافظت از دسترسی به اشیاء Policy، Security، Provider، Signer و Identity استفاده می‌شود.
ایجادکنترل‌دسترسی‌زمینه خیر
دریافت دامنه ترکیبی خیر
دریافت سیاست خیر
تنظیم سیاست خیر
createPolicy.{نوع سیاست} خیر
getProperty.{key} خیر
setProperty.{key} خیر
ارائه دهنده درج خیر
removeProvider.{نام ارائه دهنده} خیر
clearProviderProperties.{نام ارائه دهنده} خیر
putProviderProperty.{نام ارائه دهنده} خیر
removeProviderProperty.{providername} خیر
مجوزهای SQL تنظیم ورود خیر
لغو تماس خیر
تنظیم همگام‌سازی کارخانه‌ای خیر
تنظیم زمان شبکه خیر
راننده را از ثبت خارج کنید خیر
مجوز ثبت وقایع در جاوا (java.util.logging.LoggingPermission)

یک SecurityManager شیء java.util.logging.LoggingPermission را بررسی می‌کند، زمانی که کدی که با SecurityManager اجرا می‌شود، یکی از متدهای کنترل ثبت وقایع (مانند Logger.setLevel) را فراخوانی کند.
کنترل خیر
مجوز ویژگی java.util.property
نام، نام ویژگی ("java.home"، "os.name" و غیره) است. قرارداد نامگذاری از قرارداد نامگذاری سلسله مراتبی ویژگی پیروی می‌کند. همچنین، ممکن است یک ستاره در انتهای نام، پس از "." یا به تنهایی، برای نشان دادن تطابق wildcard ظاهر شود. به عنوان مثال: "java.*" یا "*" معتبر است، "*java" یا "a*b" معتبر نیست.

اعمالی که باید اعطا شوند، در قالب رشته‌ای حاوی فهرستی از کلمات کلیدی صفر یا بیشتر که با کاما از هم جدا شده‌اند، به سازنده ارسال می‌شوند.
خواندن بله
بنویس خیر
مجوز سرویس وب javax.xml.ws.
انتشارنقطه پایانی خیر
مجوز javax.xml.bind.JAXBPermission مبدل نوع داده (setDatatypeConverter) خیر
مجوز صوتی نمونه‌برداری‌شده‌ی جاوا

دسترسی به منابع سیستم صوتی.
بازی کردن خیر
رکورد خیر
javax.security.auth.PrivateCredentialPermission

محافظت از دسترسی به اعتبارنامه‌های خصوصی متعلق به یک موضوع خاص. موضوع توسط مجموعه‌ای از مدیران نمایش داده می‌شود. نام هدف این مجوز، نام کلاس اعتبارنامه و مجموعه‌ای از مدیران را مشخص می‌کند. تنها مقدار معتبر برای اقدامات این مجوز، "خواندن" است.
کلاس اعتبارنامه {کلاس اصلی "نام اصلی"}* خیر
مجوز سرویس javax.security.auth.kerberos.ServicePermission

از سرویس‌های Kerberos و اعتبارنامه‌های لازم برای دسترسی به این سرویس‌ها محافظت کنید.
آغاز کردن خیر
پذیرفتن خیر
مجوز نمایندگی javax.security.auth.kerberos.DelegationPermission

برای محدود کردن استفاده از مدل واگذاری Kerberos استفاده می‌شود؛ یعنی تیکت‌های قابل ارسال و قابل نزدیکی.

نام هدف این مجوز، یک جفت مدیر سرویس کربروس را مشخص می‌کند. اولین مدیر سرویس فرعی است که به او سپرده شده تا از Ticket Granting Ticket (TGT) استفاده کند. مدیر سرویس دوم، سرویس هدفی را تعیین می‌کند که مدیر سرویس فرعی قرار است از طرف KerberosPrincipal آغازگر با آن تعامل داشته باشد.
آغاز کردن خیر
پذیرفتن خیر
javax.security.auth.AuthPermission

در حال حاضر، شیء AuthPermission برای محافظت از دسترسی به اشیاء Subject، SubjectDomainCombiner، LoginContext و Configuration استفاده می‌شود.
انجام دهید خیر
doAsPrivileged خیر
دریافت موضوع خیر
ترکیب‌کننده‌ی getSubjectFromDomain خیر
فقط خواندنی خیر
اصلاح مدیران خیر
اعتبارنامه‌های عمومی را تغییر دهید خیر
اصلاح اعتبارنامه‌های خصوصی خیر
اعتبارنامه را تازه کنید خیر
اعتبارنامه را نابود کنید خیر
createLoginContext.{name} خیر
پیکربندی getLogin خیر
پیکربندی ورود به سیستم خیر
createLoginConfiguration.{configuration type} خیر
refreshLoginConfiguration خیر
مجوز javax.net.ssl.SSL
تأییدکننده‌ی نام میزبان (setHostnameVerifier) خیر
دریافتSSLSesionContext خیر
setDefaultSSLContext خیر
مدیریت جاواکس.MBeanPermission

مجوز کنترل دسترسی به عملیات MBeanServer. اگر یک مدیر امنیتی با استفاده از System.setSecurityManager(java.lang.SecurityManager) تنظیم شده باشد، اکثر عملیات روی MBeanServer مستلزم آن است که مجوزهای فراخواننده، یک MBeanPermission مناسب برای عملیات را نشان دهند.

نام کلاس اکشن#عضو[نام شیء]

اگر مجوز MBeanPermission داشته باشید، فقط در صورتی اجازه عملیات را می‌دهد که هر چهار مورد مطابقت داشته باشند.
addNotificationListener خیر
دریافت ویژگی خیر
دریافت کلاس لودر خیر
دریافت‌کننده‌ی کلاس‌لودر خیر
getClassLoaderRepository خیر
دریافت دامنه‌ها خیر
اطلاعات دریافت کنید خیر
دریافت شیء نمونه خیر
نمونه‌سازی خیر
فراخواندن خیر
نمونه‌ای از خیر
کوئریMBeans خیر
نام‌های جستجو خیر
ثبت نام کنیدMBean خیر
removeNotificationListener خیر
ویژگی setAttribute خیر
لغو ثبت MBean خیر
javax.management.MBeanServerPermission
ایجادMBeanServer خیر
پیدا کردنMBeanServer خیر
سرور جدید MBean خیر
سرور آزمایشی خیر
مدیریت جاواکس.MBeanTrustPermission

این مجوز نشان‌دهنده‌ی «اعتماد» به یک امضاکننده یا پایگاه کد است.
ثبت نام خیر
* خیر
مدیریت جاواکس. دسترسی نمایندگی از راه دور موضوع
خیر