Aracılığıyla paylaş


Azure rol atama koşulu biçimi ve söz dizimi

Koşul, daha ayrıntılı erişim denetimi sağlamak için isteğe bağlı olarak rol atamanıza ekleyebileceğiniz ek bir denetimdir. Örneğin, bir nesnenin nesneyi okumak için belirli bir etikete sahip olmasını gerektiren bir koşul ekleyebilirsiniz. Bu makalede rol atama koşullarının biçimi ve söz dizimi açıklanmaktadır.

Koşul biçimi

Rol atama koşullarını daha iyi anlamak için biçime bakmaya yardımcı olur.

Basit koşul

En temel koşul, hedeflenen bir eylemden ve ifadeden oluşur. Eylem, kullanıcının kaynak türünde gerçekleştirebileceği bir işlemdir. İfade, eylemin gerçekleştirilmesine izin verilip verilmediğini belirleyen true veya false olarak değerlendirilen bir deyimdir.

Aşağıda basit bir koşulun biçimi gösterilmektedir.

Tek bir eylem ve tek bir ifade içeren basit bir koşulun biçimi.

(
    (
        !(ActionMatches{'<action>'})
    )
    OR
    (
        <attribute> <operator> <value>
    )
)

Aşağıdaki koşulda "Blob okuma" eylemi vardır. İfade, kapsayıcı adının blobs-example-container olup olmadığını denetler.

(
    (
        !(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})
    )
    OR 
    (
        @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name]
        StringEquals 'blobs-example-container'
    )
)

Belirli bir kapsayıcı adına sahip bloblara okuma erişimini gösteren diyagram.

Koşulun değerlendirilme şekli

Kullanıcı rol atamasında <action>!(ActionMatches) olmayan bir eylem gerçekleştirmeyi denerse true olarak değerlendirilir ve eylemin gerçekleştirilmesine izin vermek için genel koşul true olarak değerlendirilir.

Kullanıcı rol atamasında gerçekleştirmeye <action> çalışırsa false !(ActionMatches) olarak değerlendirilir, böylece ifade değerlendirilir. İfade true olarak değerlendirilirse, genel koşul gerçekleştirilmesine izin <action> vermek için true olarak değerlendirilir. Aksi takdirde, <action> gerçekleştirilmesine izin verilmez.

Aşağıdaki sahte kod, bu koşulu okuyabileceğiniz başka bir yol gösterir.

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
    }
}

Alt çalışma

Bazı eylemlerin alt işlemleri vardır. Örneğin, veri eylemi " Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read Blobları listele" alt işlemine sahiptir. Alt işlemleri olan koşullar aşağıdaki biçime sahiptir.

Alt işlemi olan bir eylem için biçim.

(
    (
        !(ActionMatches{'<action>'}
        AND
        SubOperationMatches{'<subOperation>'})

    )
    OR
    (
        <attribute> <operator> <value>
    )
)

Birden çok eylem

Koşul doğruysa, izin vermek istediğiniz birden çok eylem içerebilir. Tek bir koşul için birden çok eylem seçerseniz, özniteliklerin seçilen eylemlerde kullanılabilir olması gerektiğinden, koşulunuz için aralarından seçim yapabileceğiniz öznitelik sayısı daha az olabilir.

Koşulun doğru olup olmadığını izin vermek için birden çok eylem biçimi.

(
    (
        !(ActionMatches{'<action>'})
        AND
        !(ActionMatches{'<action>'})
    )
    OR
    (
        <attribute> <operator> <value>
    )
)

Birden çok ifade

Bir koşul birden çok ifade içerebilir. İşlecine bağlı olarak, öznitelikler birden çok değere karşı denetlenebilir.

Boole işleçleri ve birden çok değer kullanarak birden çok ifade için biçimlendirme.

(
    (
        !(ActionMatches{'<action>'})
    )
    OR
    (
        <attribute> <operator> <value>
        AND | OR
        <attribute> <operator> {<value>, <value>, <value>}
        AND | OR
        <attribute> <operator> <value>
    )
)

