تنسيق حالة تعيين دور Azure وبناء الجملة
الشرط هو فحص إضافي يمكنك إضافته اختياريا إلى تعيين الدور لتوفير مزيد من التحكم في الوصول الدقيق. مثلاً، يمكنك إضافة شرط يتطلب كائناً ذا علامة معينة لقراءة الكائن. تصف هذه المقالة تنسيق وبناء جملة شروط تعيين الدور.
تنسيق الشرط
لفهم شروط تعيين الدور بشكل أفضل، من المفيد إلقاء نظرة على التنسيق.
حالة بسيطة
يتكون الشرط الأساسي من إجراء مستهدف وتعبير. الإجراء هو عملية يمكن للمستخدم تنفيذها على نوع مورد. التعبير عبارة يتم تقييمها إلى صواب أو خطأ، والتي تحدد ما إذا كان يسمح بتنفيذ الإجراء أم لا.
يوضح التالي تنسيق شرط بسيط.
(
(
!(ActionMatches{'<action>'})
)
OR
(
<attribute> <operator> <value>
)
)
الشرط التالي له إجراء من "قراءة كائن ثنائي كبير الحجم". يتحقق التعبير ما إذا كان اسم الحاوية blobs-example-container.
(
(
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})
)
OR
(
@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name]
StringEquals 'blobs-example-container'
)
)
كيفية تقييم الشرط
إذا حاول مستخدم تنفيذ إجراء في تعيين الدور غير <action>
، !(ActionMatches)
يتم تقييمه إلى صحيح ويتم تقييم الشرط الإجمالي إلى صحيح للسماح بتنفيذ الإجراء.
إذا حاول مستخدم إجراء <action>
في تعيين الدور، !(ActionMatches)
يتم تقييمه إلى خطأ، لذلك يتم تقييم التعبير. إذا تم تقييم التعبير إلى true، يتم تقييم الشرط الإجمالي إلى true للسماح <action>
بتنفيذه. وإلا، <action>
لا يسمح بإجراء.
توضح التعليمات البرمجية الزائفة التالية طريقة أخرى يمكنك من خلالها قراءة هذا الشرط.
if a user tries to perform an action in the role assignment that does not match <action>
{
Allow action to be performed
}
else
{
if <attribute> <operator> <value> is true
{
Allow <action> to be performed
}
else
{
Do not allow <action> to be performed
}
}
العمليات الفرعية
تحتوي بعض الإجراءات على عمليات فرعية. على سبيل المثال، Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
يحتوي إجراء البيانات على التشغيل الفرعي "قائمة الكائنات الثنائية كبيرة الحجم". الشروط ذات التشغيلات الفرعية لها التنسيق التالي.
(
(
!(ActionMatches{'<action>'}
AND
SubOperationMatches{'<subOperation>'})
)
OR
(
<attribute> <operator> <value>
)
)
إجراءات متعددة
يمكن أن يتضمن الشرط إجراءات متعددة تريد السماح بها إذا كان الشرط صحيحا. في حال إن قمت بتحديد إجراءات متعددة لشرط واحد، فقد يكون هناك عدد أقل من السمات المتعلقة بشرطك للاختيار من بينها، لأنه يجب أن تكون السمات متوفرة عبر الإجراءات المحددة.
(
(
!(ActionMatches{'<action>'})
AND
!(ActionMatches{'<action>'})
)
OR
(
<attribute> <operator> <value>
)
)
تعبيرات متعددة
يمكن أن يتضمن الشرط تعبيرات متعددة. اعتمادا على عامل التشغيل، يمكن التحقق من السمات مقابل قيم متعددة.
(
(
!(ActionMatches{'<action>'})
)
OR
(
<attribute> <operator> <value>
AND | OR
<attribute> <operator> {<value>, <value>, <value>}
AND | OR
<attribute> <operator> <value>
)
)
شروط متعددة
يمكنك أيضا دمج الشروط لاستهداف إجراءات متعددة.
(
(
!(ActionMatches{'<action>'})
)
OR
(
<attribute> <operator> <value>
AND | OR
<attribute> <operator> {<value>, <value>, <value>}
AND | OR
<attribute> <operator> <value>
)
)
AND
(
(
!(ActionMatches{'<action>'})
)
OR
(
<attribute> <operator> <value>
AND | OR
<attribute> <operator> <value>
)
)
بناء جملة الشرط
يظهر التالي بناء الجملة لشرط تعيين دور.
(
(
!(ActionMatches{'<action>'} AND SubOperationMatches{'<subOperation>'})
AND
!(ActionMatches{'<action>'} AND SubOperationMatches{'<subOperation>'})
AND
...
)
OR
(
<attribute> <operator> {<value, <value>, ...}
AND | OR
<attribute> <operator> {<value>, <value>, ...}
AND | OR
...
)
)
AND
(
(
!(ActionMatches{'<action>'} AND SubOperationMatches{'<subOperation>'})
AND
!(ActionMatches{'<action>'} AND SubOperationMatches{'<subOperation>'})
AND
...
)
OR
(
<attribute> <operator> {<value, <value>, ...}
AND | OR
<attribute> <operator> {<value>, <value>, ...}
AND | OR
...
)
)
AND
...
الإجراءات
حاليا، يمكن إضافة الشروط إلى تعيينات الأدوار المضمنة أو المخصصة التي تحتوي على تخزين كائن ثنائي كبير الحجم أو إجراءات بيانات تخزين قائمة الانتظار. تتضمن هذه الأدوار المضمنة ما يلي:
- المساهم في بيانات مخزن البيانات الثنائية الكبيرة
- مالك بيانات للبيانات الثنائية الكبيرة للتخزين
- قارئ بيانات للبيانات الثنائية الكبيرة للتخزين
- مساهم بيانات قائمة انتظار التخزين
- معالج رسالة بيانات قائمة انتظار التخزين
- مرسل رسالة بيانات قائمة انتظار التخزين
- قارئ بيانات قائمة انتظار التخزين
للحصول على قائمة بإجراءات التخزين التي يمكنك استخدامها في الظروف، راجع:
- الإجراءات والسمات الخاصة بشروط تعيين دور Azure لتخزين Azure Blob
- الإجراءات والسمات الخاصة بشروط تعيين دور Azure ل Azure Queue Storage.
السمات
اعتمادا على الإجراءات المحددة، قد يتم العثور على السمة في أماكن مختلفة. إذا قمت بتحديد إجراءات متعددة لشرط واحد، فقد يكون هناك عدد أقل من السمات للاختيار من بينها للشرط الخاص بك لأنه يجب أن تكون السمات متوفرة عبر جميع الإجراءات المحددة. لتحديد سمة، يجب تضمين المصدر كبادئة.
مصدر السمة | الوصف | الرمز |
---|---|---|
البيئة | السمة مقترنة ببيئة الطلب، مثل أصل الشبكة للطلب أو التاريخ والوقت الحاليين. |
@Environment |
رئيسي | السمة هي سمة أمان مخصصة تم تعيينها إلى الأساسي، مثل مستخدم أو تطبيق مؤسسة (كيان الخدمة). | @Principal |
Request | السمة هي جزء من طلب الإجراء، مثل تعيين علامة فهرس الكائن الثنائي كبير الحجم. | @Request |
المورد | السمة هي خاصية للمورد، مثل اسم الحاوية. | @Resource |
للحصول على قائمة كاملة بسمات التخزين التي يمكنك استخدامها في الظروف، راجع:
سمات البيئة
ترتبط سمات البيئة بالظروف التي يتم بموجبها طلب الوصول، مثل تاريخ ووقت اليوم أو بيئة الشبكة. قد تكون بيئة الشبكة سواء كان الوصول عبر نقطة نهاية خاصة معينة أو شبكة فرعية لشبكة ظاهرية، أو ربما عبر أي ارتباط خاص.
يسرد الجدول التالي سمات البيئة المدعومة للشروط.
اسم العرض | الوصف | السمة | نوع |
---|---|---|---|
ارتباط خاص1 | استخدم هذه السمة في ظروف تتطلب الوصول عبر أي ارتباط خاص. | isPrivateLink |
منطقيه |
نقطةالنهاية الخاصة 1,2 | استخدم هذه السمة في شروط لتقييد الوصول عبر نقطة نهاية خاصة معينة. | Microsoft.Network/privateEndpoints |
السلسلة |
الشبكةالفرعية 1,3 | استخدم هذه السمة في شروط لتقييد الوصول من شبكة فرعية معينة. | Microsoft.Network/virtualNetworks/subnets |
السلسلة |
التوقيت العالمي المتفق عليه الآن | استخدم هذه السمة في شروط لتقييد الوصول إلى الكائنات خلال فترات زمنية محددة. | UtcNow |
الوقت/التاريخ |
1 بالنسبة لعمليات النسخ، Is private link
Private endpoint
تنطبق السمات و و Subnet
فقط على الوجهة، مثل حساب التخزين، وليس المصدر. لمزيد من المعلومات حول عمليات النسخ التي ينطبق عليها هذا، حدد كل سمة في الجدول للاطلاع على مزيد من التفاصيل.
2 يمكنك استخدام السمة Private endpoint
فقط إذا كان لديك حاليا نقطة نهاية خاصة واحدة على الأقل تم تكوينها في اشتراكك.
3 يمكنك استخدام السمة Subnet
فقط إذا كان لديك حاليا شبكة فرعية واحدة على الأقل للشبكة الظاهرية باستخدام نقاط نهاية الخدمة المكونة في اشتراكك.
السمات الأساسية
السمات الأساسية هي سمات أمان مخصصة تم تعيينها إلى أساس الأمان الذي يطلب الوصول إلى مورد. يمكن أن يكون أساس الأمان مستخدما أو تطبيق مؤسسة (كيان الخدمة).
لاستخدام السمات الأساسية، يجب أن يكون لديك ما يلي:
- أذونات Microsoft Entra للمستخدم الذي قام بتسجيل الدخول، مثل دور مسؤول تعيين السمة
- سمات الأمان المخصصة المعرفة في معرف Microsoft Entra
لمزيد من المعلومات حول سمات الأمان المخصصة، راجع:
- إضافة سمات الأمان المخصصة أو إلغاء تنشيطها في معرف Microsoft Entra
- السماح بالوصول للقراءة إلى الكائنات الثنائية كبيرة الحجم استنادا إلى العلامات وسمات الأمان المخصصة
- لا يظهر الأساسي في مصدر السمة
سمات الطلب
ترتبط سمات الطلب بالمعايير المحددة في طلب الوصول، مثل البادئة المحددة للكائنات الثنائية كبيرة الحجم المراد سردها.
سمات المورد
ترتبط سمات الموارد بالعنصر الذي يتم طلب الوصول إليه، مثل اسم حساب التخزين أو اسم الحاوية أو ما إذا كانت مساحة الاسم الهرمية ممكنة لحساب التخزين.
عوامل تشغيل الوظائف
يسرد هذا القسم عوامل تشغيل الدالة المتوفرة لإنشاء الشروط.
تطابقات الإجراء
الخاصية | القيمة |
---|---|
العامل | ActionMatches |
الوصف | التحقق من تطابق الإجراء الحالي مع نمط الإجراء المحدد. |
الأمثلة | ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} إذا كان الإجراء الذي يتم فحصه يساوي "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read"، فهذا صحيح ActionMatches{'Microsoft.Authorization/roleAssignments/*'} إذا كان الإجراء الذي يتم فحصه يساوي "Microsoft.Authorization/roleAssignments/write"، فهذا صحيح ActionMatches{'Microsoft.Authorization/roleDefinitions/*'} إذا كان الإجراء الذي يتم فحصه يساوي "Microsoft.Authorization/roleAssignments/write"، فعندئذ خطأ |
تطابقات التشغيل الفرعي
الخاصية | القيمة |
---|---|
العامل | SubOperationMatches |
الوصف | التحقق من تطابق التشغيل الفرعي الحالي مع نمط التشغيل الفرعي المحدد. |
الأمثلة | SubOperationMatches{'Blob.List'} |
موجود
الخاصية | القيمة |
---|---|
العامل | Exists |
الوصف | التحقق من وجود السمة المحددة. |
الأمثلة | Exists @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:snapshot] |
السمات تدعم 1 | اسم نطاق التشفير لقطه معرف الإصدار |
1 Exists
يتم دعم عامل التشغيل لهذه السمات فقط في منشئ شرط ABAC المرئي في مدخل Microsoft Azure. يمكنك إضافة عامل التشغيل إلى أي سمة Exists
باستخدام أدوات أخرى، مثل PowerShell وAzure CLI وواجهة برمجة تطبيقات REST ومحرر رمز الشرط في مدخل Microsoft Azure.
العوامل المنطقية
يسرد هذا القسم عوامل التشغيل المنطقية المتوفرة لإنشاء الشروط.
و
الخاصية | القيمة |
---|---|
العوامل | AND && |
الوصف | وعامل التشغيل. |
الأمثلة | !(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'}) |
أو
الخاصية | القيمة |
---|---|
العوامل | OR || |
الوصف | أو عامل التشغيل. |
الأمثلة | @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:versionId] DateTimeEquals '2022-06-01T00:00:00.0Z' OR NOT Exists @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:versionId |
Not
الخاصية | القيمة |
---|---|
العوامل | NOT ! |
الوصف | ليس أو عامل تشغيل الرفض. |
الأمثلة | NOT Exists @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:versionId] |
عوامل المقارنة المنطقية
يسرد هذا القسم عوامل المقارنة المنطقية المتوفرة لإنشاء الشروط.
الخاصية | القيمة |
---|---|
العوامل | BoolEquals BoolNotEquals |
الوصف | مقارنة منطقية. |
الأمثلة | @Resource[Microsoft.Storage/storageAccounts:isHnsEnabled] BoolEquals true |
عوامل تشغيل مقارنة السلسلة
يسرد هذا القسم عوامل مقارنة السلسلة المتوفرة لإنشاء الشروط.
StringEquals
الخاصية | القيمة |
---|---|
العوامل | StringEquals StringEqualsIgnoreCase |
الوصف | مطابقة حساسة لحالة الأحرف (أو غير حساسة لحالة الأحرف). يجب أن تتطابق القيم تماما مع السلسلة. |
الأمثلة | @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEquals 'Cascade' |
StringNotEquals
الخاصية | القيمة |
---|---|
العوامل | StringNotEquals StringNotEqualsIgnoreCase |
الوصف | نفي StringEquals عامل التشغيل (أو StringEqualsIgnoreCase ). |
StringStartsWith
الخاصية | القيمة |
---|---|
العوامل | StringStartsWith StringStartsWithIgnoreCase |
الوصف | مطابقة حساسة لحالة الأحرف (أو غير حساسة لحالة الأحرف). تبدأ القيم بالسلسلة. |
StringNotStartsWith
الخاصية | القيمة |
---|---|
العوامل | StringNotStartsWith StringNotStartsWithIgnoreCase |
الوصف | نفي StringStartsWith عامل التشغيل (أو StringStartsWithIgnoreCase ). |
StringLike
الخاصية | القيمة |
---|---|
العوامل | StringLike StringLikeIgnoreCase |
الوصف | مطابقة حساسة لحالة الأحرف (أو غير حساسة لحالة الأحرف). يمكن أن تتضمن القيم حرف بدل مطابق متعدد الأحرف (* ) أو حرف بدل مطابق لحرف واحد (? ) في أي مكان في السلسلة. إذا لزم الأمر، يمكن تخطي هذه الأحرف عن طريق إضافة رد فعل مائل \* عكسي و \? . |
الأمثلة | @Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:path] StringLike 'readonly/*' Resource[name1] StringLike 'a*c?' إذا كان المورد[name1] يساوي "abcd"، فهذا صحيح Resource[name1] StringLike 'A*C?' إذا كان Resource[name1] يساوي "abcd"، فعندئذ خطأ Resource[name1] StringLike 'a*c' إذا كان Resource[name1] يساوي "abcd"، فعندئذ خطأ |
StringNotLike
الخاصية | القيمة |
---|---|
العوامل | StringNotLike StringNotLikeIgnoreCase |
الوصف | نفي StringLike عامل التشغيل (أو StringLikeIgnoreCase ). |
عوامل المقارنة الرقمية
يسرد هذا القسم عوامل المقارنة الرقمية المتوفرة لإنشاء الشروط.
الخاصية | القيمة |
---|---|
العوامل | NumericEquals NumericNotEquals NumericGreaterThan NumericGreaterThanEquals NumericLessThan NumericLessThanEquals |
الوصف | مطابقة الأرقام. يتم اعتماد الأعداد الصحيحة فقط. |
عوامل مقارنة التاريخ والوقت
يسرد هذا القسم عوامل مقارنة التاريخ/الوقت المتوفرة لإنشاء الشروط.
الخاصية | القيمة |
---|---|
العوامل | DateTimeEquals DateTimeNotEquals DateTimeGreaterThan DateTimeGreaterThanEquals DateTimeLessThan DateTimeLessThanEquals |
الوصف | تحقق من الدقة الكاملة بالتنسيق: yyyy-mm-ddThh:mm:ss.mmmmmmmZ . يستخدم لمعرف إصدار الكائن الثنائي كبير الحجم ولقطة الكائن الثنائي كبير الحجم و UTC الآن. |
الأمثلة | @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:versionId] DateTimeEquals '2022-06-01T00:00:00.0Z' |
عوامل المقارنة GUID
يسرد هذا القسم عوامل المقارنة للمعرف الفريد العمومي (GUID) المتوفرة لإنشاء الشروط.
الخاصية | القيمة |
---|---|
العوامل | GuidEquals GuidNotEquals |
الوصف | مطابقة غير حساسة لحالة الأحرف مع التنسيق: 00000000-0000-0000-0000-000000000000 . يستخدم لتعريف مورد، مثل المعرف الأساسي أو معرف تعريف الدور. |
الأمثلة |
عوامل المقارنة عبر المنتجات
يسرد هذا القسم عوامل المقارنة عبر المنتجات المتوفرة لإنشاء الشروط.
ForAnyOfAnyValues
الخاصية | القيمة |
---|---|
العوامل | ForAnyOfAnyValues:StringEquals ForAnyOfAnyValues:StringEqualsIgnoreCase ForAnyOfAnyValues:StringNotEquals ForAnyOfAnyValues:StringNotEqualsIgnoreCase ForAnyOfAnyValues:StringLike ForAnyOfAnyValues:StringLikeIgnoreCase ForAnyOfAnyValues:StringNotLike ForAnyOfAnyValues:StringNotLikeIgnoreCase ForAnyOfAnyValues:NumericEquals ForAnyOfAnyValues:NumericNotEquals ForAnyOfAnyValues:NumericGreaterThan ForAnyOfAnyValues:NumericGreaterThanEquals ForAnyOfAnyValues:NumericLessThan ForAnyOfAnyValues:NumericLessThanEquals ForAnyOfAnyValues:GuidEquals ForAnyOfAnyValues:GuidNotEquals |
الوصف | إذا كانت قيمة واحدة على الأقل على الجانب الأيسر تفي للمقارنة بقيمة واحدة على الأقل على الجانب الأيمن، تقييم التعبير إلى صحيح. يحتوي على التنسيق: ForAnyOfAnyValues:<BooleanFunction> . يدعم سلاسل وأرقاما متعددة. |
الأمثلة | @Resource[Microsoft.Storage/storageAccounts/encryptionScopes:name] ForAnyOfAnyValues:StringEquals {'validScope1', 'validScope2'} إذا كان اسم نطاق التشفير يساوي validScope1 أو validScope2 ، فعندئذ يكون صحيحا.{'red', 'blue'} ForAnyOfAnyValues:StringEquals {'blue', 'green'} صحيح {'red', 'blue'} ForAnyOfAnyValues:StringEquals {'orange', 'green'} true |
ForAllOfAnyValues
الخاصية | القيمة |
---|---|
العوامل | ForAllOfAnyValues:StringEquals ForAllOfAnyValues:StringEqualsIgnoreCase ForAllOfAnyValues:StringNotEquals ForAllOfAnyValues:StringNotEqualsIgnoreCase ForAllOfAnyValues:StringLike ForAllOfAnyValues:StringLikeIgnoreCase ForAllOfAnyValues:StringNotLike ForAllOfAnyValues:StringNotLikeIgnoreCase ForAllOfAnyValues:NumericEquals ForAllOfAnyValues:NumericNotEquals ForAllOfAnyValues:NumericGreaterThan ForAllOfAnyValues:NumericGreaterThanEquals ForAllOfAnyValues:NumericLessThan ForAllOfAnyValues:NumericLessThanEquals ForAllOfAnyValues:GuidEquals ForAllOfAnyValues:GuidNotEquals |
الوصف | إذا كانت كل قيمة على الجانب الأيسر تفي للمقارنة بقيمة واحدة على الأقل على الجانب الأيمن، تقييم التعبير إلى صحيح. يحتوي على التنسيق: ForAllOfAnyValues:<BooleanFunction> . يدعم سلاسل وأرقاما متعددة. |
الأمثلة | @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] ForAllOfAnyValues:StringEquals {'Cascade', 'Baker', 'Skagit'} {'red', 'blue'} ForAllOfAnyValues:StringEquals {'orange', 'red', 'blue'} صحيح {'red', 'blue'} ForAllOfAnyValues:StringEquals {'red', 'green'} true |
ForAnyOfAllValues
الخاصية | القيمة |
---|---|
العوامل | ForAnyOfAllValues:StringEquals ForAnyOfAllValues:StringEqualsIgnoreCase ForAnyOfAllValues:StringNotEquals ForAnyOfAllValues:StringNotEqualsIgnoreCase ForAnyOfAllValues:StringLike ForAnyOfAllValues:StringLikeIgnoreCase ForAnyOfAllValues:StringNotLike ForAnyOfAllValues:StringNotLikeIgnoreCase ForAnyOfAllValues:NumericEquals ForAnyOfAllValues:NumericNotEquals ForAnyOfAllValues:NumericGreaterThan ForAnyOfAllValues:NumericGreaterThanEquals ForAnyOfAllValues:NumericLessThan ForAnyOfAllValues:NumericLessThanEquals ForAnyOfAllValues:GuidEquals ForAnyOfAllValues:GuidNotEquals |
الوصف | إذا كانت قيمة واحدة على الأقل على الجانب الأيسر تفي للمقارنة مع كل قيمة على الجانب الأيمن، تقييم التعبير إلى صحيح. يحتوي على التنسيق: ForAnyOfAllValues:<BooleanFunction> . يدعم سلاسل وأرقاما متعددة. |
الأمثلة | {10, 20} ForAnyOfAllValues:NumericLessThan {15, 18} صحيح |
ForAllOfAllValues
الخاصية | القيمة |
---|---|
العوامل | ForAllOfAllValues:StringEquals ForAllOfAllValues:StringEqualsIgnoreCase ForAllOfAllValues:StringNotEquals ForAllOfAllValues:StringNotEqualsIgnoreCase ForAllOfAllValues:StringLike ForAllOfAllValues:StringLikeIgnoreCase ForAllOfAllValues:StringNotLike ForAllOfAllValues:StringNotLikeIgnoreCase ForAllOfAllValues:NumericEquals ForAllOfAllValues:NumericNotEquals ForAllOfAllValues:NumericGreaterThan ForAllOfAllValues:NumericGreaterThanEquals ForAllOfAllValues:NumericLessThan ForAllOfAllValues:NumericLessThanEquals ForAllOfAllValues:GuidEquals ForAllOfAllValues:GuidNotEquals |
الوصف | إذا كانت كل قيمة على الجانب الأيسر تفي للمقارنة مع كل قيمة على الجانب الأيمن، تقييم التعبير إلى صحيح. يحتوي على التنسيق: ForAllOfAllValues:<BooleanFunction> . يدعم سلاسل وأرقاما متعددة. |
الأمثلة | {10, 20} ForAllOfAllValues:NumericLessThan {5, 15, 18} true {10, 20} ForAllOfAllValues:NumericLessThan {25, 30} صحيح {10, 20} ForAllOfAllValues:NumericLessThan {15, 25, 30} true |
الأحرف الخاصة
الحرف | الوصف |
---|---|
* |
تمثل العلامة النجمية (*) تطابق حرف بدل متعدد الأحرف يمكن استخدامه مع Like عوامل التشغيل. إذا لزم الأمر، يمكنك الهروب من علامة نجمية عن طريق إضافة مائلة عكسية \* . |
? |
تمثل علامة الاستفهام (؟) تطابق حرف بدل من حرف واحد يمكن استخدامه مع Like عوامل التشغيل. إذا لزم الأمر، يمكنك الهروب من علامة استفهام عن طريق إضافة رد فعل مائل عكسي \? . |
$ |
يتم استخدام علامة الدولار ($) للمساعدة في تحديد مفاتيح العلامات. في Azure PowerShell، إذا كانت سلسلة محاطة بعلامات اقتباس مزدوجة (") تتضمن علامة دولار، فيجب عليك بادئتها بعلامة خلفية ('). على سبيل المثال: tags:Project<`$key_case_sensitive`$> . |
التجميع والأسبقية
إذا كان لديك ثلاثة تعبيرات أو أكثر لإجراء مستهدف مع عوامل تشغيل مختلفة بين التعبيرات، يكون ترتيب التقييم غامضا. يمكنك استخدام الأقواس ()
لتجميع التعبيرات وتحديد ترتيب تقييم التعبيرات. التعبيرات المضمنة بين أقواس لها أسبقية أعلى. على سبيل المثال، إذا كان لديك التعبير التالي:
a AND b OR c
يجب إضافة أقواس بإحدى الطرق التالية:
(a AND b) OR c
a AND (b OR c)