شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
آنچه باید در مورد سیاستهای مجوز جاوا بدانید
اگر در حال توسعه سیاستهای فراخوانی جاوا هستید، باید بدانید که کدام سیاستهای مجوز در Edge JVM اعمال میشوند و چگونه بر کد شما تأثیر میگذارند. به عنوان مثال، کد جاوای سفارشی شما دسترسی نامحدود به سیستم فایل ندارد. با این حال، در مورد دسترسی به سیستم فایل، میتوانید فایلهای خاصی مانند فایلهای منبع سیاست را بخوانید. اما اکثر دسترسیهای دیگر به سیستم فایل مسدود شدهاند. این مبحث تمام انواع مجوزهای JDK و اهداف یا اقدامات مربوط به آنها را فهرست میکند. برای هر هدف یا اقدام، سیاست مجوز و هرگونه استثنائی را که باید در مورد آنها بدانید، مشخص میکنیم.
برای کسب اطلاعات بیشتر در مورد انواع مجوزهای JDK و آنچه هر مجوز اجازه میدهد، به مجوزهای موجود در کیت توسعه جاوا (JDK) مراجعه کنید.
فعال کردن محدودیتهای امنیتی
در Edge for Private Cloud، محدودیتهای امنیتی به طور پیشفرض غیرفعال هستند. این بدان معناست که کد جاوای سفارشی شما میتواند بدون محدودیت به همه منابع دسترسی داشته باشد. برای فعال کردن محدودیتهای امنیتی در نصب 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
apigeeuser:chown apigee:apigee $APIGEE_ROOT/customer/application/message-processor.properties
- پردازشگر پیام را مجدداً راهاندازی کنید:
apigee-service message-processor restart
- این مراحل را روی تمام پردازندههای پیام باقیمانده تکرار کنید.
| نوع مجوز | نام هدف یا اقدام | مجوز اعطا شد |
| مجوز 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 این مجوز نشاندهندهی «اعتماد» به یک امضاکننده یا پایگاه کد است. | ثبت نام | خیر |
| * | خیر | |
مدیریت جاواکس. دسترسی نمایندگی از راه دور موضوع | خیر |