সফটওয়্যার-ডিফাইন্ড ভেহিকেল (SDV) প্ল্যাটফর্মটি একটি অনুমোদন কাঠামো প্রদান করে, যা OEM-কে কিছু রিসোর্সে নিয়ন্ত্রণমূলক অ্যাক্সেস দেয়।
অ্যান্ড্রয়েডের একটি পারমিশন মডেল রয়েছে, যেখানে প্রতিটি অ্যাপ তার সক্ষমতা বর্ণনা করার জন্য ম্যানিফেস্ট ফাইলে নিজস্ব পারমিশন ঘোষণা করে। এসডিভি (SDV) অথরাইজেশন মডেলটিও একই রকম। এসডিভি সার্ভিস বান্ডেলগুলো তাদের দ্বারা সম্পাদিত হতে পারে এমন কাজগুলো (যেমন—পাবলিশ, সাবস্ক্রাইব, সার্ভ এবং কল) ঘোষণা করার জন্য পারমিশন নির্ধারণ করে।
অনুমতির প্রকারভেদ
নিম্নলিখিত অনুমতি প্রকারগুলি সমর্থিত:
- ক্লায়েন্ট
- সার্ভিসের ধরন এবং চ্যানেল দ্বারা চিহ্নিত একটি RPC ইন্টারফেসের মেথডগুলো কল করার জন্য অনুমোদিত।
- সার্ভার
- সার্ভিসের ধরণ এবং চ্যানেল দ্বারা চিহ্নিত একটি RPC ইন্টারফেস বাস্তবায়ন ও পরিষেবা প্রদানের জন্য অনুমোদিত।
- প্রকাশক
- মেসেজের ধরন এবং টপিক দ্বারা চিহ্নিত একটি ডেটা টপিকে মেসেজ প্রকাশ করার অনুমোদন রয়েছে।
- গ্রাহক
- মেসেজের ধরন এবং টপিক দ্বারা চিহ্নিত একটি ডেটা টপিক থেকে মেসেজ গ্রহণ করার জন্য অনুমোদিত।
অনুমোদন নীতি ফাইল
একটি SDV সার্ভিস বান্ডেলের জন্য SDV কমিউনিকেশন স্ট্যাকের অনুমোদন কনফিগারেশনের ক্ষেত্রে অনুমোদন নীতি ফাইলটিই হলো তথ্যের একমাত্র নির্ভরযোগ্য উৎস।
উদাহরণ
# Allows this SB to register publication of TireStatus type with "left-tire" topic only.
publisher {
message: "com.sdv.TireStatus"
topic: "left-tire"
}
# Allows this SB to subscribe to publication of TireStatus type with "left-tire" topic only.
subscriber {
message: "com.sdv.TireStatus"
topic: "left-tire"
}
# Allows this SB to implement and serve UserPreferencesManager service.
server {
service: "com.sdv.UserPreferencesManager"
channel: "default"
}
# Allows this SB to discover and call UserPreferencesManager service.
client {
service: "com.sdv.UserPreferencesManager"
channel: "default"
}
একটি নির্দিষ্ট অনুমোদন নীতি ফাইল কোন পরিষেবার অন্তর্গত তা নির্ধারণ করতে ডেপ্লয়মেন্ট দেখুন। প্রোটো স্কিমা সম্পর্কে আরও তথ্যের জন্য, অনুমোদন নীতি দেখুন।
ভিএম-স্তরের অনুমতি
মেশ নেটওয়ার্কে থাকা বিভিন্ন ভিএম-এর মধ্যে যোগাযোগের জন্য অনুমোদন নীতি নির্ধারণ করে ভিএম-লেভেল পারমিশন। এর ফলে, কোনো একটি ভিএম হ্যাক হলে একটি গভীর নিরাপত্তা ব্যবস্থা নিশ্চিত হয়। আরও তথ্যের জন্য, ভিএম-লেভেল পারমিশন দেখুন।
মেশ নেটওয়ার্ক
সার্ভিস ডিসকভারি আর্কিটেকচারটি এমনভাবে সেট আপ করা হয়েছে যাতে মেশ নেটওয়ার্কের ভিএমগুলোর মধ্যে সমস্ত অথরাইজেশন পলিসি শেয়ার করা হয়। এর জন্য ব্যবহারকারীর কোনো হস্তক্ষেপের প্রয়োজন নেই।
সার্ভিস ডিসকভারি একটি রিমোট ভিএম-এ সার্ভিস ইউনিটগুলি খুঁজে বের করার জন্য লোকাল ক্যাশে লুকআপ করে। সার্ভিস ডিসকভারি কলার আবিষ্কৃত সার্ভিস ইউনিটগুলির জন্য অনুমোদিত কিনা তা যাচাই করার জন্য সমস্ত অনুমোদন নীতি ভিএমগুলির মধ্যে শেয়ার করা হয়।
মেশ নেটওয়ার্কের প্রতিটি নোড অন্য সব নোড থেকে অনুমোদন নীতিসমূহ ক্যাশ করে রাখে। যখন একটি নতুন নোড যুক্ত করা হয়, তখন তার অনুমোদন নীতিসমূহ অন্য প্রতিটি নোডে প্রতিলিপি করা হয়। যদি কোনো নোডের সংযোগ বিচ্ছিন্ন হয়ে যায়, যেমন রিবুট বা ক্র্যাশের সময়, তাহলে সেই নোডের সমস্ত ক্যাশ করা অনুমোদন নীতি মুছে ফেলা হয়।