تشفير البيانات في قاعدة البيانات المصدر

تشفير البيانات الشفاف (TDE) يشفر البيانات بشفافية في بقية أجزاء Oracle Database. وهو يوقف المحاولات غير المصرح بها من نظام التشغيل للوصول إلى بيانات قاعدة البيانات المخزنة في الملفات، دون التأثير على كيفية وصول التطبيقات إلى البيانات باستخدام SQL. تم تكامل TDE بالكامل مع Oracle Database ويمكن تشفير النسخ الاحتياطية لقاعدة البيانات بالكامل (RMAN) أو عمليات تصدير مضخة البيانات أو مساحات جداول التطبيقات بأكملها أو أعمدة حساسة محددة. تظل البيانات المشفرة مشفرة في قاعدة البيانات، سواء كانت في ملفات تخزين مساحة الجدول أو مساحات الجداول المؤقتة أو مساحات جداول التراجع أو ملفات أخرى مثل سجلات الإعادة.

تحديد ما إذا كان تم تمكين TDE في قاعدة البيانات المصدر أم لا

عند عدم تمكين تشفير البيانات الشفاف (TDE) في قاعدة البيانات المصدر، لا يتم تشفير البيانات عند ترحيل قاعدة البيانات إلى Oracle Cloud Infrastructure (OCI) أو أثناء استعادة البيانات بعد الكوارث. ستحتاج إلى تشفير البيانات غير المشفرة يدويًا. بمجرد الدخول إلى OCI، يتم تشفير أية بيانات جديدة تلقائيًا.

  1. حدد ما إذا كانت مساحة الجدول مشفرة أم لا.
    SQL> select tablespace_name, encrypted from dba_tablespaces;

    في حالة عدم تشفير مساحة الجدول، ستظهر المخرجات مشابهة لما يلي:

    TABLESPACE_NAME 	       		ENC
    ------------------------------ ---
    SYSTEM                          NO
    SYSAUX                          NO
    UNDOTBS1                        NO
    TEMP                            NO
    USERS			      NO
  2. ابحث عن ملفات بيانات قاعدة البيانات المقترنة (.dbf) في نظام الملفات.
    SQL> select TABLESPACE_NAME, FILE_NAME from dba_data_files;

    ستبدو المخرجات مشابهة لما يلي:

    TABLESPACE_NAME
    ------------------------------
    FILE_NAME
    
    SYSTEM
    /opt/oracle/oradata/ORCLCDB/system01.dbf
    
    SYSAUX
    /opt/oracle/oradata/ORCLCDB/sysaux01.dbf
    
    UNDOTBS1
    /opt/oracle/oradata/ORCLCDB/undotbs01.dbf
    
    USERS
    /opt/oracle/oradata/ORCLCDB/users01.dbf

تمكين تشفير TDE في قاعدة البيانات المصدر

يتيح لك تشفير البيانات الشفاف (TDE) تشفير البيانات الحساسة المخزنة في الجداول ومساحات الجداول. يتم فك تشفير البيانات المشفرة بشفافية لمستخدم قاعدة بيانات أو تطبيق لديه صلاحية الوصول إلى البيانات.

  1. انتقل إلى دليل $ORACLE_BASE في قاعدة البيانات المصدر.
    bash-4.2$ pwd
    /opt/oracle/admin/ORCLCDB
  2. تكوين دليل يسمى wallet.
    $ mkdir wallet
  3. قم بتكوين الحافظة، إلى جانب كلمة سر آمنة تستخدم مزيجاً من الحروف الأبجدية الرقمية.
    تقوم هذه الخطوة بتكوين الحافظة وفتحها. بعد فتح قاعدة البيانات، تظل الحافظة مفتوحة حتى يتم إغلاق الحافظة صراحة أو إغلاق قاعدة البيانات، وفي ذلك الوقت يتم إغلاق الحافظة تلقائيًا.
    SQL> alter system set encryption key identified by "wallet_password";
  4. أعد فتح حافظة مغلقة بعد إعادة بدء قاعدة البيانات.
    SQL> alter system set wallet open identified by "wallet_password";
  5. تشفير مساحة الجدول.
    تستخدم التعليمة البرمجية التالية تشفير AES-128.
    alter tablespace system encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/system01.dbf','/opt/oracle/oradata/ORCLCDB/system01_enc.dbf');
    
    alter tablespace sysaux encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/sysaux01.dbf','/opt/oracle/oradata/ORCLCDB/sysaux01_enc.dbf');
    
    alter tablespace undotbs1 encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/undotbs01.dbf','/opt/oracle/oradata/ORCLCDB/undotbs01_enc.dbf');
    
    alter tablespace users encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/users01.dbf','/opt/oracle/oradata/ORCLCDB/users01_enc.dbf');
    
  6. تحقق من تشفير مساحة الجدول.
    SQL> select tablespace_name, encrypted from dba_tablespaces;

    ستبدو المخرجات مشابهة لما يلي:

    TABLESPACE_NAME 	       ENC
    ------------------------------ ---
    SYSTEM			    YES
    SYSAUX			    YES
    UNDOTBS1                       YES
    TEMP			      NO
    USERS			     YES
  7. تحقق من تشفير ملفات بيانات قاعدة البيانات المقترنة (.dbf) في نظام الملفات.
    SQL> select TABLESPACE_NAME, FILE_NAME from dba_data_files;

    ستبدو المخرجات مشابهة لما يلي:

    TABLESPACE_NAME
    ------------------------------
    FILE_NAME
    
    SYSTEM
    /opt/oracle/oradata/ORCLCDB/system01_enc.dbf
    
    SYSAUX
    /opt/oracle/oradata/ORCLCDB/sysaux01_enc.dbf
    
    UNDOTBS1
    /opt/oracle/oradata/ORCLCDB/undotbs01_enc.dbf
    
    USERS
    /opt/oracle/oradata/ORCLCDB/users01_enc.dbf