إدارة أدوار قاعدة البيانات والمستخدمين
على مستوى قاعدة بيانات النموذج، يجب أن ينتمي جميع المستخدمين إلى دور. تحدد الأدوار المستخدمين الذين لديهم أذونات معينة لقاعدة بيانات النموذج. يجب أن يكون لأي مستخدم أو مجموعة أمان تمت إضافتها إلى دور حساب في مستأجر Azure AD في نفس الاشتراك مثل الخادم.
تختلف كيفية تحديد الأدوار اعتمادا على الأداة التي تستخدمها، ولكن التأثير هو نفسه.
تتضمن أذونات الدور ما يلي:
- المسؤول - يتمتع المستخدمون بأذونات كاملة لقاعدة البيانات. تختلف أدوار قاعدة البيانات ذات أذونات المسؤول عن مسؤولي الخادم.
- العملية - يمكن للمستخدمين الاتصال بتنفيذ عمليات العملية على قاعدة البيانات وتحليل بيانات قاعدة بيانات النموذج.
- قراءة - يمكن للمستخدمين استخدام تطبيق عميل للاتصال ببيانات قاعدة بيانات النموذج وتحليلها.
عند إنشاء مشروع نموذج جدولي، يمكنك إنشاء أدوار وإضافة مستخدمين أو مجموعات إلى تلك الأدوار باستخدام "إدارة الأدوار" في Visual Studio مع مشاريع "خدمات التحليل". عند النشر على خادم، استخدم SQL Server Management Studio (SSMS) أو cmdlets لخدمات التحليل PowerShell أو لغة البرمجة النصية النموذجية الجدولية (TMSL) لإضافة الأدوار وأعضاء المستخدمين أو إزالتها.
عند إضافة مجموعة أمان، استخدم obj:groupid@tenantid.
عند إضافة استخدام app:appid@tenantidأساسي للخدمة .
لإضافة أدوار ومستخدمين أو إدارتهم في Visual Studio
في " مستكشف النماذج الجدولية"، انقر بزر الماوس الأيمن فوق الأدوار.
في مدير الدور، انقر فوق جديد.
اكتب اسما للدور.
بشكل افتراضي، يتم ترقيم اسم الدور الافتراضي بشكل تدريجي لكل دور جديد. يوصى بكتابة اسم يحدد بوضوح نوع العضو، على سبيل المثال، المديرون الماليون أو أخصائيو الموارد البشرية.
حدد أحد الأذونات التالية:
الإذن الوصف بلا لا يمكن للأعضاء قراءة مخطط النموذج أو تعديله ولا يمكنهم الاستعلام عن البيانات. قراءة يمكن للأعضاء الاستعلام عن البيانات (استنادا إلى عوامل تصفية الصفوف) ولكن لا يمكنهم تعديل مخطط النموذج. القراءة والمعالجة يمكن للأعضاء الاستعلام عن البيانات (استنادا إلى عوامل التصفية على مستوى الصف) وتشغيل عمليات العملية وعملية الكل، ولكن لا يمكنهم تعديل مخطط النموذج. عملية يمكن للأعضاء تشغيل عملية ومعالجة جميع العمليات. لا يمكن قراءة مخطط النموذج أو تعديله ولا يمكن الاستعلام عن البيانات. مسؤول يمكن للأعضاء تعديل مخطط النموذج والاستعلام عن جميع البيانات. إذا كان الدور الذي تقوم بإنشائه يحتوي على إذن قراءة أو قراءة ومعالجة، فيمكنك إضافة عوامل تصفية الصفوف باستخدام صيغة DAX. انقر على علامة التبويب عوامل تصفية الصف ، ثم حدد جدولا، ثم انقر على حقل عامل تصفية DAX، ثم اكتب صيغة DAX.
انقر على الأعضاءإضافة>خارجي.
في إضافة عضو خارجي، أدخل المستخدمين أو المجموعات في مستأجر Azure AD عن طريق عنوان البريد الإلكتروني. بعد النقر فوق موافق وإغلاق "إدارة الأدوار"، تظهر الأدوار وأعضاء الدور في "مستكشف النماذج الجدولية".

قم بالنشر على خادم خدمات تحليل Azure.
لإضافة أدوار ومستخدمين أو إدارتهم في SSMS
لإضافة أدوار ومستخدمين إلى قاعدة بيانات نموذج تم نشرها، يجب أن تكون متصلا بالخادم كمسؤول خادم أو بالفعل في دور قاعدة بيانات مع أذونات المسؤول.
في Object Exporer، انقر بزر الماوس الأيمن فوق أدواردور>جديد.
في إنشاء دور، أدخل اسم الدور ووصفه.
حدد إذنا.
الإذن الوصف التحكم الكامل (المسؤول) يمكن للأعضاء تعديل مخطط النموذج والعملية ويمكنهم الاستعلام عن جميع البيانات. قاعدة بيانات العمليات يمكن للأعضاء تشغيل عملية ومعالجة جميع العمليات. لا يمكن تعديل مخطط النموذج ولا يمكن الاستعلام عن البيانات. قراءة يمكن للأعضاء الاستعلام عن البيانات (استنادا إلى عوامل تصفية الصفوف) ولكن لا يمكنهم تعديل مخطط النموذج. انقر على العضوية، ثم أدخل مستخدما أو مجموعة في مستأجر Azure AD عن طريق عنوان البريد الإلكتروني.

