إنتقل إلى المحتوى الرئيسي

دليل البدء السريع

شغّل DuoKey SQL EKM وشفّر قاعدة بياناتك الأولى

ينطبق على:
SQL Server 2016+إعداد خلال 30-45 دقيقةمطلوب وصول المسؤول

نظرة عامة

يرشدك دليل البدء السريع هذا خلال تشفير قاعدة بيانات SQL Server الأولى باستخدام DuoKey EKM. بحلول النهاية، سيكون لديك:

تطبيق DuoKey

تطبيق SQL EKM مُكوَّن في منصة DuoKey

موفّر EKM

موفّر تشفير مثبّت على SQL Server

بيانات الاعتماد

SQL Server مُكوَّن مع مصادقة DuoKey

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

قاعدة بيانات اختبارية مشفّرة باستخدام TDE

المتطلبات المسبقة

المتطلبات المسبقة

  • SQL Server 2016+ (إصدار Enterprise أو Standard أو Developer)
  • Windows Server 2012 R2+ أو Windows 10/11
  • وصول المسؤول إلى جهاز SQL Server
  • حساب في منصة DuoKey مع أذونات إنشاء التطبيقات
  • وصول شبكي إلى DuoKey (منفذ HTTPS 443)
  • SQL Server Management Studio (SSMS) مثبّت
تنبيه
لا يدعم إصدار SQL Server Express إدارة المفاتيح القابلة للتوسيع. تحقّق من إصدار SQL Server لديك قبل المتابعة.

المرحلة 1: إعداد منصة DuoKey

1

إعداد منصة DuoKey

~5 دقائق
1

تسجيل الدخول إلى منصة DuoKey

انتقل إلى منصة DuoKey السحابية وسجّل الدخول ببيانات اعتمادك.

2

إنشاء تطبيق SQL EKM

انتقل إلى Apps ← Create New APP ← حدّد DuoKey for SQL ← انقر Install Now

3

تكوين التطبيق

  • أدخل اسم تطبيق (مثال: «Production-SQL-EKM»)
  • أضف وصفًا (اختياري)
  • عيّن الأدوار للتحكّم في الوصول
  • حدّد أو أنشئ خزنة لمفاتيحك
4

حفظ بيانات الاعتماد

نزّل ملف الإعداد ودوّن بأمان:

  • Client ID - المعرّف الفريد للتطبيق
  • Client Secret - المفتاح السري للمصادقة
  • كلمة المرور - كلمة مرور إضافية للتطبيق
مهم
خزّن بيانات اعتمادك بأمان! لا يمكن استرجاع Client Secret وكلمة المرور لاحقًا من منصة DuoKey. ستحتاج إليهما لتكوين SQL Server.

دليل مفصّل: إنشاء تطبيق SQL EKM

المرحلة 2: تثبيت SQL Server

2

تثبيت موفّر EKM

~10 دقائق
1

استخراج ملفات الإعداد

استخرج ملف الإعداد المضغوط ZIP الذي تم تنزيله إلى موقع مؤقت.

2

تشغيل المثبّت

انقر بزر الماوس الأيمن على setup.exe ← Run as Administrator

ملاحظة
قد يعرض Windows مربع حوار الحماية. انقر «مزيد من المعلومات» ثم «تشغيل على أي حال».
3

إكمال معالج التثبيت

  • اقبل اتفاقية الترخيص
  • اختر مجلد التثبيت (يُوصى بالافتراضي)
  • حدّد مستوى السجل (يُوصى بـ Info للإعداد الأولي)
  • انقر تثبيت وانتظر حتى الاكتمال
4

التحقّق من التثبيت

تأكّد من وجود ملفات DLL هذه في C:\Windows\System32:

  • DuoKeyCryptoProvider.dll
  • libcurl.dll
  • zlib1.dll
  • fmt.dll
استعلام التحقّقSQL
-- Verify DLL is accessible by SQL Server
EXEC xp_fileexist 'C:\Windows\System32\DuoKeyCryptoProvider.dll';
GO

دليل مفصّل: تثبيت موفّر EKM

المرحلة 3: تكوين SQL Server

3

تكوين SQL Server

~10 دقائق

افتح SQL Server Management Studio (SSMS)، واتصل بنسختك، ونفّذ نص التكوين التالي. استبدل جميع العناصر النائبة بقيمك الفعلية.

نص التكوين الكامل

T-SQLاستبدل العناصر النائبة
-- =============================================
-- DuoKey SQL EKM Configuration Script
-- Replace <placeholders> with your values
-- =============================================

-- Step 1: Enable EKM
sp_configure 'show advanced', 1;
GO
RECONFIGURE;
GO
sp_configure 'EKM provider enabled', 1;
GO
RECONFIGURE;
GO

-- Step 2: Create Cryptographic Provider
CREATE CRYPTOGRAPHIC PROVIDER DuoKeyProvider
FROM FILE = 'C:\Windows\System32\DuoKeyCryptoProvider.dll';
GO

-- Step 3: Create Credentials
-- Format: client_secret<!COCKPITPW!>password<!COCKPITPW!>CockpitIntrospectPwd
CREATE CREDENTIAL DuoKeyCredential
WITH IDENTITY = '<your_client_id>',
SECRET = '<your_client_secret><!COCKPITPW!><your_password><!COCKPITPW!>CockpitIntrospectPwd'
FOR CRYPTOGRAPHIC PROVIDER DuoKeyProvider;
GO

-- Step 4: Map Credential to Login
ALTER LOGIN [sa]
ADD CREDENTIAL DuoKeyCredential;
GO