Birden çok koşul

Birden çok eylemi hedeflemek için koşulları birleştirebilirsiniz.

Boole işlecini kullanarak birden çok koşul için biçim.

(
    (
        !(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>
    )
)

Koşul söz dizimi

Aşağıda, rol atama koşulunun söz dizimi gösterilmektedir.

(
    (
        !(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
...

Eylemler

Şu anda, blob depolama veya kuyruk depolama veri eylemlerine sahip yerleşik veya özel rol atamalarına koşullar eklenebilir. Bunlara aşağıdaki yerleşik roller dahildir:

Koşullarda kullanabileceğiniz depolama eylemlerinin listesi için bkz:

Özellikler

Seçili eylemlere bağlı olarak, özniteliği farklı yerlerde bulunabilir. Tek bir koşul için birden çok eylem seçerseniz, özniteliklerin tüm seçili eylemlerde kullanılabilir olması gerektiğinden, koşulunuz için aralarından seçim yapabileceğiniz öznitelik sayısı daha az olabilir. Bir öznitelik belirtmek için kaynağı ön ek olarak eklemeniz gerekir.

Öznitelik kaynağı Açıklama Kod
Ortam Öznitelik, isteğin ağ kaynağı veya geçerli tarih ve saat gibi isteğin ortamıyla ilişkilendirilir.
@Environment
Müdür Öznitelik, kullanıcı veya kurumsal uygulama (hizmet sorumlusu) gibi sorumluya atanmış özel bir güvenlik özniteliğidir. @Principal
İste Öznitelik, blob dizin etiketini ayarlama gibi eylem isteğinin bir parçasıdır. @Request
Kaynak Öznitelik, kaynağın kapsayıcı adı gibi bir özelliğidir. @Resource

Koşullarda kullanabileceğiniz depolama özniteliklerinin tam listesi için bkz:

Ortam öznitelikleri

Ortam öznitelikleri, erişim isteğinin yapıldığı tarih ve saat veya ağ ortamı gibi koşullarla ilişkilendirilir. Ağ ortamı, erişimin belirli bir özel uç nokta veya sanal ağ alt ağı üzerinden veya belki de herhangi bir özel bağlantı üzerinden olması olabilir.

Aşağıdaki tabloda koşullar için desteklenen ortam öznitelikleri listelenmektedir.

Görünen ad Açıklama Öznitelik Tür
Özel bağlantı1 Bu özniteliği, herhangi bir özel bağlantı üzerinden erişim gerektiren koşullarda kullanın. isPrivateLink Boolean
Özel uç nokta1,2 Belirli bir özel uç nokta üzerinden erişimi kısıtlamak için koşullarda bu özniteliği kullanın. Microsoft.Network/privateEndpoints Dize
Alt ağ1,3 Belirli bir alt ağdan erişimi kısıtlamak için koşullarda bu özniteliği kullanın. Microsoft.Network/virtualNetworks/subnets Dize
UTC şimdi Belirli dönemlerde nesnelere erişimi kısıtlamak için koşullarda bu özniteliği kullanın. UtcNow Tarih Saat

1 Kopyalama işlemleri için , Is private linkPrivate endpointve Subnet öznitelikleri yalnızca hedef için geçerlidir; örneğin, kaynak için değil, depolama hesabı. Bunun geçerli olduğu kopyalama işlemleri hakkında daha fazla bilgi için, daha fazla ayrıntı görmek için tablodaki her özniteliği seçin.
2 Özniteliği yalnızca aboneliğinizde yapılandırılmış en az bir özel uç noktanız varsa kullanabilirsiniz Private endpoint .
3 Özniteliği yalnızca aboneliğinizde yapılandırılmış hizmet uç noktalarını kullanan en az bir sanal ağ alt ağınız varsa kullanabilirsinizSubnet.

Asıl öznitelikler

Asıl öznitelikler, bir kaynağa erişim isteyen güvenlik sorumlusuna atanan özel güvenlik öznitelikleridir. Güvenlik sorumlusu bir kullanıcı veya kurumsal uygulama (hizmet sorumlusu) olabilir.

Asıl öznitelikleri kullanmak için aşağıdakilere sahip olmanız gerekir:

  • Oturum açmış kullanıcı için Öznitelik Atama Yöneticisi rolü gibi Microsoft Entra izinleri
  • Microsoft Entra Id'de tanımlanan özel güvenlik öznitelikleri

Özel güvenlik öznitelikleri hakkında daha fazla bilgi için bkz:

İstek öznitelikleri

İstek öznitelikleri, listelenecek blobların belirtilen ön eki gibi bir erişim isteğinde belirtilen ölçütlerle ilişkilendirilir.

Kaynak öznitelikleri

Kaynak öznitelikleri, depolama hesabı adı, kapsayıcı adı veya depolama hesabı için hiyerarşik ad alanının etkinleştirilip etkinleştirilmediği gibi erişim istenen nesneyle ilişkilendirilir.

İşlev işleçleri

Bu bölümde, koşulları oluşturmak için kullanılabilen işlev işleçleri listelenir.

ActionMatches

Özellik Değer
Operator ActionMatches
Açıklama Geçerli eylemin belirtilen eylem düzeniyle eşleşip eşleşmediğini denetler.
Örnekler ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'}
denetlenen eylem "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read" değerine eşitse true

ActionMatches{'Microsoft.Authorization/roleAssignments/*'}
denetlenen eylem "Microsoft.Authorization/roleAssignments/write" değerine eşitse, true

ActionMatches{'Microsoft.Authorization/roleDefinitions/*'}
denetlenen eylem "Microsoft.Authorization/roleAssignments/write" değerine eşitse false

SubOperationMatches

Özellik Değer
Operator SubOperationMatches
Açıklama Geçerli alt işlemin belirtilen alt çalışma düzeniyle eşleşip eşleşmediğini denetler.
Örnekler SubOperationMatches{'Blob.List'}

Exists

Özellik Değer
Operator Exists
Açıklama Belirtilen özniteliğin mevcut olup olmadığını denetler.
Örnekler Exists @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:snapshot]
Öznitelikler desteği 1 Şifreleme kapsamı adı
Anlık Görüntü
Sürüm Kimliği

1 İşleç Exists , Azure portalındaki görsel ABAC koşul oluşturucusunda yalnızca bu öznitelikler için desteklenir. Azure portalında Exists PowerShell, Azure CLI, REST API ve koşul kodu düzenleyicisi gibi diğer araçları kullanarak işleci herhangi bir özniteliğe ekleyebilirsiniz.

Mantıksal işleçler

Bu bölümde, koşulları oluşturmak için kullanılabilen mantıksal işleçler listelenir.

And

Özellik Değer
İşleçler AND
&&
Açıklama Ve işleci.
Örnekler !(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'})

Or

Özellik Değer
İşleçler OR
||
Açıklama Veya işleci.
Örnekler @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

Özellik Değer
İşleçler NOT
!
Açıklama Değil veya olumsuzlama işleci.
Örnekler NOT Exists @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:versionId]

Boole karşılaştırma işleçleri

Bu bölümde, koşulları oluşturmak için kullanılabilen Boole karşılaştırma işleçleri listelenir.

Özellik Değer
İşleçler BoolEquals
BoolNotEquals
Açıklama Boole karşılaştırması.
Örnekler @Resource[Microsoft.Storage/storageAccounts:isHnsEnabled] BoolEquals true

Dize karşılaştırma işleçleri

Bu bölümde, koşulları oluşturmak için kullanılabilen dize karşılaştırma işleçleri listelenir.

StringEquals

Özellik Değer
İşleçler StringEquals
StringEqualsIgnoreCase
Açıklama Büyük/küçük harfe duyarlı (veya büyük/küçük harfe duyarsız) eşleştirme. Değerlerin dizeyle tam olarak eşleşmesi gerekir.
Örnekler @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEquals 'Cascade'

StringNotEquals

Özellik Değer
İşleçler StringNotEquals
StringNotEqualsIgnoreCase
Açıklama (veya StringEqualsIgnoreCase) işlecinin StringEquals olumsuzlanması.

StringStartsWith

Özellik Değer
İşleçler StringStartsWith
StringStartsWithIgnoreCase
Açıklama Büyük/küçük harfe duyarlı (veya büyük/küçük harfe duyarsız) eşleştirme. Değerler dizeyle başlar.

StringNotStartsWith

Özellik Değer
İşleçler StringNotStartsWith
StringNotStartsWithIgnoreCase
Açıklama (veya StringStartsWithIgnoreCase) işlecinin StringStartsWith olumsuzlanması.

StringLike

Özellik Değer
İşleçler StringLike
StringLikeIgnoreCase
Açıklama Büyük/küçük harfe duyarlı (veya büyük/küçük harfe duyarsız) eşleştirme. Değerler, dizenin herhangi bir yerinde çok karakterli eşleşme joker karakter (*) veya tek karakterli eşleşme joker karakter (?) içerebilir. Gerekirse, bu karakterler ters eğik çizgi \* ve \?eklenerek kaçılabilir.
Örnekler @Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:path] StringLike 'readonly/*'

Resource[name1] StringLike 'a*c?'
Kaynak[ad1] "abcd" değerine eşitse true

Resource[name1] StringLike 'A*C?'
Resource[name1] eşittir "abcd" ise false

Resource[name1] StringLike 'a*c'
Resource[name1] eşittir "abcd" ise false

StringNotLike

Özellik Değer
İşleçler StringNotLike
StringNotLikeIgnoreCase
Açıklama (veya StringLikeIgnoreCase) işlecinin StringLike olumsuzlanması.

Sayısal karşılaştırma işleçleri

Bu bölümde, koşulları oluşturmak için kullanılabilen sayısal karşılaştırma işleçleri listelenir.

Özellik Değer
İşleçler NumericEquals
NumericNotEquals
NumericGreaterThan
NumericGreaterThanEquals
NumericLessThan
NumericLessThanEquals
Açıklama Sayı eşleştirme. Yalnızca tamsayılar desteklenir.

DateTime karşılaştırma işleçleri

Bu bölümde, koşulları oluşturmak için kullanılabilen tarih/saat karşılaştırma işleçleri listelenir.

Özellik Değer
İşleçler DateTimeEquals
DateTimeNotEquals
DateTimeGreaterThan
DateTimeGreaterThanEquals
DateTimeLessThan
DateTimeLessThanEquals
Açıklama Biçimiyle tam duyarlık denetimi: yyyy-mm-ddThh:mm:ss.mmmmmmmZ. Şimdi blob sürüm kimliği, blob anlık görüntüsü ve UTC için kullanılır.
Örnekler @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:versionId] DateTimeEquals '2022-06-01T00:00:00.0Z'

GUID karşılaştırma işleçleri

Bu bölümde, koşulları oluşturmak için kullanılabilen genel benzersiz tanımlayıcı (GUID) karşılaştırma işleçleri listelenir.

Özellik Değer
İşleçler GuidEquals
GuidNotEquals
Açıklama Biçimiyle büyük/küçük harfe duyarsız eşleştirme: 00000000-0000-0000-0000-000000000000. Asıl kimlik veya rol tanımı kimliği gibi bir kaynağı tanımlamak için kullanılır.
Örnekler

Çapraz ürün karşılaştırma işleçleri

Bu bölümde, koşulları oluşturmak için kullanılabilen çapraz ürün karşılaştırma işleçleri listelenir.

ForAnyOfAnyValues

Özellik Değer
İşleçler 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
Açıklama Sol taraftaki en az bir değer sağ taraftaki en az bir değerle karşılaştırmayı karşılarsa, ifade true olarak değerlendirilir. Şu biçime sahiptir: ForAnyOfAnyValues:<BooleanFunction>. Birden çok dizeyi ve sayıyı destekler.
Örnekler @Resource[Microsoft.Storage/storageAccounts/encryptionScopes:name] ForAnyOfAnyValues:StringEquals {'validScope1', 'validScope2'}
Şifreleme kapsamı adı veya validScope2değerine eşitse validScope1 true olur.

{'red', 'blue'} ForAnyOfAnyValues:StringEquals {'blue', 'green'}
true

{'red', 'blue'} ForAnyOfAnyValues:StringEquals {'orange', 'green'}
yanlış

ForAllOfAnyValues

Özellik Değer
İşleçler 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
Açıklama Sol taraftaki her değer sağ taraftaki en az bir değerle karşılaştırmayı karşılarsa, ifade true olarak değerlendirilir. Şu biçime sahiptir: ForAllOfAnyValues:<BooleanFunction>. Birden çok dizeyi ve sayıyı destekler.
Örnekler @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] ForAllOfAnyValues:StringEquals {'Cascade', 'Baker', 'Skagit'}