إذا كان الدور الذي تقوم بإنشائه يحتوي على إذن قراءة، فيمكنك إضافة عوامل تصفية الصفوف باستخدام صيغة DAX. انقر فوق عوامل تصفية الصفوف، وحدد جدولا، ثم اكتب صيغة DAX في الحقل عامل تصفية DAX.
لإضافة أدوار ومستخدمين باستخدام برنامج نصي TMSL
يمكنك تشغيل برنامج نصي TMSL في نافذة XMLA في SSMS أو باستخدام PowerShell. استخدم الأمر CreateOrReplace وكائن الأدوار .
نموذج البرنامج النصي TMSL
في هذا النموذج، تتم إضافة مستخدم خارجي B2B ومجموعة إلى دور المحلل مع أذونات القراءة لقاعدة بيانات SalesBI. يجب أن يكون كل من المستخدم الخارجي والمجموعة في نفس المستأجر Azure AD.
{
"createOrReplace": {
"object": {
"database": "SalesBI",
"role": "Analyst"
},
"role": {
"name": "Users",
"description": "All allowed users to query the model",
"modelPermission": "read",
"members": [
{
"memberName": "user1@contoso.com",
"identityProvider": "AzureAD"
},
{
"memberName": "group1@adventureworks.com",
"identityProvider": "AzureAD"
}
]
}
}
}
لإضافة أدوار ومستخدمين باستخدام PowerShell
توفر الوحدة النمطية SqlServer cmdlets لإدارة قواعد البيانات الخاصة بالمهام و cmdlet Invoke-ASCmd للأغراض العامة التي تقبل استعلام أو برنامج نصي للغة البرمجة النصية للنموذج الجدولي (TMSL). يتم استخدام cmdlets التالية لإدارة أدوار قاعدة البيانات والمستخدمين.
| Cmdlet | الوصف |
|---|---|
| إضافة عضو دور | إضافة عضو إلى دور قاعدة بيانات. |
| إزالة-دور العضو | إزالة عضو من دور قاعدة بيانات. |
| Invoke-ASCmd | تنفيذ برنامج نصي TMSL. |
مرشحات الصفوف
تحدد عوامل تصفية الصفوف الصفوف التي يمكن الاستعلام عنها في جدول بواسطة أعضاء دور معين. يتم تعريف عوامل تصفية الصفوف لكل جدول في نموذج باستخدام صيغ DAX.
يمكن تعريف عوامل تصفية الصفوف فقط للأدوار التي تحتوي على أذونات القراءة والقراءة والمعالجة. بشكل افتراضي، إذا لم يتم تعريف عامل تصفية صف لجدول معين، يمكن للأعضاء الاستعلام عن جميع الصفوف في الجدول ما لم يتم تطبيق التصفية المتقاطعة من جدول آخر.
تتطلب عوامل تصفية الصفوف صيغة DAX، والتي يجب تقييمها إلى قيمة TRUE/FALSE، لتحديد الصفوف التي يمكن الاستعلام عنها بواسطة أعضاء هذا الدور المحدد. لا يمكن الاستعلام عن الصفوف غير المضمنة في صيغة DAX. على سبيل المثال، جدول العملاء الذي يحتوي على تعبير عوامل تصفية الصف التالي، =العملاء [البلد] = "الولايات المتحدة الأمريكية"، يمكن لأعضاء دور المبيعات رؤية العملاء في الولايات المتحدة الأمريكية فقط.
تنطبق عوامل تصفية الصفوف على الصفوف المحددة والصفوف ذات الصلة. عندما يحتوي الجدول على علاقات متعددة، تطبق عوامل التصفية الأمان للعلاقة النشطة. تتقاطع عوامل تصفية الصفوف مع ملفات الصفوف الأخرى المحددة للجداول ذات الصلة، على سبيل المثال:
| الجدول | تعبير DAX |
|---|---|
| المنطقة | = المنطقة [البلد] = "الولايات المتحدة الأمريكية" |
| فئة المنتج | = فئة المنتج[الاسم]="الدراجات" |
| المعاملات | = المعاملات [السنة] = 2016 |
التأثير الصافي هو أنه يمكن للأعضاء الاستعلام عن صفوف البيانات حيث يكون العميل في الولايات المتحدة الأمريكية ، وفئة المنتج هي الدراجات ، والسنة هي 2016. لا يمكن للمستخدمين الاستعلام عن المعاملات خارج الولايات المتحدة الأمريكية، أو المعاملات التي ليست دراجات، أو المعاملات التي لا تتم في عام 2016 ما لم يكونوا أعضاء في دور آخر يمنح هذه الأذونات.
يمكنك استخدام عامل التصفية، =FALSE()، لرفض الوصول إلى كافة الصفوف لجدول بأكمله.
الخطوات التالية
إدارة مسؤولي الخادم
إدارة خدمات تحليل Azure باستخدام PowerShell
مرجع لغة البرمجة النصية للنموذج الجدولي (TMSL)