Manage secrets in Azure Container Apps

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

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

لا يؤثر السر المحدث أو المحذوف تلقائيا على المراجعات الموجودة في تطبيقك. عند تحديث سر أو حذفه، يمكنك الاستجابة للتغييرات بإحدى طريقتين:

  1. نشر مراجعة جديدة.
  2. أعد تشغيل مراجعة موجودة.

قبل حذف سر، انشر مراجعة جديدة لم تعد تشير إلى السر القديم. ثم قم بإلغاء تنشيط كافة المراجعات التي تشير إلى السر.

الأذونات لإدارة الأسرار

Azure Container Apps يعرض عمليات منفصلة listSecrets لتطبيقات ووظائف والمكونات في Dapr. تعيد هذه العمليات قيم سرية في نص واضح. امنح هذه الأذونات فقط للهويات التي تحتاج إلى قراءة القيم السرية.

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

الأدوار التالية تمنح الوصول إلى تطبيق الحاوية أو قيم أسرار الوظيفة:

الدور المدمج الأذونات ذات الصلة في تعريف الدور عملية مطابقة الأسرار
مساهم تطبيقات الحاوية Microsoft.App/containerApps/*/action Microsoft.App/containerApps/listSecrets/action
مشغل تطبيقات الحاوية Microsoft.App/containerApps/*/action Microsoft.App/containerApps/listSecrets/action
المساهم في مهام تطبيقات الحاوية Microsoft.App/jobs/*/action Microsoft.App/jobs/listSecrets/action
مشغل مهام تطبيقات الحاوية Microsoft.App/jobs/*/action Microsoft.App/jobs/listSecrets/action

الأدوار التالية تمنح الوصول إلى القيم السرية المهيأة لمكونات Dapr:

الدور المدمج الأذونات ذات الصلة في تعريف الدور عملية مطابقة الأسرار
مساهم تطبيقات الحاويات ManagedEnvironments Microsoft.App/managedEnvironments/*/action Microsoft.App/managedEnvironments/daprComponents/listSecrets/action
مساهم تطبيقات الحاويات ConnectedEnvironments Microsoft.App/connectedEnvironments/*، Microsoft.App/connectedEnvironments/daprComponents/listSecrets/action Microsoft.App/connectedEnvironments/daprComponents/listSecrets/action

يعتمد الوصول الفعال على نطاق توزيع الدور. على سبيل المثال، يمنح التعيين في نطاق مجموعة الموارد إذن المطابقة لكل مورد قابل للتطبيق في تلك المجموعة من الموارد.

مهم

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

إنشاء دور مخصص بأصلاحيات أضيق

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

على سبيل المثال، الدور المخصص التالي يسمح للمستخدم بعرض الوظائف والتنفيذات وإيقاف تنفيذ التنفيذات، دون منح الإجراء listSecrets :

{
  "Name": "Container Apps Jobs Execution Stopper",
  "IsCustom": true,
  "Description": "View Container Apps jobs and stop running executions.",
  "Actions": [
    "Microsoft.App/jobs/read",
    "Microsoft.App/jobs/executions/read",
    "Microsoft.App/jobs/execution/read",
    "Microsoft.App/jobs/stop/action",
    "Microsoft.App/jobs/stop/execution/action",
    "Microsoft.App/managedEnvironments/read"
  ],
  "NotActions": [],
  "AssignableScopes": [
    "/subscriptions/<SUBSCRIPTION_ID>"
  ]
}

تجنب أنماط البطاقات البرية مثل Microsoft.App/jobs/*/action تعريف الأدوار المخصصة. تمنح هذه البطاقة الوردية كل عملية حالية ومستقبلية تطابق النمط، بما في ذلك listSecrets.

التحذير

بالنسبة لوظائف تطبيقات الحاويات، حذف الإجراء listSecrets من دور مخصص لا يكفي لحماية القيم السرية إذا كان الدور يمنح Microsoft.App/jobs/start/actionأيضا . واجهة برمجة تطبيقات الوظائف - Start REST تقبل قالب تنفيذ اختياري يمكنه تجاوز صور الحاوية الرئيسية والأوامر والمتغيرات البيئية. المستخدم الذي يمكنه بدء مهمة ويعرف اسم السر يمكنه الرجوع إلى ذلك السر من حاوية يختارها وقراءة قيمته داخل الحاوية. يمكن للحاوية أيضا استخدام أي هوية مدارة مهيأة لتكون متاحة لها. عامل إذن بدء الوظيفة كإذن لاستخدام أسرار الوظيفة والهويات المدارة المتاحة.

