এই ব্লগটি Oracle® E-Business Suite® (EBS) R12 পরিবেশে স্বচ্ছ ডেটা এনক্রিপশন (TDE) কলাম-লেভেল এনক্রিপশন সেট আপ করার বিষয়ে আলোচনা করে। আপনি ব্যবহারকারীর প্রয়োজনের উপর নির্ভর করে একক-কলাম বা একাধিক-কলাম টেবিলে কলাম-স্তরের এনক্রিপশন সেট আপ করতে পারেন।
পরিচয়
আপনি টেবিলের নির্বাচিত কলাম এনক্রিপ্ট করতে TDE কলাম-এনক্রিপশন কার্যকারিতা ব্যবহার করতে পারেন। যেহেতু এনক্রিপশনটি স্বচ্ছ, তাই আপনাকে আপনার অ্যাপ্লিকেশন কোড পুনরায় লিখতে হবে না এবং বিদ্যমান কোড ব্যবহার করতে পারেন। শব্দটি স্বচ্ছ এছাড়াও ডাটাবেস সেশন কোনো সমস্যা ছাড়াই এনক্রিপ্ট করা ডেটা পড়তে পারে।
এই ব্লগের নির্দেশাবলীর মধ্য দিয়ে যাওয়ার পরে, আপনি একটি EBS R12 পরিবেশে TDE কলাম-লেভেল ক্রিপশন সেটআপ করতে পারেন৷
TDE-এর প্রভাব
আপনার TDE এনক্রিপশন বাস্তবায়ন আপনার অ্যাপ্লিকেশনের নিম্নলিখিত দিকগুলির উপর প্রভাব ফেলতে পারে:
-
কর্মক্ষমতা:TDE বাস্তবায়নে কিছু সীমাবদ্ধতা অ্যাডভান্স সিকিউরিটি গাইডে নথিভুক্ত করা হয়েছে। TDE প্রয়োগ করার আগে আপনার এটি পর্যালোচনা করা উচিত। আপনাকে যত্ন সহকারে এনক্রিপ্ট করার জন্য কলামগুলিও বেছে নিতে হবে কারণ পছন্দটি ডেটা ম্যানিপুলেশন ল্যাঙ্গুয়েজ (DML) এবং এনক্রিপ্ট করা কলামগুলি ব্যবহার করে এমন অন্যান্য প্রশ্নগুলির কার্যকারিতাকে প্রভাবিত করে৷
-
প্যাচিং:আপনার উপলব্ধ EBS প্যাচগুলি সম্পর্কে সচেতন হওয়া উচিত, বিশেষত প্যাচগুলি যা কলামগুলিতে পরিবর্তনগুলি প্রয়োগ করে এবং TDE ব্যবহার করে এনক্রিপ্ট করা হয়৷ এটি একটি এনক্রিপ্ট করা কলামে সূচী যোগ করার মত পরিবর্তনগুলি অন্তর্ভুক্ত করে৷
৷
TDE-এর সীমাবদ্ধতা
TDE কলাম এনক্রিপশন লজিক্যাল-স্ট্যান্ডবাই মোডে Oracle LogMiner-ভিত্তিক প্রযুক্তি, যেমন স্ট্রিম বা DataGuard-এর সাথে সমর্থিত নয়। আপনি যদি এই প্রযুক্তিগুলি ব্যবহার করেন তবে আপনি এনক্রিপ্ট করা কলামগুলি প্রতিলিপি করতে পারবেন না। যাইহোক, আপনি যখন ফিজিক্যাল-স্ট্যান্ডবাই মোডে DataGuard ব্যবহার করেন তখন TDE এনক্রিপশন সমর্থিত হয়। এই ক্ষেত্রে, মূল সার্ভার থেকে অ্যাফিজিক্যাল স্ট্যান্ডবাই সার্ভারে মাস্টার কী সম্বলিত আওয়ালেট অবশ্যই কপি করতে হবে, যেমনটি নিচের ছবিতে দেখানো হয়েছে:
ছবির উৎস:https://docs.oracle.com/cd/E11882_01/network.112/e4033 asotrans.htm#ASOAG9567
TDE বাস্তবায়নের পদক্ষেপ
TDE বাস্তবায়নের জন্য নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
-
এনক্রিপ্ট করা প্রয়োজন এমন কলাম এবং টেবিলের একটি তালিকা পান।
-
নিম্নলিখিত কমান্ডটি চালিয়ে প্রয়োজনীয় স্থানে একটি ওয়ালেট ফোল্ডার তৈরি করুন:
$ mkdir TDEWallet
-
sqlnet.ora
এ প্রয়োজনীয় এন্ট্রি করুন অথবাsqlnet_ifile.ora
নিম্নলিখিত লাইনের অনুরূপ:[oratactp@odbprod1 tactprd_odbprod1]$ cat sqlnet_ifile.ora
-
Master Key
সেট করুন নিম্নলিখিত কমান্ডগুলি ব্যবহার করে, যা পূর্ববর্তী ধাপে নির্দিষ্ট ওয়ালেট অবস্থানে একটি ওয়ালেট ফাইল তৈরি করে:$ Sqlplus '/as sysdba' SQL> ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY "*****"; System altered.
-
ডাউনলোড করুন এবং প্যাচ প্রয়োগ করুন
7337863
যদি এটি ইতিমধ্যেই প্রয়োগ করা না হয়। -
aftdeval.sql
চালান$FND_TOP/sql
থেকে AppsTier-এ টেবিলের কলামগুলির বিরুদ্ধে যা এনক্রিপ্ট করা প্রয়োজন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:SQL> @aftdeval.sql IBY IBY_CREDITCARD CCNUMBER E
-
aftdeval.sql
দ্বারা জেনারেট করা সমস্ত এনক্রিপশন কমান্ড চালান . -
নিম্নলিখিত কমান্ড ব্যবহার করে এনক্রিপ্ট করা কলামগুলি যাচাই করুন:
SQL> SELECT * FROM DBA_ENCRYPTED_COLUMNS; OWNER TABLE_NAME COLUMN_NAME ENCRYPTION_ALG SAL INTEGRITY_AL ---------- ------------------------- -------------------- -------------------- --- ------------ IBY IBY_CREDITCARD CCNUMBER AES 192 bits key NO SHA-1
-
আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করে ওয়ালেট খুলতে বা বন্ধ করতে পারেন:
SQL> ALTER SYSTEM SET ENCRYPTION WALLET CLOSE IDENTIFIED BY "****"; SQL> SELECT * FROM v$encryption_wallet; SQL> ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "****";
-
আপনি স্বয়ংক্রিয় লগইন সেট করতে পারেন৷ নিম্নলিখিত কমান্ড ব্যবহার করে ওয়ালেটের জন্য:
$ orapki wallet create -wallet <wallet_location> -auto_login
TDE বাস্তবায়নের সীমাবদ্ধতা
নিম্নলিখিত সীমাবদ্ধতাগুলি TDE বাস্তবায়নে প্রযোজ্য:
-
শুধুমাত্র নির্দিষ্ট ডেটা প্রকারগুলি এনক্রিপ্ট করা যেতে পারে৷
৷ -
শুধুমাত্র 3932 বাইটের কম দৈর্ঘ্য হিসাবে সংজ্ঞায়িত কলামগুলি এনক্রিপ্ট করা যেতে পারে৷
-
যদি কলামটি একটি বিদেশী কী-এর অংশ হয় বা অন্য ডাটাবেস সীমাবদ্ধতায় ব্যবহৃত হয় তবে এটি এনক্রিপ্ট করা যাবে না৷
-
যদি কলামে একটি ফাংশন-ভিত্তিক সূচী থাকে তবে এটি এনক্রিপ্ট করা যাবে না।
-
যদি একটি কলাম ইন্ডেক্স করা হয় এবং সেই কলামের বিপরীতে রেঞ্জ স্ক্যান করা হয়, তাহলে কলামটি এনক্রিপ্ট করার পর সূচীটি আর ব্যবহার করা হয় না। পরিবর্তে, সম্পূর্ণ টেবিলস্ক্যান সঞ্চালিত হয়।
-
যদি একটি টেবিল পার্টিশন করা হয় এবং পার্টিশন বা সাবপার্টিশন বিনিময় করা হয়, সমস্ত টেবিল পার্টিশন একইভাবে এনক্রিপ্ট করা আবশ্যক। নিম্নলিখিত সারণীগুলি বর্তমানে এই মানদণ্ডের সাথে খাপ খায়:
-
EGO_MTL_SY_ITEMS_EXT_B
-
EGO_MTL_SY_ITEMS_EXT_TL
-
WF_LOCAL_ROLES
-
WF_LOCAL_ROLES_STAGE
-
WF_USER_ROLE_ASSIGNMENTS
-
WF_UR_ASSIGNMENTS_STAGE
-
WF_LOCAL_USER_ROLES
-
WF_LOCAL_USER_ROLES_STAGE
-
WF_LOCAL_ROLES_TL
-
WF_LOCAL_ROLES_TL_STAGE
ব্যাক আউট প্ল্যান
কলাম এনক্রিপশনের প্রয়োজন না হলে, ব্যাক আউট প্ল্যান হিসাবে নিম্নলিখিত কমান্ডগুলি চালান:
SQL> ALTER TABLE IBY.IBY_CREDITCARD modify (CCNUMBER decrypt); << repeat this for all columns/tables which were encrypted.
Comment ENCRYPTION_WALLET_LOCATION from sqlnet_ifile.ora
পূর্ববর্তী কমান্ডগুলি কার্যকর করার পরে, পরিবেশটি পুনরায় চালু করুন এবং সম্পূর্ণ স্বাস্থ্য পরীক্ষা করুন৷
উপসংহার
কলাম স্তরে TDE প্রয়োগ করে, আপনি ব্যবহারকারীদের কলামে সংরক্ষিত সংবেদনশীল ডেটা যেমন ক্রেডিট কার্ড নম্বর বা মানব সম্পদ ডেটা দেখা থেকে বিরত রাখতে পারেন। এনক্রিপশনের পরে আপনাকে অ্যাপ্লিকেশন কোডটি পুনরায় লিখতে হবে না। বিদ্যমান কোড ব্যবহার করা যেতে পারে, এবং ডাটাবেস সেশন সমস্যা ছাড়াই এনক্রিপ্ট করা ডেটা পরিচালনা করতে পারে।
কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাবটি ব্যবহার করুন৷
৷আমাদের ডাটাবেস পরিষেবাগুলি সম্পর্কে আরও জানুন৷
৷