Android-এর অনুমতি এমন কন্ট্রোল প্রদান করে যা ব্যবহারকারীর সচেতনতা বাড়ায় এবং সংবেদনশীল ডেটাতে
অ্যাপের অ্যাক্সেস সীমিত করে। Android 8.0 এবং তার আগের ভার্সনে অনুমতি কনফিগার করার মধ্যে হোয়াইটলিস্টিং অন্তর্ভুক্ত, যা ছাড়া প্রিভিলেজড অ্যাপ বন্ধ হয়ে যায়, এমনকি সেগুলি priv-app পাথে থাকলেও। Android 9 ও এর পরবর্তী যেকোনও ভার্সনে, কোনও ডিভাইস
যদি এমন অ্যাপ ব্যবহার করার চেষ্টা করে যা সঠিকভাবে হোয়াইটলিস্ট করা হয়নি, তাহলে সেটি বুট হবে না।
Android 10-এ ভূমিকার ধারণা চালু করা হয়েছে, এটি হল সিস্টেমের মধ্যে থাকা একটি অনন্য নাম যা নির্দিষ্ট প্রয়োজনীয়তা ও বিশেষ অধিকারের সাথে যুক্ত। নির্দিষ্ট উদ্দেশ্যে অ্যাপকে অনুমতি দিতে, অ্যাপে ভূমিকা অ্যাসাইন করুন এবং প্ল্যাটফর্ম কনফিগারেশন রিসোর্স ব্যবহার করে ডিফল্ট ভূমিকা কনফিগার করুন।
সম্ভাব্য ক্ষতিকারক অ্যাপ (PHA)-এর বিরুদ্ধে অতিরিক্ত সুরক্ষা উন্নত করে:
- সম্ভাব্য ক্ষতিকারক অ্যাপের আচরণ সম্পর্কে স্বচ্ছতা।
- অ্যাপের আচরণ নিয়ন্ত্রণ করার ক্ষমতা ব্যবহারকারীর হাতে থাকে।
- অনুমতি দ্বারা সুরক্ষিত ব্যক্তিগত ডেটা ব্যবহার করার সময় অ্যাপ ডেভেলপারদের বিচক্ষণতা।
প্যাকেজ ইনস্টল করা ও অনুমতি
Android 9 ও তার আগের ভার্সনে, প্যাকেজ ইনস্টল ও অনুমতি কন্ট্রোল
ফাংশনালিটি PackageInstaller প্যাকেজের
(//packages/apps/PackageInstaller) মধ্যে থাকে। Android 10 ও তার পরের ভার্সনে, অনুমতি কন্ট্রোল ফাংশনালিটি
আলাদা প্যাকেজে থাকে, PermissionController
(//packages/apps/PermissionController)। ছবি ১
থেকে বোঝা যায় যে Android 10-এ দুটি প্যাকেজ কোথায় থাকে।
ছবি ১. Android 10-এ প্যাকেজ ইনস্টল করা এবং অনুমতি নিয়ন্ত্রণ করার কার্যকারিতা
শ্বেতলিস্ট ও অ্যাক্সেস
Android 6.0 ও তার পরবর্তী যেকোনও ভার্সনে, অ্যাপগুলি রানটাইমে বিপজ্জনক অনুমতি অ্যাক্সেস করার অনুরোধ করে। Android 10-এ অ্যাক্টিভিটি রিকগনিশন (AR) রানটাইম পার্মিশন যোগ করা হয়েছে, যা ব্যবহারকারীকে বিপজ্জনক পার্মিশন পরিবর্তন করতে বা অনুমতি দিতে প্রম্পট করে।
Android 8.0-এ আপনাকে /etc/permissions ডিরেক্টরিতে সিস্টেম কনফিগারেশন XML ফাইলে
বিশেষাধিকারপ্রাপ্ত অ্যাপগুলিকে স্পষ্টভাবে অনুমোদিত তালিকায় রাখতে হবে।
Android 9 ও এর পরের যেকোনও ভার্সনে, বিশেষ অনুমতি
হোয়াইটলিস্টেড
থাকতে হবে, তা না হলে ডিভাইস বুট করতে পারবে না।
ইন্টার্নাল API-এর দৃশ্যমানতা সীমিত করতে এবং অ্যাপ যাতে ভুলবশত প্ল্যাটফর্ম লাইব্রেরি অ্যাক্সেস না করে, তার জন্য Android 7.0-এ নেটিভ লাইব্রেরির জন্য নেমস্পেস চালু করা হয়েছে। এটি সিস্টেম লাইব্রেরিকে অ্যাপ লাইব্রেরি থেকে আলাদা করে এবং ডিভাইস প্রস্তুতকারকরা তাদের নিজস্ব নেটিভ লাইব্রেরি যোগ করতে পারেন।
Android 10 থেকে শুরু করে, অ্যাপের কাছে ডিভাইসের স্ক্রিন কন্টেন্ট অ্যাক্সেস করার জন্য স্বাক্ষর সংক্রান্ত অনুমতি এবং ব্যবহারকারীর সম্মতি, দুটিই থাকতে হবে। স্ক্রিনশট নেওয়ার মতো সাইলেন্ট ক্যাপচার ফাংশনের উপর নির্ভর করে এমন বিশেষ সুবিধা প্রাপ্ত অ্যাপের পরিবর্তে MediaProjection ক্লাস ব্যবহার করা উচিত।
Android 15-এ আপনাকে স্পষ্টভাবে
অনুমতি তালিকাভুক্ত
করতে হবে প্ল্যাটফর্মের স্বাক্ষর সংক্রান্ত অনুমতি যা নন-সিস্টেম অ্যাপের মাধ্যমে অনুরোধ করা হয় বা সিস্টেম অ্যাপের আপডেটের মাধ্যমে নতুন অনুরোধ করা হয়, /etc/permissions
ডিরেক্টরিতে সিস্টেম কনফিগারেশন XML ফাইলে।
স্বচ্ছতা ও গোপনীয়তা
Android 6.0 ও তার পরবর্তী যেকোনও ভার্সনে, Wi-Fi পরিষেবা প্রদানকারী ও প্যাকেট অ্যানালাইজারদের থেকে ডিভাইসের ফ্যাক্টরি MAC অ্যাড্রেস সুরক্ষিত থাকে। Android 10-এর অতিরিক্ত বিধিনিষেধ অনুযায়ী, ডিভাইসের অপরিবর্তনীয় আইডেন্টিফায়ার (আইডি) অ্যাক্সেস করার ক্ষেত্রে অ্যাপের উপর সীমাবদ্ধতা আরোপ করা হয়, যদি না সেগুলি বিশেষাধিকারের জন্য অনুমোদিত তালিকায় থাকে। ( কানেক্টিভিটি বিভাগে ডিভাইস আইডেন্টিফায়ার সম্পর্কে প্রাসঙ্গিক আলোচনা করা হয়েছে, কারণ এটি পরিষেবা প্রদানকারীকে প্রভাবিত করে।)
Android 9 ও তার আগের যেকোনও ভার্সনে, অ্যাপকে লোকেশন অ্যাক্সেস দেওয়ার সময় ব্যবহারকারীরা স্থায়ী পছন্দ করেন। Android 10 থেকে শুরু করে, তিনটি অবস্থা লোকেশন সংক্রান্ত অনুমতি ফিচার ব্যবহারকারীদের ডিভাইসের লোকেশনে অ্যাপ অ্যাক্সেসের অনুমতি দেওয়ার জন্য তিনটি বিকল্প দেয়। এইসব অনুমতির প্রয়োজনীয়তা টার্গেট SDK নির্বিশেষে Android 10-এ থাকা অ্যাপের ক্ষেত্রে প্রযোজ্য।
Android 10 থেকে শুরু করে অন্যান্য স্বচ্ছতা এবং গোপনীয়তা ফিচারের জন্য অনুমতি কনফিগার করুন
-
ব্যাকগ্রাউন্ড অ্যাক্সেস লোকেশন রিমাইন্ডার ব্যবহারকারীদের তখন দেখানো হয় যখন কোনও অ্যাপ ব্যাকগ্রাউন্ডে
ACCESS_FINE_LOCATIONঅনুমতি ব্যবহার করে তাদের ডিভাইস লোকেশন অ্যাক্সেস করে। - পরিচিতি-সংশ্লিষ্ট ডেটা, যা পরিচিতি প্রদানকারী কম্পোনেন্ট ম্যানেজ করে, সেটি আলাদাভাবে অ্যাক্সেস করা হয়: অ্যাপ, ডেটাবেসে থাকা পরিচিতি সংশ্লিষ্ট ডেটা লিখতে বা পড়তে পারে না। এর ফলে কলার-সম্পর্কিত API প্রভাবিত হয়।
স্ট্রিমলাইন করা কনফিগারেশন
Android 6.0 এবং তার পরবর্তী ভার্সনের জন্য অনুমতি কনফিগারেশন স্ট্রিমলাইন করা হয়েছে।
init-এর মাধ্যমে লঞ্চ করা পরিষেবার জন্য অ্যাম্বিয়েন্ট ক্ষমতা পরিষেবা কনফিগারেশনের সব দিক একটি.rcফাইলে রাখে।init-এর মাধ্যমে লঞ্চ করা হয়নি এমন পরিষেবার জন্য ক্ষমতা সেট করার সময়,fs_config.cব্যবহার করে ফাইল সিস্টেম ক্ষমতা কনফিগার করুন।- Android 7.x ও তার আগের যেকোনও ভার্সন Android ID (AID) মেকানিজমকে আরও উন্নত করে, এর জন্য ডিভাইস-নির্দিষ্ট
android_filesystem_config.hফাইল ব্যবহার করে ফাইল সিস্টেমের ক্ষমতা এবং/অথবা কাস্টম ডিভাইস-প্রস্তুতকারক AID নির্দিষ্ট করা হয়। Android 8.0 ও এর পরবর্তী যেকোনও ভার্সনে ফাইলসিস্টেমের ক্ষমতা বাড়ানোর নতুন পদ্ধতি কাজ করে। - Android 8.0-এ, USB কমান্ড হ্যান্ডেল করা ডিভাইস-নির্দিষ্ট
initস্ক্রিপ্ট (HAL লেয়ারের পরিবর্তে) থেকে সরিয়ে নেটিভ USB ডিমনে নিয়ে যাওয়া হয়েছে। Android 8.0 ও এর পরের যেকোনও ভার্সনে লঞ্চ করা প্রতিটি ডিভাইসে USB HAL ইন্টারফেস অবশ্যই থাকতে হবে।