অ্যান্ড্রয়েড 10 এ এন্টারপ্রাইজের জন্য নতুন কি

এই পৃষ্ঠাটি Android 10 এ প্রবর্তিত নতুন এন্টারপ্রাইজ API, বৈশিষ্ট্য এবং আচরণের পরিবর্তনগুলির একটি ওভারভিউ প্রদান করে।

কোম্পানির মালিকানাধীন ডিভাইসের জন্য কাজের প্রোফাইল

অ্যান্ড্রয়েড 10 কোম্পানির মালিকানাধীন ডিভাইসগুলির জন্য নতুন বিধান এবং প্রত্যয়ন বৈশিষ্ট্যগুলি প্রবর্তন করে যেগুলির জন্য শুধুমাত্র একটি কাজের প্রোফাইল প্রয়োজন৷

কাজের প্রোফাইলের জন্য উন্নত প্রভিশনিং টুল

আপনি QR কোড বা জিরো টাচ ব্যবহার করে নথিভুক্ত Android 10 এবং পরবর্তী ডিভাইসগুলিতে কাজের প্রোফাইলের ব্যবস্থা করতে পারেন৷ একটি কোম্পানির মালিকানাধীন ডিভাইসের ব্যবস্থা করার সময়, একটি নতুন অভিপ্রায় অতিরিক্ত ডিভাইস পলিসি কন্ট্রোলার অ্যাপগুলিকে (ডিপিসি) কাজের প্রোফাইল বা সম্পূর্ণরূপে পরিচালিত সেটআপ শুরু করতে দেয়। একটি কাজের প্রোফাইল তৈরি হওয়ার পরে বা সম্পূর্ণ ব্যবস্থাপনা প্রতিষ্ঠিত হওয়ার পরে, ডিপিসিগুলিকে অবশ্যই কোনও প্রাথমিক নীতি কার্যকর করার জন্য নীতি সম্মতি স্ক্রীন চালু করতে হবে।

আপনার DPC-এর ম্যানিফেস্ট ফাইলে, একটি কার্যকলাপে GET_PROVISIONING_MODE এর জন্য একটি নতুন অভিপ্রায় ফিল্টার ঘোষণা করুন এবং স্বেচ্ছাচারী অ্যাপগুলিকে কার্যকলাপ শুরু করা থেকে বিরত রাখতে BIND_DEVICE_ADMIN অনুমতি যোগ করুন। যেমন:

<activity
    android:name=".GetProvisioningModeActivity"
    android:label="@string/app_name"
    android:permission="android.permission.BIND_DEVICE_ADMIN">
    <intent-filter>
        <action
            android:name="android.app.action.GET_PROVISIONING_MODE" />
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

ব্যবস্থা করার সময়, সিস্টেমটি উদ্দেশ্য ফিল্টারের সাথে যুক্ত কার্যকলাপ চালু করে। এই কার্যকলাপের উদ্দেশ্য হল একটি ম্যানেজমেন্ট মোড (ওয়ার্ক প্রোফাইল বা সম্পূর্ণভাবে পরিচালিত) নির্দিষ্ট করা।

ডিভাইসের জন্য উপযুক্ত ব্যবস্থাপনা মোড নির্ধারণ করার আগে প্রভিশনিং অতিরিক্ত পুনরুদ্ধার করা কার্যকর হতে পারে। নিম্নলিখিতগুলি পুনরুদ্ধার করতে কার্যকলাপটি getIntent() কল করতে পারে:

DPCs একটি নতুন ফলাফলের অভিপ্রায়ও তৈরি করতে পারে এবং এতে নিম্নলিখিত অতিরিক্তগুলি যোগ করতে পারে:

  • EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE : বিদ্যমান বান্ডেলে যোগ করুন বা একটি নতুন বান্ডেল তৈরি করুন৷ যখন আপনার DPC তার নীতি সম্মতি স্ক্রীন চালু করে তখন এই বান্ডেলটি একটি অতিরিক্ত উদ্দেশ্য হিসাবে পাঠানো হয়।
  • EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE : শুধুমাত্র কাজের প্রোফাইল বিধানের অংশ হিসাবে একটি কাজের অ্যাকাউন্ট যোগ করলে মাইগ্রেট করার জন্য একটি অ্যাকাউন্ট নির্দিষ্ট করুন৷
  • EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS

ডিভাইসে ম্যানেজমেন্ট মোড সেট করতে, putExtra(DevicePolicyManager.EXTRA_PROVISIONING_MODE,desiredProvisioningMode) কল করুন, যেখানে desiredProvisioningMode হল:

  • কাজের প্রোফাইল: PROVISIONING_MODE_MANAGED_PROFILE
  • সম্পূর্ণরূপে পরিচালিত: PROVISIONING_MODE_FULLY_MANAGED_DEVICE

setResult(RESULT_OK, Intent) এর মাধ্যমে সেটআপে প্রভিশনিং বিশদ ফেরত পাঠানোর মাধ্যমে কাজের প্রোফাইল বা সম্পূর্ণরূপে পরিচালিত বিধান সম্পূর্ণ করুন এবং finish() সহ সমস্ত সক্রিয় স্ক্রীন বন্ধ করুন।

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

আপনার DPC-এর ম্যানিফেস্ট ফাইলে, একটি কার্যকলাপে ADMIN_POLICY_COMPLIANCE এর জন্য একটি নতুন অভিপ্রায় ফিল্টার ঘোষণা করুন এবং স্বেচ্ছাচারী অ্যাপ্লিকেশানগুলিকে কার্যকলাপ শুরু করা থেকে আটকাতে BIND_DEVICE_ADMIN অনুমতি যোগ করুন৷ যেমন:

<activity
    android:name=".PolicyComplianceActivity"
    android:label="@string/app_name"
    android:permission="android.permission.BIND_DEVICE_ADMIN">
    <intent-filter>
        <action android:name="android.app.action.ADMIN_POLICY_COMPLIANCE" />
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

আপনার DPC অবশ্যই ACTION_PROFILE_PROVISIONING_COMPLETE সম্প্রচার শোনার পরিবর্তে এই নতুন অভিপ্রায় ব্যবহার করবে৷

অভিপ্রায় ফিল্টারের সাথে যুক্ত কার্যকলাপ EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE পুনরুদ্ধার করতে getIntent() কল করতে পারে। নীতি মেনে চলার পরে, ADMIN_POLICY_COMPLIANCE অবশ্যই setResult(RESULT_OK, Intent) ফেরত দিতে হবে এবং finish() সহ সমস্ত সক্রিয় স্ক্রীন বন্ধ করতে হবে।

সম্পূর্ণরূপে পরিচালিত ডিভাইসগুলি ব্যবহারকারীদের হোমস্ক্রীনে ফিরিয়ে দেয়। ওয়ার্ক প্রোফাইল ডিভাইস ব্যবহারকারীদের হোম স্ক্রিনে ফিরে আসার আগে তাদের ব্যক্তিগত অ্যাকাউন্ট যোগ করার জন্য অনুরোধ করে।

ওয়ার্ক-প্রোফাইল ডিভাইস-আইডি প্রত্যয়ন

জিরো-টাচ এনরোলমেন্ট ব্যবহার করে প্রবিধান করা ওয়ার্ক প্রোফাইলের প্রশাসক হিসাবে সেট করা DPCগুলি নিরাপদ-হার্ডওয়্যার-প্রত্যয়িত ডিভাইস আইডি পেতে পারে, যেমন একটি IMEI বা প্রস্তুতকারকের সিরিয়াল নম্বর। ডিভাইসটিতে অবশ্যই সুরক্ষিত হার্ডওয়্যার (যেমন একটি বিশ্বস্ত এক্সিকিউশন এনভায়রনমেন্ট (টিইই) বা সিকিউর এলিমেন্ট (এসই)) এবং ডিভাইস-আইডি প্রত্যয়ন এবং জিরো-টাচ নথিভুক্তি সমর্থন করতে হবে।