-- Step 5: Create Asymmetric Key
USE master;
GO
CREATE ASYMMETRIC KEY SQL_EKM_Key
FROM PROVIDER DuoKeyProvider
WITH ALGORITHM = RSA_2048,
PROVIDER_KEY_NAME = 'SQL_EKM_Key',
CREATION_DISPOSITION = CREATE_NEW;
GO

-- Step 6: Create Key Credentials
CREATE CREDENTIAL SQL_EKM_Key_Cred
WITH IDENTITY = '<your_client_id>',
SECRET = '<your_client_secret><!COCKPITPW!><your_password><!COCKPITPW!>CockpitIntrospectPwd'
FOR CRYPTOGRAPHIC PROVIDER DuoKeyProvider;
GO

-- Step 7: Create Key Login
CREATE LOGIN SQL_EKM_Key_Login
FROM ASYMMETRIC KEY SQL_EKM_Key;
GO

ALTER LOGIN SQL_EKM_Key_Login
ADD CREDENTIAL SQL_EKM_Key_Cred;
GO

PRINT 'Configuration complete. Enable Encrypt operation in DuoKey Cockpit.';
GO
تمكين عملية التشفير

قبل الانتقال إلى المرحلة 4، يجب تمكين عملية Encrypt في DuoKey:

  1. سجّل الدخول إلى DuoKey Cockpit
  2. انتقل إلى Keys ← ابحث عن SQL_EKM_Key
  3. في العمليات التشفيرية، مكّن Encrypt
  4. احفظ التغييرات

دليل مفصّل: تكوين SQL Server

المرحلة 4: تشفير قاعدة البيانات

4

شفّر قاعدة بياناتك الأولى

~5 دقائق

الآن دعنا ننشئ قاعدة بيانات اختبارية ونشفّرها باستخدام TDE مع DuoKey EKM.

نص تشفير قاعدة البياناتSQL
-- Create test database
CREATE DATABASE TestEncryptedDB;
GO

-- Create Database Encryption Key
USE TestEncryptedDB;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER ASYMMETRIC KEY SQL_EKM_Key;
GO

-- Enable encryption
ALTER DATABASE TestEncryptedDB
SET ENCRYPTION ON;
GO

-- Verify encryption status
SELECT
    DB_NAME(database_id) AS [Database],
    CASE encryption_state
        WHEN 0 THEN 'No encryption key'
        WHEN 1 THEN 'Unencrypted'
        WHEN 2 THEN 'Encryption in progress'
        WHEN 3 THEN 'Encrypted'
        WHEN 4 THEN 'Key change in progress'
        WHEN 5 THEN 'Decryption in progress'
    END AS [Status],
    percent_complete AS [Progress %]
FROM sys.dm_database_encryption_keys
WHERE DB_NAME(database_id) = 'TestEncryptedDB';
GO
نصيحة
حالة التشفير 3 تعني أن قاعدة البيانات مشفّرة بالكامل. الحالة 2 تعني أن التشفير لا يزال قيد التقدّم - انتظر حتى يكتمل قبل المتابعة.

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

التحقّق

شغّل هذه الاستعلامات للتحقّق من أن إعدادك الكامل يعمل بشكل صحيح:

استعلامات التحقّقSQL
-- 1. EKM Provider Status
SELECT name, guid, version
FROM sys.cryptographic_providers;
GO

-- 2. Credentials Created
SELECT name, credential_identity, create_date
FROM sys.credentials
WHERE name LIKE '%DuoKey%' OR name LIKE '%EKM%';
GO

-- 3. Asymmetric Keys
SELECT name, algorithm_desc, key_length, thumbprint
FROM sys.asymmetric_keys;
GO

-- 4. Encrypted Databases
SELECT
    d.name AS DatabaseName,
    d.is_encrypted,
    dek.encryption_state
FROM sys.databases d
LEFT JOIN sys.dm_database_encryption_keys dek
    ON d.database_id = dek.database_id
WHERE d.is_encrypted = 1;
GO

قائمة التحقّق

موفّر EKMDuoKeyProvider ظاهر في sys.cryptographic_providers
بيانات الاعتمادتم إنشاء DuoKeyCredential وSQL_EKM_Key_Cred
المفتاح غير المتماثلSQL_EKM_Key بخوارزمية RSA_2048
قاعدة البيانات مشفّرةTestEncryptedDB بحالة encryption_state = 3

مرجع سريع لاستكشاف الأخطاء وإصلاحها

المشكلات الشائعة والحلول

المشكلةالسببالحل
EKM غير مُمكَّنإصدار SQL Server أو تكوينهتحقّق من الإصدار؛ نفّذ أوامر sp_configure
تعذّر إنشاء الموفّرلم يُعثر على DLLتحقّق من وجود DuoKeyCryptoProvider.dll في System32
خطأ في تنسيق بيانات الاعتمادتنسيق SECRET غير صالحتحقّق من الفواصل <!COCKPITPW!>
فشل إنشاء المفتاحEncrypt غير مُمكَّنمكّن عملية Encrypt في DuoKey Cockpit
انتهاء مهلة الاتصالمشكلة في الشبكةتحقّق من وصول HTTPS 443 إلى منصة DuoKey

الدليل الكامل لاستكشاف الأخطاء وإصلاحها

الخطوات التالية

تهانينا! لقد أعددت DuoKey SQL EKM بنجاح وشفّرت قاعدة بياناتك الأولى. إليك ما يمكنك استكشافه بعد ذلك: