إنتقل إلى المحتوى الرئيسي
ينطبق على:
DuoKey Cockpit v2Microsoft 365 / PurviewDouble Key Encryption

توثّق هذه الصفحة وظائف تكوين DKE 365 التي يقدّمها DuoKey Cockpit v2. لمعرفة سير عمل Cockpit v1 القديم، راجع قسمي الإعداد والعمليات في هذا الدليل.

مراجعة خدمة DKE ونشرها
مراجعة خدمة DKE ونشرها

عائلتا نقاط النهاية​

يقدّم DKE 365 نوعين من نقاط النهاية:

  • سطح إدارة يستخدمه مسؤولو Cockpit لنشر خدمات DKE وتكوينها وإدارتها. وهو محمي بجلسة مستخدم Cockpit وبالتحكم في الوصول القائم على الأدوار في المنصة.
  • بروتوكول DKE العام الذي يستدعيه Microsoft 365 / Office مباشرة: GetKey عام، بينما يتحقق Decrypt من رمز حامل Azure AD عند التكوين ويفرض سياسة الوصول المرتبطة.
مرجع API
التفاصيل الكاملة لنقاط API موثّقة بشكل منفصل في توثيق المطورين ← واجهة API لـ DKE.

دورة حياة الخدمة​

حالات دورة الحياةTEXT

Provisioned → Running → Disabled → Stopped (+ Failed)

فقط الخدمة في حالة Running تخدم طلبات فك التشفير.

إدارة خدمة​

من Cockpit يمكنك نشر خدمة DKE جديدة، والتحقق من أن مفتاحاً ما قادر على DKE، وتفعيلها (ما يوفّر تلقائياً تطبيق Azure AD)، وتعطيلها أو إيقافها، وتدوير مفتاحها بنافذة تراكب، ومراقبة صحتها وإرشادات ربطها (DNS / CNAME). بعدها يستدعي Microsoft 365 / Office نقاط نهاية البروتوكول العام للخدمة (version وGetKey وDecrypt) مباشرة.

مرجع API
التفاصيل الكاملة لنقاط API موثّقة بشكل منفصل في توثيق المطورين ← واجهة API لـ DKE.
صحة خدمة DKE — فحوصات الحالة ونقاط النهاية
صحة خدمة DKE — فحوصات الحالة ونقاط النهاية

حقول تكوين الخدمة​

تُكوَّن خدمة DKE بما يلي:

الهوية والتوجيه

name، وdescription، وslug (معرّف GUID يُستخدم لبناء رابط الخدمة)، وkey_id (مفتاح RSA-2048/4096 المرتبط)، وkey_name (يظهر في رابط kid المنشور)، وstatus.

الخوارزمية

algorithm: RSA-OAEP-256 (افتراضي) أو RS256.

نافذة تراكب تدوير المفتاح

cache_duration_hours (الافتراضي 24). أثناء التدوير يستمر المفتاح السابق في خدمة GetKey + Decrypt خلال هذه النافذة (previous_key_id / previous_key_retires_at).

Azure AD / Entra

azure_tenant_id، وazure_client_id، وazure_audience، وallowed_domains (نطاقات شركاء B2B، كل منها مطابَق لمُصدِري مستأجره الصالحين)، وidentity_provider_id (بيانات اعتماد Graph المستخدمة للتوفير التلقائي للتطبيق).

mTLS اختياري

mtls_enabled، وmtls_client_ca_pem، وmtls_allowed_subjects، وmtls_header_name (الافتراضي X-ARR-ClientCert).

فك تشفير متساهل

allow_anonymous (يُحتَرَم فقط في بيئات غير الإنتاج عندما يُفعِّل المضيف أيضاً الوضع المتساهل؛ يجب ألا يُستخدَم أبداً في الإنتاج).

التحكم في الوصول

access_policy_id يربط سياسة وصول تُقيَّم عند كل فك تشفير.

نشر خدمة DKE — المعالج الموجَّه
نشر خدمة DKE — المعالج الموجَّه

مثال على تكوين خدمة​

تكوين خدمة DKEJSON

{
"name": "Contoso DKE",
"slug": "89c3b193-af16-4887-8031-43f88d475d9d",
"key_id": "<rsa-key-uuid>",
"key_name": "dke_key",
"azure_tenant_id": "<azure-tenant-guid>",
"azure_client_id": "<app-guid>",
"azure_audience": "https://89c3b193-af16-4887-8031-43f88d475d9d.duokey365.com",
"allowed_domains": ["partner.com"],
"algorithm": "RSA-OAEP-256",
"cache_duration_hours": 24,
"mtls_enabled": false,
"allow_anonymous": false,
"access_policy_id": "<policy-uuid>",
"identity_provider_id": "<idp-uuid>"
}