{'red', 'blue'} ForAllOfAnyValues:StringEquals {'orange', 'red', 'blue'}
true

{'red', 'blue'} ForAllOfAnyValues:StringEquals {'red', 'green'}
yanlış

ForAnyOfAllValues

Özellik Değer
İşleçler 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
Açıklama Sol taraftaki en az bir değer sağ taraftaki her değerle karşılaştırmayı karşılarsa, ifade true olarak değerlendirilir. Şu biçime sahiptir: ForAnyOfAllValues:<BooleanFunction>. Birden çok dizeyi ve sayıyı destekler.
Örnekler {10, 20} ForAnyOfAllValues:NumericLessThan {15, 18}
true

ForAllOfAllValues

Özellik Değer
İşleçler 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
Açıklama Sol taraftaki her değer sağ taraftaki her değerle karşılaştırmayı karşılarsa ifade true olarak değerlendirilir. Şu biçime sahiptir: ForAllOfAllValues:<BooleanFunction>. Birden çok dizeyi ve sayıyı destekler.
Örnekler {10, 20} ForAllOfAllValues:NumericLessThan {5, 15, 18}
yanlış

{10, 20} ForAllOfAllValues:NumericLessThan {25, 30}
true

{10, 20} ForAllOfAllValues:NumericLessThan {15, 25, 30}
yanlış