একটি কাজের প্রোফাইলের প্রশাসক উপাদান idAttestationFlags আর্গুমেন্টের জন্য একটি বা একাধিক ID_TYPE_SERIAL , ID_TYPE_IMEI , বা ID_TYPE_MEID পাস করে DevicePolicyManager.generateKeyPair() কল করতে পারে৷

ডিভাইস আইডি বের করা এবং যাচাই করা সম্পর্কে আরও জানতে, কী প্রত্যয়ন সহ হার্ডওয়্যার-ব্যাকড কী জোড়া যাচাই করা দেখুন।

কাজের প্রোফাইলের উন্নতি

ক্রস-প্রোফাইল ক্যালেন্ডার দৃশ্যমানতা এবং অজানা উত্স থেকে অ্যাপ ইনস্টলেশনের ডিভাইস-ব্যাপী ব্লকিং সমর্থন করার জন্য নতুন APIগুলি উপলব্ধ।

কাজের প্রোফাইল, ডিভাইস জুড়ে অজানা উৎস

Google Play (বা অন্যান্য বিশ্বস্ত অ্যাপ স্টোর) ব্যতীত অন্য উত্স থেকে ডাউনলোড করা অ্যাপগুলিকে অজানা উত্স থেকে অ্যাপ বলা হয়। Android 10-এ, কাজের প্রোফাইলের প্রশাসকরা DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY নতুন ব্যবহারকারীর বিধিনিষেধ যোগ করার মাধ্যমে ডিভাইসের যেকোনও জায়গায় অজানা উত্স থেকে অ্যাপ ইনস্টল করা থেকে যেকোনো ব্যবহারকারী বা প্রোফাইলকে আটকাতে পারে। এই বিধিনিষেধ যোগ করার পরে, যাইহোক, ডিভাইসটি ব্যবহার করা ব্যক্তি এখনও adb ব্যবহার করে অ্যাপগুলি ইনস্টল করতে পারেন।

ব্যবহারকারীদের ভুলভাবে অজানা উত্স থেকে অ্যাপ ইনস্টল করা থেকে বিরত রাখতে, আমরা এই ব্যবহারকারীর সীমাবদ্ধতা যুক্ত করার পরামর্শ দিই কারণ এটির জন্য Google Play পরিষেবাগুলি ইনস্টল করার প্রয়োজন নেই৷ আপনি যদি পুরানো Android সংস্করণগুলিকে সমর্থন করতে চান তবে আপনি Google Play এর জন্য একটি পরিচালিত কনফিগারেশন মান সেট করতে পারেন৷

অনুমোদিত ইনপুট ডিভাইসগুলিকে কাজের প্রোফাইলে সীমাবদ্ধ করুন

কাজের প্রোফাইলের প্রশাসকরা যখন DevicePolicyManager.setPermittedInputMethods() এ কল করেন, তখন ব্যবহারকারীরা সম্পূর্ণ ডিভাইসের পরিবর্তে শুধুমাত্র তাদের কাজের প্রোফাইলের ভিতরে অনুমোদিত ইনপুট পদ্ধতিতে সীমাবদ্ধ থাকে, ব্যবহারকারীদের তাদের ডিভাইসের ব্যক্তিগত দিকের ইনপুট পদ্ধতির উপর সম্পূর্ণ নিয়ন্ত্রণ দেয়।

নীরবে কাজের প্রোফাইল মুছে দিন

DevicePolicyManager.wipeData()WIPE_SILENTLY পতাকা যোগ করা হয়েছে। পতাকা সেট করা থাকলে, wipeData() ব্যবহার করে তাদের কাজের প্রোফাইল মুছে ফেলার পর ব্যবহারকারীদের জানানো হবে না।

সম্পূর্ণরূপে পরিচালিত ডিভাইসের জন্য নতুন বৈশিষ্ট্য

