জাভা অনুমতি রেফারেন্স

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

জাভা পারমিশন পলিসি সম্পর্কে আপনার যা জানা প্রয়োজন

আপনি যদি জাভা কলআউট পলিসি তৈরি করেন, তাহলে আপনাকে জানতে হবে এজ জেভিএম-এ কোন পারমিশন পলিসিগুলো কার্যকর আছে এবং সেগুলো আপনার কোডকে কীভাবে প্রভাবিত করবে। উদাহরণস্বরূপ, আপনার কাস্টম জাভা কোডের ফাইল সিস্টেমে সীমাহীন অ্যাক্সেস নেই। তবে, ফাইল সিস্টেম অ্যাক্সেসের ক্ষেত্রে, আপনি পলিসি রিসোর্স ফাইলের মতো নির্দিষ্ট কিছু ফাইল পড়তে পারেন। কিন্তু ফাইল সিস্টেমের অন্য বেশিরভাগ অ্যাক্সেস ব্লক করা থাকে। এই টপিকে জেডিকে-এর সমস্ত পারমিশন টাইপ এবং তাদের নিজ নিজ টার্গেট বা অ্যাকশন তালিকাভুক্ত করা হয়েছে। প্রতিটি টার্গেট বা অ্যাকশনের জন্য, আমরা পারমিশন পলিসি এবং আপনার জানার প্রয়োজন এমন যেকোনো ব্যতিক্রম উল্লেখ করেছি।