Özel karakterler

Karakter Açıklama
* Yıldız işareti (*) işleçlerle Like kullanılabilen çok karakterli joker karakter eşleşmelerini temsil eder. Gerekirse, ters eğik çizgi \*ekleyerek yıldız işaretinden kaçabilirsiniz.
? Soru işareti (?), işleçlerle Like kullanılabilen tek karakterli joker karakter eşleşmelerini temsil eder. Gerekirse, ters eğik çizgi \?ekleyerek soru işaretinden kaçabilirsiniz.
$ Etiket anahtarlarının çizgisini belirlemeye yardımcı olmak için dolar işareti ($) kullanılır. Azure PowerShell'de, çift tırnak (") içine alınmış bir dize dolar işareti içeriyorsa, bu dizeye bir backtick (') ön eki uygulamanız gerekir. Örneğin: tags:Project<`$key_case_sensitive`$>.

Gruplandırma ve öncelik

İfadeler arasında farklı işleçlere sahip bir hedeflenen eylem için üç veya daha fazla ifadeniz varsa, değerlendirme sırası belirsizdir. İfadeleri () gruplandırmak ve ifadelerin değerlendirilme sırasını belirtmek için parantez kullanırsınız. Parantez içine alınmış ifadeler daha yüksek önceliğe sahiptir. Örneğin, aşağıdaki ifadeye sahipseniz:

a AND b OR c

Aşağıdaki yollardan biriyle parantez eklemeniz gerekir:

(a AND b) OR c
a AND (b OR c)

Sonraki adımlar