অ্যান্ড্রয়েড 10 সম্পূর্ণরূপে পরিচালিত ডিভাইসগুলির জন্য নতুন বৈশিষ্ট্য এবং APIগুলি প্রবর্তন করে, যার মধ্যে রয়েছে ম্যানুয়াল সিস্টেম আপডেট, QR-কোড প্রসারিত করা এবং একটি EAP Wi-Fi নেটওয়ার্কের জন্য শংসাপত্রগুলি অন্তর্ভুক্ত করার জন্য NFC বিধান এবং TLS এর মাধ্যমে DNS এর জন্য সমর্থন।

ম্যানুয়াল সিস্টেম আপডেট ইনস্টলেশন

অ্যান্ড্রয়েড 10-এ, সম্পূর্ণরূপে পরিচালিত ডিভাইসগুলির প্রশাসকরা একটি সিস্টেম আপডেট ফাইলের মাধ্যমে সিস্টেম আপডেটগুলি ইনস্টল করতে পারেন। ম্যানুয়াল সিস্টেম আপডেটগুলি আইটি প্রশাসকদের নিম্নলিখিতগুলি করার অনুমতি দেয়:

  • ব্যাপকভাবে ইনস্টল করার আগে অল্প সংখ্যক ডিভাইসে একটি আপডেট পরীক্ষা করুন।
  • ব্যান্ডউইথ-সীমিত নেটওয়ার্কে ডুপ্লিকেট ডাউনলোড এড়িয়ে চলুন।
  • স্ট্যাগার ইনস্টলেশন, বা ডিভাইসগুলি শুধুমাত্র তখনই আপডেট করুন যখন সেগুলি ব্যবহার করা হচ্ছে না।

প্রথমত, একজন আইটি অ্যাডমিন একটি স্থগিত সিস্টেম-আপডেট নীতি সেট করে যাতে স্বয়ংক্রিয় ইনস্টলেশন বিলম্বিত হয় (যদি প্রয়োজন হয়)। এর পরে, একটি ডিভাইসের DPC একটি ডিভাইস প্রস্তুতকারকের সিস্টেম আপডেট ফাইলের পাথ সহ installSystemUpdate() কল করে। একটি InstallSystemUpdateCallback অবজেক্ট পাস করুন যা সিস্টেমটি ডিভাইসটি পুনরায় চালু হওয়ার আগে ঘটে যাওয়া ত্রুটিগুলি রিপোর্ট করতে ব্যবহার করতে পারে৷ যদি কিছু ভুল হয়ে যায়, সিস্টেমটি ত্রুটি কোড সহ onInstallUpdateError() কল করে।

ডিভাইস রিস্টার্ট হওয়ার পর, আপনার DPC-কে Build.FINGERPRINT এর মতো সংস্করণ API ব্যবহার করে সফল ইনস্টলেশন নিশ্চিত করতে হবে। আপডেট ব্যর্থ হলে, একটি IT অ্যাডমিনের কাছে ব্যর্থতার প্রতিবেদন করুন।

EAP Wi-Fi বিধান

অ্যান্ড্রয়েড 10-এ, ডিভাইস প্রভিশনিংয়ের জন্য ব্যবহৃত QR কোড এবং NFC ডেটাতে শংসাপত্র সহ EAP কনফিগারেশন এবং শংসাপত্র থাকতে পারে। যখন একজন ব্যক্তি একটি QR কোড স্ক্যান করে বা একটি NFC ট্যাগ ট্যাপ করে, তখন ডিভাইসটি স্বয়ংক্রিয়ভাবে EAP ব্যবহার করে স্থানীয় Wi-Fi নেটওয়ার্কে প্রমাণীকরণ করে এবং কোনো অতিরিক্ত ম্যানুয়াল ইনপুট ছাড়াই প্রভিশনিং প্রক্রিয়া শুরু করে।

