البيانات السرية

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

إنشاء بيانات سرية

أسماء البيانات السرية غير حساسة لحالة الأحرف.

تعتمد طريقة إنشاء سر على ما إذا كنت تستخدم نطاق Azure مفتاح Vault المدعومة أو نطاق تدعمها Databricks.

إنشاء سر في نطاق Azure مفتاح المدفن المدعومة

لإنشاء سر في Azure مفتاح قبو استخدام API الراحة SetSecret Azure أو واجهة المستخدم المدخل Azure.

Azure Key Vault

إنشاء سر في نطاق مدعوم من Databricks

لإنشاء سر في نطاق تدعمها Databricks باستخدام CLI Databricks (الإصدار 0.7.1 وما فوق):

databricks secrets put --scope <scope-name> --key <key-name>

يقوم المحرر بفتح وعرض محتوى مثل هذا:

# ----------------------------------------------------------------------
# Do not edit the above line. Everything that follows it will be ignored.
# Please input your secret value above the line. Text will be stored in
# UTF-8 (MB4) form and any trailing new line will be stripped.
# Exit without saving will abort writing secret.

لصق القيمة السرية فوق السطر وحفظ والخروج من المحرر. يتم تجريد الإدخال من التعليقات وتخزينه المقترن بالمفتاح في النطاق.

إذا قمت بإصدار طلب كتابة باستخدام مفتاح موجود مسبقا، القيمة الجديدة بالكتابة فوق القيمة الموجودة.

يمكنك أيضا توفير سر من ملف أو من سطر الأوامر. لمزيد من المعلومات حول كتابة الأسرار، راجع الأسرار CLI.

قائمة بالبيانات السرية

لسرد الأسرار في نطاق معين:

databricks secrets list --scope <scope-name>

تعرض الاستجابة معلومات بيانات التعريف حول السر، مثل اسم المفتاح السري وآخر تحديث في الطابع الزمني (بالمللي ثانية منذ العصر). يمكنك استخدام الأداة المساعدة "أسرار" (dbutils.secrets) في دفتر ملاحظات أو مهمة لقراءة سر. على سبيل المثال:

databricks secrets list --scope jdbc
Key name    Last updated
----------  --------------
password    1531968449039
username    1531968408097

قراءة سر

إنشاء أسرار باستخدام API REST أو CLI ولكن يجب استخدام الأداة المساعدة الأسرار (dbutils.secrets) في دفتر ملاحظات أو مهمة لقراءة سر.

المسارات السرية في خاصية تكوين Spark أو متغير البيئة

هام

هذه الميزة في المعاينة العامة.

ملاحظة

متوفر في Databricks وقت التشغيل 6.4 الدعم الموسع وما فوق.

يمكنك تخزين المسار إلى سر في خاصية تكوين Spark أو متغير البيئة. يتم تنقيح الأسرار المستردة من إخراج دفتر الملاحظات وسجلات برنامج التشغيل والمنفذ Spark.

هام

ضع في الاعتبار الآثار الأمنية التالية عند تخزين المسارات السرية في خاصية تكوين Spark أو متغير البيئة:

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

  • حتى عند تمكين عنصر تحكم الوصول إلى الجدول، يمكن للمستخدمين الذين لديهم أذونات Can Attach To على نظام مجموعة أو تشغيل أذونات على دفتر ملاحظات قراءة متغيرات بيئة نظام المجموعة من داخل دفتر الملاحظات. لا تنصح Databricks بتخزين الأسرار في متغيرات بيئة نظام المجموعة إذا كان يجب أن لا تكون متوفرة لكافة المستخدمين على الكتلة.

  • لا يتم تنقيح الأسرار من سجل برنامج تشغيل Spark stderr والجداول. افتراضيا، سجلات برنامج التشغيل Spark قابلة للعرض من قبل المستخدمين مع أي من أذونات مستوى الكتلةالتالية:

    • يمكن إرفاق إلى
    • يمكن إعادة تشغيل
    • يمكن إدارة

    يمكنك تحديد الذين يمكنهم قراءة سجلات برنامج تشغيل Spark للمستخدمين الذين لديهم إذن "إدارة يمكن" اختياريا عن طريق تعيين الخاصية تكوين Spark الكتلة spark.databricks.acl.needAdminPermissionToViewLogs true

المتطلبات والقيود

تنطبق المتطلبات والقيود التالية على تخزين المسارات السرية.

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

قيمة المسار

يجب أن يكون بناء جملة الخاصية تكوين Spark أو قيمة مسار متغير البيئة {{secrets/<scope-name>/<secret-name>}} . يجب أن تبدأ {{secrets/ القيمة ب. }}

الأجزاء المتغيرة من الخاصية تكوين Spark أو متغير البيئة هي:

  • <scope-name>اسم النطاق الذي يرتبط به السر:
  • <secret-name>الاسم الفريد للسر في النطاق:

على سبيل المثال، ⁧{{secrets/scope1/key1}}⁩.

ملاحظة

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

استرداد خاصية تكوين Spark من سر

تحديد مسار سري في خاصية تكوين Spark بالتنسيق التالي:

spark.<secret-prop-name> <path-value>

spark.<secret-prop-name> هو اسم خاصية تكوين Spark الذي يعين المسار السري. يمكنك إضافة أسرار متعددة إلى تكوين Spark طالما أن أسماء الخصائص السرية فريدة من نوعها.

مثال

spark.password {{secrets/scope1/key1}}

لجلب السر في دفتر الملاحظات واستخدامه:

بايثون:

spark.conf.get("spark.password")

SQL:

%sql SELECT ${spark.password};

تخزين المسار إلى سر في متغير بيئة

تحديد مسار سري في متغير بيئة واستخدامه في برنامج نصي init نطاق الكتلة. لا يمكن الوصول إلى متغيرات البيئة هذه من برنامج يعمل في Spark.

SPARKPASSWORD=<path-value>

لجلب السر في برنامج نصي init ، والوصول $SPARKPASSWORD إلى :

if [[ ${SPARKPASSWORD} ]]; then
  use ${SPARKPASSWORD}
fi

حذف البيانات السرية

لحذف سر من نطاق مدعوم ب Azure Key Vault، استخدم واجهة برمجة تطبيقات Azure SetSecret REST API أو واجهة مستخدم المدخل Azure.