بيانات اعتماد التخزين

ينطبق على:check marked yes Databricks SQL check marked yes Databricks Runtime check marked yes Unity Catalog فقط

يستخدم كتالوج Unity ومخزن بيانات Azure Databricks Hive المضمن المواقع الافتراضية للجداول المدارة. يقدم كتالوج Unity العديد من الكائنات القابلة للتأمين الجديدة لمنح امتيازات للبيانات في تخزين الكائنات السحابية.

بيانات اعتماد التخزين

بيانات اعتماد التخزين هي كائن قابل للتأمين يمثل هوية مدارة من Azure أو أساس خدمة معرف Microsoft Entra.

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

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

أسماء بيانات اعتماد التخزين غير مؤهلة ويجب أن تكون فريدة داخل metastore.

تمثيل رسومي للعلاقات

يصف الرسم التخطيطي التالي العلاقة بين:

  • بيانات اعتماد التخزين
  • المواقع الخارجية
  • جداول خارجية
  • مسارات التخزين
  • كيانات IAM
  • حسابات خدمة Azure

External location ER diagram

الأمثلة

يؤدي استخدام CLI إلى إنشاء بيانات اعتماد my_azure_storage_cred تخزين لمدير خدمة معرف Microsoft Entra.

databricks storage-credentials create --json '{"name": "my_azure_storage_cred", "azure_service_principal": {"directory_id": "12345678-9abc-def0-1234-56789abcdef0", "application_id": "23456789-9abc-def0-1234-56789abcdef0", "client_secret": "Cli3nt5ecr3t"}}'

يمكن تشغيل بقية الأوامر داخل SQL.

-- Grant access to the storage credential
> GRANT READ FILES ON STORAGE CREDENTIAL my_azure_storage_cred TO ceo;

-- ceo can directly read from any storage path using myazure_storage_cred
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/finance/forecast/somefile` WITH (CREDENTIAL my_azure_storage_cred);
  100
> SELECT count(1) FROM `delta`.`abfss://container@storageaccount.dfs.core.windows.net/depts/hr/employees` WITH (CREDENTIAL my_azure_storage_cred);
  2017

-- Create an external location on specific path to which `my_azure_storage_cred` has access
> CREATE EXTERNAL LOCATION finance_loc URL 'abfss://container@storageaccount.dfs.core.windows.net/depts/finance'
    WITH (CREDENTIAL my_azure_storage_cred)
    COMMENT 'finance';