EAP ব্যবহার করে Wi-Fi প্রমাণীকরণ করতে, "EAP" মান সহ একটি EXTRA_PROVISIONING_WIFI_SECURITY_TYPE অতিরিক্ত যোগ করুন৷ EAP প্রমাণীকরণ নির্দিষ্ট করতে, আপনি আপনার অভিপ্রায়ে নিম্নলিখিত প্রভিশনিং অতিরিক্ত যোগ করতে পারেন:

ব্যক্তিগত DNS সমর্থন

অভ্যন্তরীণ হোস্টনাম সহ DNS প্রশ্ন ফাঁস এড়াতে সংস্থাগুলি TLS এর উপর DNS ব্যবহার করতে পারে (যাকে Android ডিভাইসে ব্যক্তিগত DNS বলা হয়)। সম্পূর্ণরূপে পরিচালিত ডিভাইসগুলির অ্যাডমিন উপাদানগুলি ডিভাইসের ব্যক্তিগত DNS সেটিংস নিয়ন্ত্রণ করতে পারে৷ ব্যক্তিগত DNS মোড সেট করতে, কল করুন:

  • setGlobalPrivateDnsModeOpportunistic() ডিভাইসের জন্য ব্যক্তিগত DNS ব্যবহার করার জন্য যখন সিস্টেম একটি সমর্থনকারী নাম সার্ভার আবিষ্কার করতে পারে, অথবা
  • setGlobalPrivateDnsModeSpecifiedHost() একটি নাম সার্ভারের হোস্টনাম নির্দিষ্ট করতে যা privateDnsHost আর্গুমেন্টে RFC7858 সমর্থন করে।

যখন আপনার DPC এই পদ্ধতিগুলির যেকোনো একটিতে কল করে, কলটি সফল হলে সিস্টেমটি PRIVATE_DNS_SET_NO_ERROR প্রদান করে৷ অন্যথায় এটি একটি ত্রুটি ফেরত দেয়।

একটি ডিভাইসে ব্যক্তিগত DNS মোড এবং হোস্ট সেট পুনরুদ্ধার করতে, getGlobalPrivateDnsMode() এবং getGlobalPrivateDnsHost() কল করুন। আপনি DISALLOW_CONFIG_PRIVATE_DNS ব্যবহারকারী সীমাবদ্ধতা যোগ করে ব্যক্তিগত DNS সেটিংস পরিবর্তন করা থেকে ব্যবহারকারীদের আটকাতে পারেন৷

VPN লকডাউন মোড ছাড়

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

লকডাউন মোড থেকে একটি অ্যাপকে ছাড় দিতে, নতুন DevicePolicyManager পদ্ধতি setAlwaysOnVpnPackage() কে কল করুন যা অব্যাহতিপ্রাপ্ত অ্যাপ প্যাকেজের একটি তালিকা গ্রহণ করে। যে কোনো অ্যাপ প্যাকেজ DPC যোগ করে যখন পদ্ধতিটি কল করা হয় তখন ডিভাইসে ইনস্টল করা আবশ্যক। যদি একটি অ্যাপ আনইনস্টল করা হয় এবং পুনরায় ইনস্টল করা হয়, তাহলে অ্যাপটিকে আবার ছাড় দিতে হবে। লকডাউন মোড থেকে পূর্বে অব্যাহতিপ্রাপ্ত অ্যাপগুলি পেতে, getAlwaysOnVpnLockdownWhitelist() কল করুন।

সম্পূর্ণরূপে পরিচালিত ডিভাইস এবং কাজের প্রোফাইলের প্রশাসকদের লকডাউন মোড স্ট্যাটাস পেতে সহায়তা করার জন্য, Android 10 isAlwaysOnVpnLockdownEnabled() পদ্ধতি যোগ করে।

নতুন প্রতিনিধিদের সুযোগ

অ্যান্ড্রয়েড 10 ফাংশনের তালিকা প্রসারিত করে যা একটি DPC অন্যান্য, আরও বিশেষায়িত অ্যাপগুলিতে অর্পণ করতে পারে। অ্যান্ড্রয়েড একটি কাজের জন্য প্রয়োজনীয় API পদ্ধতিগুলিকে স্কোপে গ্রুপ করে। একটি সুযোগ অর্পণ করতে, setDelegatedScopes() এ কল করুন এবং নিম্নলিখিত স্কোপের একটি বা একাধিক পাস করুন:

Android 10 প্রতিনিধি অ্যাপগুলির জন্য নতুন ক্লাস DelegatedAdminReceiver প্রবর্তন করেছে। সিস্টেম এই ব্রডকাস্ট রিসিভার ব্যবহার করে ডিপিসি-এর মতো কলব্যাক অ্যাপগুলিকে অর্পণ করতে পাঠাতে। যে অ্যাপগুলিকে নেটওয়ার্ক অ্যাক্টিভিটি লগিং এবং শংসাপত্র নির্বাচন অর্পণ করা হয়েছে তাদের এই ক্লাসটি বাস্তবায়ন করা উচিত। একটি প্রতিনিধি অ্যাপে এই উপাদানটি যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. প্রতিনিধি অ্যাপে DelegatedAdminReceiver এর একটি সাবক্লাস যোগ করুন।
  2. প্রতিটি কলব্যাকের জন্য একটি উদ্দেশ্য-ফিল্টার অ্যাকশন যোগ করে অ্যাপ ম্যানিফেস্টে <receiver> ঘোষণা করুন। উদাহরণস্বরূপ, ACTION_NETWORK_LOGS_AVAILABLE বা ACTION_CHOOSE_PRIVATE_KEY_ALIAS
  3. BIND_DEVICE_ADMIN অনুমতি দিয়ে সম্প্রচার গ্রহণকারীকে সুরক্ষিত করুন৷

নিম্নলিখিত স্নিপেটটি একটি একক প্রতিনিধি অ্যাপের অ্যাপ ম্যানিফেস্ট দেখায় যা নেটওয়ার্ক লগিং এবং শংসাপত্র নির্বাচন উভয়ই পরিচালনা করে:

<receiver android:name=".app.DelegatedAdminReceiver"
        android:permission="android.permission.BIND_DELEGATED_ADMIN">
    <intent-filter>
        <action android:name="android.app.admin.action.NETWORK_LOGS_AVAILABLE">
        <action android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS">
    </intent-filter>
    </receiver>

নেটওয়ার্ক কার্যকলাপ লগিং

সংস্থাগুলিকে ম্যালওয়্যার সনাক্ত করতে এবং ট্র্যাক করতে সাহায্য করার জন্য, DPCগুলি সিস্টেমের দ্বারা TCP সংযোগ এবং DNS লুকআপগুলি লগ করতে পারে৷ অ্যান্ড্রয়েড 10-এ, সম্পূর্ণরূপে পরিচালিত ডিভাইসের প্রশাসকরা একটি বিশেষ অ্যাপে নেটওয়ার্ক লগিং অর্পণ করতে পারেন।

সিস্টেম একটি ব্যাচ উপলব্ধ করার পরে নেটওয়ার্ক লগগুলি পুনরুদ্ধার করতে, প্রতিনিধি অ্যাপগুলিকে প্রথমে DelegatedAdminReceiver (আগে বর্ণিত) সাবক্লাস করা উচিত। আপনার সাবক্লাসে, লগ পুনরুদ্ধার করার নির্দেশিকা অনুসরণ করে onNetworkLogsAvailable() কলব্যাক বাস্তবায়ন করুন।

প্রতিনিধি অ্যাপগুলি নিম্নলিখিত DevicePolicyManager পদ্ধতিগুলিকে কল করতে পারে ( admin আর্গুমেন্টের জন্য null পাস করা):

লগ হারানো এড়াতে, অন্য অ্যাপে অর্পণ করার পরিকল্পনা করলে DPC-এর নেটওয়ার্ক লগিং সক্ষম করা উচিত নয়। প্রতিনিধি অ্যাপ্লিকেশন সক্রিয় এবং নেটওয়ার্ক লগ সংগ্রহ করা উচিত. একটি DPC নেটওয়ার্ক লগিং অর্পণ করার পরে, এটি onNetworkLogsAvailable() কলব্যাকগুলিতে আর কোন গ্রহণ করবে না।

