إنتقل إلى المحتوى الرئيسي
ينطبق على:
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 عند التكوين ويفرض سياسة الوصول المرتبطة.

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

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

Provisioned → Running → Disabled → Stopped (+ Failed)

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

إدارة خدمة​

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

صحة خدمة 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) مقبولاً على الخدمة.

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 العام للخدمة من رابط التسمية (https://{slug}.{base-domain}/dke/{slug}) لتشفير المحتوى تحت مفتاح المؤسسة العام. المفتاح المنشور هو JWK قياسي من نوع RSA يسمّي فيه kid إصدار المفتاح الحالي (https://{slug}.{base-domain}/dke/{slug}/{key_id}).

2

Decrypt

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

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

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

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

تدوير المفاتيح وسجل المفاتيح​

منذ Cockpit 2.0.8، لا يغيّر التدوير الرابط الموجود في تسمية الحساسية.

العنصرالسلوك
رابط التسميةالرابط الذي يوضع في تسمية Purview هو https://{slug}.{base-domain}/dke/{slug}. يسمّي الخدمة لا المفتاح، ويظهر في صفحة تفاصيل الخدمة.
التدويرتُشفَّر المستندات الجديدة بالمفتاح الجديد. يتغيّر kid؛ ولا يتغيّر رابط التسمية.
المفاتيح المُدوَّرة خارج الخدمةتُحفظ في سجل مفاتيح الخدمة لفك التشفير فقط، فتبقى المستندات المشفّرة بها قابلة للقراءة. لم يعد المفتاح المُدوَّر خارج الخدمة ينتهي من تلقاء نفسه.
المقاعدة / الاستعادةيُقاعِد المسؤول مفتاحاً من السجل عندما لا يعود أي مستند بحاجة إليه؛ ويجيب المفتاح المُقاعَد بـ 404. يمكن استعادة المفتاح المُقاعَد.
إعادة تسمية المفتاحتحمل الروابط معرّف الخدمة (slug) ومعرّف المفتاح، ولا تحمل اسم المفتاح أبداً، لذا لا تغيّر إعادة تسمية المفتاح شيئاً بالنسبة إلى Office. تعرض الخدمة الاسم الجديد.
التسميات المُنشأة قبل 2.0.8

تستمر التسمية التي يسمّي رابطها مفتاحاً (https://{slug}.{base-domain}/dke/{key_id}) في العمل. ومنذ 2.0.9 تتبع التدويرات أيضاً: فهي تشفّر المستندات الجديدة بالمفتاح الحالي للخدمة، دون أي تغيير في التسمية.

توفير 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.