تدفق GetKey / Decrypt​

1

GetKey

يجلب Office مفتاح JWK العام للخدمة لتشفير المحتوى تحت مفتاح المؤسسة العام. المفتاح المنشور هو JWK قياسي من نوع RSA يكون فيه kid هو رابط الخدمة (https://{slug}.{base-domain}/dke/{slug}/{key_name}/{key_id}).

2

Decrypt

يُرسِل Office المفتاح المُغلَّف مرة أخرى. يحدّد Cockpit v2 الخدمة، ويشترط الحالة Running، ويختار المفتاح الفعّال (الحالي، أو المفتاح السابق خلال نافذة التدوير)، ويقوم بالتحقق الاختياري من mTLS، ويتحقق من رمز Azure AD JWT، ويفرض سياسة الوصول المرتبطة، ثم يفك التشفير بـ RSA-OAEP داخل الخزنة. لا يغادر المفتاح الخاص الخزنة أبداً.

كل عملية فك تشفير محدودة المعدل لكل مستأجر (الافتراضي 100 طلب/ثانية، قابل للتكوين).

اختيار مفتاح تشفير DKE
اختيار مفتاح تشفير DKE (RSA-2048)

يتبع المفتاح المنشور وحمولات الطلب/الاستجابة تنسيق بروتوكول DKE من Microsoft، بحيث يتعاون Office وPurview مع الخدمة دون أي تكوين مخصص.

مرجع API
حمولات البروتوكول الدقيقة موثّقة بشكل منفصل في توثيق المطورين ← واجهة API لـ DKE.

توفير Azure AD (تسجيل الخدمة)​

لا توجد خطوة "تسجيل" منفصلة. التسجيل = النشر ← التفعيل. عند enable، إذا كانت الخدمة تحمل identity_provider_id ولا يوجد تطبيق Azure بعد، يستدعي Cockpit v2 Microsoft Graph لإنشاء تسجيل تطبيق Azure AD وتكوينه (معرّف الهوية / الجمهور، رابط إعادة التوجيه)، ثم يخزّن azure_client_id وazure_audience وazure_app_object_id الناتجة. تأتي بيانات اعتماد Graph إما من مزوّد هوية الخدمة أو من احتياطي المضيف DKE_DEFAULT_GRAPH_* (الذي يتطلب Application.ReadWrite.All).

تكوين مزوّد هوية Azure AD
تكوين مزوّد هوية Azure AD

إعدادات DKE على مستوى المضيف (بيئة Cockpit v2)​

تُضبَط متغيرات البيئة التالية على خادم Cockpit v2:

المتغيّرالغرض
DKE_BASE_DOMAINنطاق DNS الأساسي لروابط اتصال الخدمة — كل خدمة هي https://{slug}.{DKE_BASE_DOMAIN} (يتطلب DNS بأحرف بدل + TLS)
DKE_AUDIENCE_DOMAINجمهور JWT / قمة معرّف هوية Azure AD (يتراجع إلى DKE_BASE_DOMAIN)
DKE_DEFAULT_GRAPH_TENANT_ID / DKE_DEFAULT_GRAPH_CLIENT_ID / DKE_DEFAULT_GRAPH_CLIENT_SECRETتطبيق Microsoft Graph الاحتياطي المستخدَم للتوفير التلقائي لتسجيلات Azure AD
DKE_ALLOW_PERMISSIVE_MODEتفعيل اختياري لفك تشفير متساهل للتطوير/الاختبار فقط — **يجب إلغاء ضبطه في الإنتاج**
DKE_TENANT_DECRYPT_RPS_MAXسقف معدل فك التشفير لكل مستأجر (الافتراضي 100)
DKE_JWKS_CACHE_TTL_SECSمدة صلاحية ذاكرة تخزين JWKS الخاصة بـ Azure AD للتحقق من رمز فك التشفير

Microsoft Purview​

DKE هو مخزن مفاتيح DKE الخاص بـ Purview / MIP: تشير تسميات الحساسية من نوع Double Key Encryption إلى نقاط نهاية GetKey / Decrypt هذه (تُكوَّن التسميات من جهة Microsoft — راجع تسميات الحساسية وMicrosoft Purview). يقدّم Cockpit v2 إضافة إلى ذلك نوع تطبيق Purview DLP منفصلاً لتكامل منع فقدان البيانات.

تابع إلى سياسات الوصول للتحكم في من، ومن أين، ومتى يمكنه استخدام مفتاح DKE.