একটি প্রতিনিধি অ্যাপ থেকে কীভাবে নেটওয়ার্ক কার্যকলাপ লগিং রিপোর্ট করতে হয় তা জানতে, বিকাশকারীর গাইড নেটওয়ার্ক কার্যকলাপ লগিং পড়ুন।

শংসাপত্র নির্বাচন

অ্যান্ড্রয়েড 10-এ, সম্পূর্ণরূপে পরিচালিত ডিভাইসের প্রশাসক , কাজের প্রোফাইল এবং সেকেন্ডারি ব্যবহারকারীরা একটি বিশেষ অ্যাপে শংসাপত্র নির্বাচন অর্পণ করতে পারেন।

একটি শংসাপত্র উপনাম নির্বাচন করতে, প্রতিনিধি অ্যাপগুলিকে প্রথমে DelegatedAdminReceiver (আগে বর্ণিত) সাবক্লাস করা উচিত। আপনার সাবক্লাসে, onChoosePrivateKeyAlias() কলব্যাকটি প্রয়োগ করুন এবং একটি পছন্দের শংসাপত্রের জন্য একটি উপনাম ফেরত দিন বা ব্যবহারকারীকে একটি শংসাপত্র নির্বাচন করতে অনুরোধ করতে, null ফেরত দিন।

ডিভাইস প্রশাসক নীতির অবমূল্যায়ন

Android 10 অ্যাপ্লিকেশান এবং DPCগুলিকে লিগ্যাসি ডিভাইস অ্যাডমিন নীতিগুলি প্রয়োগ করতে বাধা দেয়৷ আমরা গ্রাহকদের এবং অংশীদারদের সম্পূর্ণরূপে পরিচালিত ডিভাইস বা কাজের প্রোফাইলে স্থানান্তরের পরামর্শ দিই। Android 10 টার্গেট করে ডিভাইস প্রশাসকের দ্বারা আহ্বান করা হলে নিম্নলিখিত নীতিগুলি একটি SecurityException নিক্ষেপ করে:

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

এই পরিবর্তনগুলি সম্পর্কে আরও তথ্যের জন্য, ডিভাইস অ্যাডমিন অবচয় পড়ুন।

অ্যাপের জন্য নতুন বৈশিষ্ট্য

Android 10 টার্গেট করা অ্যাপগুলি গোপনীয় ডেটা প্রদর্শন বা সমালোচনামূলক বৈশিষ্ট্যগুলি চালু করার আগে ডিভাইসে সেট করা স্ক্রিন লক জটিলতা সম্পর্কে জিজ্ঞাসা করতে পারে। KeyChain API কল করা অ্যাপগুলি আচরণের উন্নতি থেকে উপকৃত হয়, যখন VPN অ্যাপগুলির জন্য নতুন বৈশিষ্ট্যগুলিও উপলব্ধ।

স্ক্রীন লক মান পরীক্ষা

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

স্ক্রিন লক কোয়ালিটি চেক করতে:

সিস্টেম স্ক্রিন লক সেটিংস চালু করতে, অতিরিক্ত EXTRA_PASSWORD_COMPLEXITY সহ ACTION_SET_NEW_PASSWORD ব্যবহার করুন — অভিপ্রায় অতিরিক্তে নির্দিষ্ট জটিলতা পূরণ করে না এমন বিকল্পগুলি ধূসর হয়ে গেছে৷ ব্যবহারকারীরা উপলব্ধ স্ক্রিন লক বিকল্পগুলি থেকে বেছে নিতে পারেন বা স্ক্রীন থেকে প্রস্থান করতে পারেন৷

সেরা অনুশীলন: সিস্টেম স্ক্রিন লক পৃষ্ঠা চালু করার আগে আপনার অ্যাপে একটি বার্তা প্রদর্শন করুন। আপনার অ্যাপ আবার চালু হলে, DevicePolicyManager.getPasswordComplexity() কে আবার কল করুন। যদি একটি শক্তিশালী স্ক্রিন লক এখনও প্রয়োজন হয়, ব্যবহারকারীদের বারবার তাদের নিরাপত্তা সেটিংস আপডেট করার জন্য অনুরোধ করার পরিবর্তে অ্যাক্সেস সীমাবদ্ধ করুন।

ভিপিএন অ্যাপে HTTP প্রক্সি সমর্থন

Android 10-এ, VPN অ্যাপগুলি তাদের VPN সংযোগের জন্য একটি HTTP প্রক্সি সেট করতে পারে। একটি HTTP প্রক্সি যোগ করতে, একটি VPN অ্যাপকে VpnService.Builder.setHttpProxy() কল করার আগে একটি হোস্ট এবং পোর্টের সাথে একটি ProxyInfo উদাহরণ কনফিগার করতে হবে৷ সিস্টেম এবং অনেক নেটওয়ার্কিং লাইব্রেরি এই প্রক্সি সেটিং ব্যবহার করে কিন্তু সিস্টেম অ্যাপগুলিকে প্রক্সি HTTP অনুরোধ করতে বাধ্য করে না।

নমুনা কোডের জন্য যা দেখায় কিভাবে একটি HTTP প্রক্সি সেট করতে হয়, ToyVPN নমুনা অ্যাপটি দেখুন।

ভিপিএন পরিষেবা মোড

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

VPN অ্যাপগুলি পরিষেবার সাথে সংযোগ স্থাপন এবং স্থানীয় ইন্টারফেস স্থাপন করার পরে নিম্নলিখিত VpnService পদ্ধতিগুলিকে কল করতে পারে:

  • সবসময়-অন ভিপিএন থাকার কারণে সিস্টেমটি পরিষেবা শুরু করেছে কিনা তা খুঁজে বের করতে isAlwaysOn()
  • সিস্টেম VPN ব্যবহার করে না এমন সংযোগগুলি ব্লক করছে কিনা তা খুঁজে বের করতে isLockdownEnabled()

আপনার পরিষেবা চলাকালীন সর্বদা চালু থাকা অবস্থা একই থাকে তবে লকডাউন-মোডের স্থিতি পরিবর্তন হতে পারে।

কীচেন উন্নতি

অ্যান্ড্রয়েড 10 KeyChain এপিআই সম্পর্কিত বেশ কয়েকটি উন্নতি প্রবর্তন করে।

যখন একটি অ্যাপ KeyChain.choosePrivateKeyAlias() কল করে, তখন Android 10 এবং পরবর্তী ডিভাইসগুলি সার্টিফিকেটের তালিকা ফিল্টার করে যা একজন ব্যবহারকারী কলে নির্দিষ্ট করা ইস্যুকারী এবং কী অ্যালগরিদমের উপর ভিত্তি করে বেছে নিতে পারেন।

উদাহরণস্বরূপ, যখন একটি TLS সার্ভার একটি TLS হ্যান্ডশেকের অংশ হিসাবে একটি শংসাপত্র অনুরোধ বার্তা পাঠায় এবং ব্রাউজারটি KeyChain.choosePrivateKeyAlias() কল করে, তখন শংসাপত্র নির্বাচন প্রম্পটে শুধুমাত্র ইস্যুকারী প্যারামিটারের সাথে মেলে এমন বিকল্পগুলি অন্তর্ভুক্ত করে৷ যদি কোনো মিল বিকল্প উপলব্ধ না হয় বা ডিভাইসে কোনো শংসাপত্র ইনস্টল না থাকে, তাহলে নির্বাচন প্রম্পট ব্যবহারকারীর কাছে প্রদর্শিত হবে না।

অতিরিক্তভাবে, কী বা CA শংসাপত্রগুলি আমদানি করার আগে KeyChain এর জন্য আর একটি ডিভাইসের স্ক্রিন লকের প্রয়োজন নেই৷