JDK পারমিশনের প্রকারভেদ এবং প্রতিটি পারমিশন কী কাজ করে সে সম্পর্কে আরও জানতে, Java Development Kit (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 না
রিপ্লেসকিবোর্ডফোকাসম্যানেজার না
সেটঅ্যাপলেটস্টাব না
setWindowsAlwaysOnTop না
সতর্কীকরণ ব্যানার ছাড়া উইন্ডো দেখান না
টুলকিট মোডালিটি না
ওয়াচমাউসপয়েন্টার না
java.io.FilePermission

একটি java.io.FilePermission কোনো ফাইল বা ডিরেক্টরিতে প্রবেশাধিকার বোঝায়। একটি FilePermission-এ একটি পাথনেম এবং সেই পাথনেমের জন্য বৈধ একগুচ্ছ অ্যাকশন থাকে।
পড়ুন হ্যাঁ, তবে কিছু বিধিনিষেধ প্রযোজ্য। বিধিনিষেধ দেখুন।
লিখুন না
কার্যকর করা না
মুছে ফেলুন না
রিডলিঙ্ক হ্যাঁ
java.io.SerializablePermission

একটি SerializablePermission-এ একটি নাম (যাকে "টার্গেট নেম"ও বলা হয়) থাকে, কিন্তু কোনো অ্যাকশন তালিকা থাকে না; আপনার হয় নির্দিষ্ট নামের পারমিশনটি থাকে, অথবা থাকে না।
সাবক্লাস বাস্তবায়ন সক্ষম করুন হ্যাঁ
প্রতিস্থাপন সক্ষম করুন না
java.lang.management.ManagementPermission

জাভা প্ল্যাটফর্মের জন্য ম্যানেজমেন্ট ইন্টারফেসে সংজ্ঞায়িত পদ্ধতিগুলি
নিয়ন্ত্রণ না
মনিটর না
java.lang.reflect.ReflectPermission

রিফ্লেক্টিভ অপারেশনের জন্য। একটি ReflectPermission হলো একটি নামযুক্ত পারমিশন এবং এর কোনো অ্যাকশন নেই।
অ্যাক্সেস চেক দমন করুন না
newProxyInPackage.{প্যাকেজের নাম} না
java.lang.RuntimePermission

এতে একটি নাম (যাকে 'টার্গেট নেম'ও বলা হয়) থাকে, কিন্তু কোনো অ্যাকশন তালিকা থাকে না; আপনার হয় নির্দিষ্ট নামের পারমিশনটি আছে, অথবা নেই।
createClassLoader না
getClassLoader হ্যাঁ
setContextClassLoader হ্যাঁ
enableContextClassLoaderOverride হ্যাঁ
closeClassLoader না
নিরাপত্তা ব্যবস্থাপক সেট করুন না
নিরাপত্তা ব্যবস্থাপক তৈরি করুন না
getenv.{ভেরিয়েবলের নাম} না
exitVM.{প্রস্থান স্থিতি} না
শাটডাউনহুকস না
সেটফ্যাক্টরি না
setIO না
থ্রেড পরিবর্তন করুন হ্যাঁ
থ্রেড বন্ধ করুন হ্যাঁ
থ্রেড গ্রুপ পরিবর্তন করুন হ্যাঁ
getProtectionDomain হ্যাঁ
ফাইলসিস্টেম অ্যাট্রিবিউট পান না
readFileDescriptor হ্যাঁ
ফাইল বর্ণনাকারী লিখুন না
লোডলাইব্রেরি.{লাইব্রেরির নাম} না
প্যাকেজে অ্যাক্সেস ক্লাস। {প্যাকেজের নাম} হ্যাঁ
defineClassInPackage. {প্যাকেজের নাম} না
অ্যাক্সেস ডিক্লেয়ার্ড মেম্বারস না
কিউপ্রিন্টজব না
স্ট্যাক ট্রেস পান না
setDefaultUncaughtExceptionHandler না
পছন্দ না
ব্যবহার নীতি না
java.net.NetPermission

একটি নেটপারমিশনে একটি নাম থাকে কিন্তু কোনো অ্যাকশন তালিকা থাকে না; আপনার হয় সেই নির্দিষ্ট পারমিশনটি থাকে, অথবা থাকে না।
ডিফল্ট প্রমাণীকরণ সেট করুন না
পাসওয়ার্ড প্রমাণীকরণের অনুরোধ না
স্ট্রিমহ্যান্ডলার নির্দিষ্ট করুন হ্যাঁ
সেটপ্রক্সি সিলেক্টর না
getProxySelector না
কুকি হ্যান্ডলার সেট করুন না
কুকি হ্যান্ডলার পান না
রেসপন্সক্যাশ সেট করুন না
getResponseCache না
নেটওয়ার্ক তথ্য পান না
java.net.SocketPermission

সকেটের মাধ্যমে কোনো নেটওয়ার্কে প্রবেশের সুযোগকে বোঝায়। একটি সকেটপারমিশন একটি হোস্ট স্পেসিফিকেশন এবং সেই হোস্টে সংযোগ করার উপায়গুলো নির্দিষ্ট করে এমন এক সেট 'অ্যাকশন' নিয়ে গঠিত।
হোস্ট = (হোস্টনাম | আইপি ঠিকানা)[:পোর্টরেঞ্জ]
পোর্টরেঞ্জ = পোর্ট নম্বর | -পোর্ট নম্বর | পোর্ট নম্বর-[পোর্ট নম্বর]

হোস্টের সাথে সংযোগ করার সম্ভাব্য উপায়গুলো হলো

গ্রহণ করুন
সংযোগ করুন
শুনুন
সংকল্প

'listen' অ্যাকশনটি শুধুমাত্র 'localhost'-এর সাথে ব্যবহৃত হলেই অর্থবহ হয়। অন্য কোনো অ্যাকশন উপস্থিত থাকলে 'resolve' (হোস্ট/আইপি নেম সার্ভিস লুকআপ সমাধান করা) অ্যাকশনটি স্বয়ংক্রিয়ভাবে সম্পন্ন হয়।
সংকল্প হ্যাঁ
সংযোগ করুন

হ্যাঁ, তবে কিছু বিধিনিষেধ প্রযোজ্য। বিধিনিষেধ দেখুন।

Apigee সাইটলোকাল, অ্যানিলোকাল, লুপব্যাক এবং লিঙ্কলোকাল অ্যাড্রেসগুলিতে অ্যাক্সেস সীমাবদ্ধ করে।

শোনো,
গ্রহণ করুন
না
java.net.URLPermission

এটি একটি নির্দিষ্ট ইউআরএল দ্বারা সংজ্ঞায়িত কোনো রিসোর্স বা রিসোর্সসমূহের সেট এবং ব্যবহারকারী-নির্ধারিত অনুরোধ পদ্ধতি ও অনুরোধ হেডারের একটি নির্দিষ্ট সেট অ্যাক্সেস করার অনুমতি প্রদান করে। অনুমতির নামটি হলো ইউআরএল স্ট্রিং। অ্যাকশন স্ট্রিংটি হলো অনুরোধ পদ্ধতি এবং হেডারগুলোর একটি সংযুক্তি। এই ক্লাস দ্বারা পদ্ধতি এবং হেডারের নামের পরিসর সীমাবদ্ধ নয়।
হ্যাঁ
লিঙ্ক অনুমতি

লিঙ্ক তৈরির কার্যক্রমের জন্য পারমিশন ক্লাস।
কঠিন না
প্রতীকী না
java.security.SecurityPermission

একটি SecurityPermission-এ একটি নাম (যাকে "টার্গেট নেম"ও বলা হয়) থাকে, কিন্তু কোনো অ্যাকশন তালিকা থাকে না; আপনার হয় নির্দিষ্ট নামের পারমিশনটি থাকে, অথবা থাকে না।
টার্গেট নামটি একটি নিরাপত্তা কনফিগারেশন প্যারামিটারের নাম (নিচে দেখুন)। বর্তমানে SecurityPermission অবজেক্টটি Policy, Security, Provider, Signer, এবং Identity অবজেক্টগুলিতে অ্যাক্সেস সুরক্ষিত করতে ব্যবহৃত হয়।
অ্যাক্সেস কন্ট্রোল কনটেক্সট তৈরি করুন না
getDomainCombiner না
নীতি পান না
নীতি নির্ধারণ করুন না
নীতি তৈরি করুন।{নীতির ধরণ} না
getProperty.{key} না
setProperty.{key} না
ইনসার্টপ্রোভাইডার না
removeProvider.{প্রোভাইডারের নাম} না
clearProviderProperties.{প্রোভাইডারের নাম} না
putProviderProperty.{প্রোভাইডারের নাম} না
removeProviderProperty.{প্রোভাইডারের নাম} না
SQLঅনুমতি সেটলগ না
কল বাতিল করুন না
setSyncFactory না
setNetworkTimeout না
ড্রাইভার নিবন্ধন বাতিল করুন না
java.util.logging.LoggingPermission

যখন কোনো SecurityManager-এর সাথে চলমান কোড লগিং নিয়ন্ত্রণের কোনো একটি মেথড (যেমন Logger.setLevel) কল করে, তখন SecurityManager-টি java.util.logging.LoggingPermission অবজেক্টটি যাচাই করে।
নিয়ন্ত্রণ না
java.util.PropertyPermission
নামটি হলো প্রপার্টির নাম ("java.home", "os.name", ইত্যাদি)। নামকরণের রীতিটি হায়ারারকিক্যাল প্রপার্টি নামকরণের রীতি অনুসরণ করে। এছাড়াও, ওয়াইল্ডকার্ড ম্যাচ বোঝানোর জন্য নামের শেষে, একটি "." এর পরে, অথবা একাই একটি অ্যাস্টারিস্ক (*) থাকতে পারে। উদাহরণস্বরূপ: "java.*" বা "*" বৈধ, কিন্তু "*java" বা "a*b" বৈধ নয়।

যে কাজগুলো সম্পন্ন করতে হবে, সেগুলো শূন্য বা তার বেশি কমা-দ্বারা-বিভক্ত কীওয়ার্ডের একটি তালিকা সম্বলিত একটি স্ট্রিং আকারে কনস্ট্রাক্টরে পাঠানো হয়।
পড়ুন হ্যাঁ
লিখুন না
javax.xml.ws.WebServicePermission
প্রকাশ করুন এন্ডপয়েন্ট না
javax.xml.bind.JAXBPermission setDatatypeConverter না
javax.sound.sampled.AudioPermission

অডিও সিস্টেমের রিসোর্সসমূহে প্রবেশাধিকার।
খেলা না
রেকর্ড না
javax.security.auth.PrivateCredentialPermission

কোনো নির্দিষ্ট সাবজেক্টের ব্যক্তিগত ক্রেডেনশিয়ালগুলিতে অ্যাক্সেস সুরক্ষিত করুন। সাবজেক্টটি প্রিন্সিপালদের একটি সেট দ্বারা প্রতিনিধিত্ব করা হয়। এই পারমিশনের টার্গেট নামটি একটি ক্রেডেনশিয়াল ক্লাস নেম এবং প্রিন্সিপালদের একটি সেট নির্দিষ্ট করে। এই পারমিশনের অ্যাকশনগুলির জন্য একমাত্র বৈধ মান হলো, "রিড"।
ক্রেডেনশিয়ালক্লাস {প্রিন্সিপালক্লাস "প্রিন্সিপালনেম"}* না
javax.security.auth.kerberos.ServicePermission

কেরবেরোস পরিষেবা এবং সেই পরিষেবাগুলিতে প্রবেশের জন্য প্রয়োজনীয় পরিচয়পত্র সুরক্ষিত রাখুন।
শুরু করা না
গ্রহণ করুন না
javax.security.auth.kerberos.DelegationPermission

কেরবেরোস ডেলিগেশন মডেলের ব্যবহার সীমিত করতে ব্যবহৃত হয়; অর্থাৎ, ফরওয়ার্ডযোগ্য এবং প্রক্সিযোগ্য টিকেট।

এই অনুমতির টার্গেট নামটি একজোড়া কেরবেরোস সার্ভিস প্রিন্সিপালকে নির্দিষ্ট করে। প্রথমটি হলো অধস্তন সার্ভিস প্রিন্সিপাল, যাকে টিকেট গ্রান্টিং টিকেট (TGT) ব্যবহারের দায়িত্ব দেওয়া হয়েছে। দ্বিতীয় সার্ভিস প্রিন্সিপালটি সেই টার্গেট সার্ভিসকে নির্দেশ করে, যার সাথে অধস্তন সার্ভিস প্রিন্সিপালটি সূচনাকারী কেরবেরোস প্রিন্সিপালের পক্ষ থেকে যোগাযোগ করবে।
শুরু করা না
গ্রহণ করুন না
javax.security.auth.AuthPermission

বর্তমানে Subject, SubjectDomainCombiner, LoginContext এবং Configuration অবজেক্টগুলোতে অ্যাক্সেস সুরক্ষিত করতে AuthPermission অবজেক্টটি ব্যবহৃত হয়।
doAs না
doAsPrivileged না
বিষয় পান না
getSubjectFromDomainCombiner না
শুধুমাত্র পঠনযোগ্য সেট করুন না
নীতি পরিবর্তন করুন না
পাবলিক ক্রেডেনশিয়াল পরিবর্তন করুন না
ব্যক্তিগত পরিচয়পত্র পরিবর্তন করুন না
ক্রেডেনশিয়াল রিফ্রেশ করুন না
ক্রেডেনশিয়াল ধ্বংস করুন না
createLoginContext.{name} না
লগইন কনফিগারেশন পান না
লগইন কনফিগারেশন সেট করুন না
createLoginConfiguration.{কনফিগারেশন প্রকার} না
লগইন কনফিগারেশন রিফ্রেশ করুন না
javax.net.ssl.SSLPermission
হোস্টনাম যাচাইকারী সেট করুন না
getSSLSessionContext না
ডিফল্টএসএসএলকনটেক্সট সেট করুন না
javax.management.MBeanPermission

MBeanServer অপারেশনগুলিতে অ্যাক্সেস নিয়ন্ত্রণের জন্য অনুমতি। যদি System.setSecurityManager(java.lang.SecurityManager) ব্যবহার করে কোনো সিকিউরিটি ম্যানেজার সেট করা হয়ে থাকে, তাহলে MBeanServer-এর বেশিরভাগ অপারেশনের জন্য কলারের অনুমতিতে অপারেশনটির জন্য উপযুক্ত একটি MBeanPermission থাকা আবশ্যক।

অ্যাকশন ক্লাসনেম#সদস্য[অবজেক্টনেম]

আপনার যদি একটি MBeanPermission থাকে, তবে চারটি আইটেমই মিলে গেলেই কেবল অপারেশন করার অনুমতি দেওয়া হয়।
অ্যাডনোটিফিকেশনলিসেনার না
getAttribute না
getClassLoader না
getClassLoaderFor না
getClassLoaderRepository না
getDomains না
getMBeanInfo না
getObjectInstance না
ইনস্ট্যানশিয়েট না
আহ্বান করুন না
isInstanceOf না
queryMBeans না
কোয়েরি নাম না
রেজিস্টারএমবিন না
রিমুভনোটিফিকেশনলিসেনার না
সেটঅ্যাট্রিবিউট না
এমবিন নিবন্ধন করুন না
javax.management.MBeanServerPermission
createMBeanServer না
findMBeanServer না
নতুন এমবিন সার্ভার না
রিলিজএমবিনসার্ভার না
javax.management.MBeanTrustPermission

এই অনুমতিটি কোনো স্বাক্ষরকারী বা কোডবেসের প্রতি 'বিশ্বাস' প্রকাশ করে।
নিবন্ধন করুন না
* না
javax.management.remote.SubjectDelegationPermission
না