لمزيد من المعلومات، راجع أدوار Azure المخصصة.

تعريف الأسرار

يتم تعريف الأسرار على أنها مجموعة من أزواج الاسم/القيمة. يتم تحديد قيمة كل سر مباشرة أو كمرجع لسر مخزن في Azure Key Vault.

إشعار

تجنب تحديد قيمة سر مباشرة في بيئة الإنتاج. بدلا من ذلك، استخدم مرجعا إلى سر مخزن في Azure Key Vault، كما هو موضح في Store السرية في قسم تطبيقات الحاويات.

تخزين القيمة السرية في Container Apps

يستخدم التالي عند تعريف الأسرار عبر البوابة، أو عبر خيارات سطر أوامر مختلفة.

  1. اذهب إلى تطبيق الحاوية الخاص بك في بوابة Azure.

  2. في قسم الأمان ، اختر الأسرار.

  3. حدد إضافة.

  4. في جزء إضافة سياق سري ، أدخل المعلومات التالية:

    • الاسم: اسم السر.
    • النوع: حدد Container Apps Secret.
    • القيمة: قيمة السر.
  5. حدد إضافة.

سر مرجعي من Key Vault

عندما تحدد سرا، فإنك تنشئ مرجعا لسر مخزن في Azure Key Vault. تقوم تطبيقات الحاويات تلقائيا باسترجاع القيمة السرية من Key Vault وتجعلها متاحة كسر في تطبيق الحاوية الخاص بك.

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

لتمكين الهوية المدارة في تطبيق الحاوية، راجع الهويات المدارة.

لمنح الوصول إلى Key Vault الأسرار، امنح دور RBAC Azure Key Vault مستخدم الأسرار للهوية المدارة.

  1. اذهب إلى تطبيق الحاوية الخاص بك في بوابة Azure.

  2. في قسم الأمان ، اختر الهوية.

  3. في علامة التبويب تعيين النظام، قم بتعيين الحالة إلى تشغيل.

إشعار

يمكنك أيضا استخدام هوية مدارة معينة من قبل المستخدم، والتي يمكن إعادة استخدامها عبر موارد متعددة وتستمر بشكل مستقل عن دورة حياة التطبيق. لاستخدامه، حدد علامة التبويب معين من قبل المستخدم واختر هوية موجودة.

  1. حدد حفظ لتمكين الهوية المدارة المعينة من قبل النظام.

  2. تظهر نافذة منبثقة تؤكد أنك تريد تفعيل الهوية المدارة المعينة للنظام وتسجيل تطبيق الحاوية باستخدام Microsoft Entra ID. حدد نعم.

  3. في قسم الأمان ، اختر الأسرار.

  4. حدد إضافة.

  5. في جزء إضافة سياق سري ، أدخل المعلومات التالية:

    • الاسم: اسم السر.
    • Type: اختر Key Vault مرجع.
    • Key Vault الرابط السري: الرابط السري لسرك في Key Vault. يحتوي عنوان URI هذا على النموذج التالي: https://<YOUR_KEY_VAULT_NAME>.vault.azure.net/secrets/<YOUR_SECRET_NAME>/<32_DIGIT_HEX_ID>
    • الهوية: حدد النظام المعين.
  6. حدد إضافة.

إشعار

إذا كنت تستخدم UDR مع Azure Firewall، ستحتاج إلى إضافة وسم الخدمة AzureKeyVault وlogin.microsoft.com FQDN إلى قائمة الصلاحيات لجدار الحماية الخاص بك. راجع تكوين UDR مع Azure Firewall لتقرر أي علامات الخدمة الإضافية تحتاجها.

رابط السرية في Key Vault والدوران السري

يجب أن يكون رابط الرابط السري ل Key Vault بأحد الصيغ التالية:

  • https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931: الرجوع إلى إصدار معين من البيانات السرية.
  • https://myvault.vault.azure.net/secrets/mysecret: الرجوع إلى أحدث إصدار من البيانات السرية.

إذا لم يتم تحديد إصدار في URI، فسيستخدم التطبيق أحدث إصدار موجود في مخزن المفاتيح. عندما تتوفر إصدارات أحدث، يسترد التطبيق تلقائيا أحدث إصدار في غضون 30 دقيقة. تتم إعادة تشغيل أي مراجعات نشطة تشير إلى السر في متغير بيئة تلقائيا لالتقاط القيمة الجديدة.

للتحكم الكامل في أي إصدار من البيانات السرية يتم استخدامه، حدد الإصدار في URI.

الرجوع إلى البيانات السرية في متغيرات البيئة

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

مثال

المثال التالي يوضح تطبيقا يعلن عن سلسلة الاتصال على مستوى التطبيق. تتم الإشارة إلى هذا الاتصال في متغير بيئة حاوية وفي قاعدة مقياس.

بعد تحديد سر في تطبيق الحاوية، يمكنك الرجوع إليه في متغير بيئة عند إنشاء مراجعة جديدة.

  1. اذهب إلى تطبيق الحاوية الخاص بك في بوابة Azure.

  2. ضمن قسم التطبيق ، حدد المراجعات والنسخ المتماثلة.

  3. في صفحة المراجعات والنسخ المتماثلة ، حدد إنشاء مراجعة جديدة.

  4. في صفحة إنشاء ونشر مراجعة جديدة، في علامة التبويب حاوية ، ضمن قسم صورة الحاوية، حدد حاوية.

  5. حدد تحرير.

  6. في جزء تحرير سياق حاوية ، حدد علامة التبويب متغيرات البيئة.

  7. حدد إضافة.

  8. أدخل المعلومات التالية:

    • الاسم: اسم متغير البيئة.
    • المصدر: حدد مرجع سر.
    • القيمة: حدد السر الذي قمت بتعريفه مسبقا.
  9. حدد حفظ.

  10. في صفحة Create and deploy new revision ، حدد Create لإنشاء المراجعة الجديدة.

إدخال البيانات السرية في وحدة تخزين

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

مثال

بعد تحديد سر في تطبيق الحاوية، يمكنك الرجوع إليه في تحميل وحدة تخزين عند إنشاء مراجعة جديدة.

  1. اذهب إلى تطبيق الحاوية الخاص بك في بوابة Azure.

  2. ضمن قسم التطبيق ، حدد المراجعات والنسخ المتماثلة.

  3. في صفحة المراجعات والنسخ المتماثلة ، حدد إنشاء مراجعة جديدة.

  4. في صفحة إنشاء ونشر مراجعة جديدة، في علامة التبويب حاوية ، ضمن قسم صورة الحاوية، حدد حاوية.

  5. حدد تحرير.

  6. في جزء تحرير سياق حاوية ، حدد علامة التبويب تحميلات وحدة التخزين.

  7. حدد إنشاء وحدة تخزين جديدة.

  8. في جزء إضافة سياق وحدة تخزين ، أدخل المعلومات التالية:

    • نوع وحدة التخزين: حدد Secret.
    • الاسم:mysecrets
    • تحميل جميع الأسرار: ممكن

    إشعار

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

  9. حدد إضافة.

  10. في جزء تحرير سياق حاوية ، ضمن اسم وحدة التخزين، حدد mysecrets.

  11. ضمن مسار التحميل، أدخل /mnt/secrets.

  12. حدد حفظ.

  13. في صفحة Create and deploy new revision ، حدد Create لإنشاء المراجعة الجديدة مع تحميل وحدة التخزين.

استكشاف أخطاء في مراجع Key Vault

عند الرجوع إلى الأسرار من Azure Key Vault، قد تواجه مشاكل أثناء استرجاع الأسرار أو التزامنها. إليك الأخطاء والحلول الشائعة:

خطأ السبب القرار
الهوية المدارة غير مفعلة تطبيق الحاوية لا يحتوي على هوية مدارة. فعل هوية مدارة معينة من النظام أو من قبل المستخدم في تطبيق الحاوية الخاص بك. انظر الهويات المدارة.
الهوية غير موجودة الهوية المدارة المحددة غير موجودة أو غير مخصصة لتطبيق الحاوية. تحقق من إنشاء الهوية وتعيينها لتطبيق الحاوية في قسم الهوية .
تم تعطيل السر في Key Vault السر معطل في مورد Key Vault. اذهب إلى Key Vault الخاص بك في بوابة Azure وفعل السر.
فشل المصادقة الهوية المدارة تفتقر إلى الأذونات المطلوبة لقراءة السر. امنح دور المستخدم Key Vault الأسرار للهوية المدارة على Key Vault الخاص بك. انظر Key Vault Secrets User.
رفض إذن RBAC الهوية المدارة لا تملك صلاحيات كافية للوصول إلى Key Vault. تحقق من تعيين دور RBAC على Key Vault وتأكد من أنه يتضمن أمنات قراءة للأسرار.

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