مشاركة عبر


الاتصال بخدمات Azure أو الجهات الخارجية الأخرى عبر مكونات Dapr

قم بإنشاء اتصالات بأمان بخدمات Azure وخدمات الجهات الخارجية لمكونات Dapr باستخدام الهوية المدارة أو مخازن Azure Key Vault السرية.

قبل البدء، تعرف على المزيد حول الدعم المقدم لمكونات Dapr.

التوصيات

كلما أمكن، يوصى باستخدام مكونات Azure التي توفر دعم الهوية المدارة للاتصال الأكثر أمانا. استخدم مخازن Azure Key Vault السرية فقط عندما لا تكون مصادقة الهوية المدارة مدعومة.

نوع الخدمة التوصية
مكون Azure مع دعم الهوية المدارة استخدام تدفق الهوية المدارة (مستحسن)
مكون Azure بدون دعم الهوية المدارة استخدام مخزن البيانات السرية ل Azure Key Vault
مكونات غير Azure استخدام مخزن البيانات السرية ل Azure Key Vault

بالنسبة للخدمات المستضافة من Azure، يمكن ل Dapr استخدام الهوية المدارة لتطبيقات الحاوية ذات النطاق للمصادقة على موفر خدمة الواجهة الخلفية. عند استخدام الهوية المدارة، لا تحتاج إلى تضمين معلومات سرية في بيان مكون. يوصى باستخدام الهوية المدارة لأنه يلغي تخزين الإدخال الحساس في المكونات ولا يتطلب إدارة مخزن سري.

إشعار

azureClientId حقل بيانات التعريف (معرف العميل للهوية المدارة) مطلوب لأي مكون يصادق مع الهوية المدارة المعينة من قبل المستخدم.

استخدام مرجع مكون مخزن البيانات السرية Dapr

عند إنشاء مكونات Dapr للخدمات أو المكونات غير الممكنة لمعرف الإدخال التي لا تدعم مصادقة الهوية المدارة، تتطلب بعض حقول بيانات التعريف قيم إدخال حساسة. لهذا الأسلوب، قم باسترداد هذه الأسرار عن طريق الرجوع إلى مكون مخزن البيانات السرية Dapr الموجود الذي يصل بأمان إلى المعلومات السرية.

لإعداد مرجع:

  1. إنشاء مكون مخزن سري Dapr باستخدام مخطط Azure Container Apps. يبدأ نوع المكون لجميع مخازن Dapr السرية المدعومة ب secretstores..
  2. إنشاء مكونات إضافية (حسب الحاجة) التي تشير إلى مكون مخزن البيانات السرية Dapr الذي قمت بإنشائه لاسترداد إدخال بيانات التعريف الحساسة.

إنشاء مكون مخزن بيانات سرية في Dapr

عند إنشاء مكون مخزن سري في Azure Container Apps، يمكنك توفير معلومات حساسة في قسم بيانات التعريف بأي من الطرق التالية:

مخازن Azure Key Vault السرية

يعرض مخطط المكون التالي أبسط تكوين مخزن سري ممكن باستخدام مخزن Azure Key Vault السري. publisher-app subscriber-app ويتم تكوينها لكل من النظام أو الهوية المدارة المعينة من قبل المستخدم مع الأذونات المناسبة على مثيل Azure Key Vault.

componentType: secretstores.azure.keyvault
version: v1
metadata:
  - name: vaultName
    value: [your_keyvault_name]
  - name: azureEnvironment
    value: "AZUREPUBLICCLOUD"
  - name: azureClientId # Only required for authenticating user-assigned managed identity
    value: [your_managed_identity_client_id]
scopes:
  - publisher-app
  - subscriber-app

أسرار Kubernetes المدارة بواسطة النظام الأساسي

كبديل لبيانات Kubernetes السرية ومتغيرات البيئة المحلية ومخازن بيانات Dapr السرية للملف المحلي، توفر Azure Container Apps نهجا مدارا من قبل النظام الأساسي لإنشاء أسرار Kubernetes والاستفادة منها. يمكن استخدام هذا الأسلوب للاتصال بخدمات غير Azure أو في سيناريوهات التطوير/الاختبار لنشر المكونات بسرعة عبر CLI دون إعداد مخزن سري أو هوية مدارة.

يعرف تكوين المكون هذا القيمة الحساسة كمعلمة سرية يمكن الرجوع إليها من قسم بيانات التعريف.

componentType: secretstores.azure.keyvault
version: v1
metadata:
  - name: vaultName
    value: [your_keyvault_name]
  - name: azureEnvironment
    value: "AZUREPUBLICCLOUD"
  - name: azureTenantId
    value: "[your_tenant_id]"
  - name: azureClientId 
    value: "[your_client_id]"
  - name: azureClientSecret
    secretRef: azClientSecret
secrets:
  - name: azClientSecret
    value: "[your_client_secret]"
scopes:
  - publisher-app
  - subscriber-app

الرجوع إلى مكونات مخزن Dapr السري

بمجرد إنشاء مخزن بيانات سرية ل Dapr باستخدام أحد النهج السابقة، يمكنك الرجوع إلى هذا المخزن السري من مكونات Dapr الأخرى في نفس البيئة. يوضح المثال التالي استخدام مصادقة معرف Entra.

componentType: pubsub.azure.servicebus.queue
version: v1
secretStoreComponent: "[your_secret_store_name]"
metadata:
  - name: namespaceName
    # Required when using Azure Authentication.
    # Must be a fully-qualified domain name
    value: "[your_servicebus_namespace.servicebus.windows.net]"
  - name: azureTenantId
    value: "[your_tenant_id]"
  - name: azureClientId 
    value: "[your_client_id]"
  - name: azureClientSecret
    secretRef: azClientSecret
scopes:
  - publisher-app
  - subscriber-app

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

تعرف على كيفية تعيين مرونة مكون Dapr.