Azure-beli szerepkör-hozzárendelés feltételeinek formátuma és szintaxisa

A feltétel egy olyan további ellenőrzés, amelyet hozzáadhat a szerepkör-hozzárendeléshez a még részletesebb hozzáférés-vezérlés érdekében. Hozzáadhat például egy feltételt, amely megköveteli, hogy egy objektum egy adott címkével rendelkezzen az objektum olvasásához. Ez a cikk a szerepkör-hozzárendelési feltételek formátumát és szintaxisát ismerteti.

Feltételformátum

A szerepkör-hozzárendelési feltételek jobb megértése érdekében segít áttekinteni a formátumot.

Egyszerű feltétel

A legalapvetőbb feltétel egy célzott műveletből és egy kifejezésből áll. A művelet olyan művelet, amelyet a felhasználó végrehajthat egy erőforrástípuson. A kifejezés egy igaz vagy hamis értéket kiértékelő utasítás, amely meghatározza, hogy a művelet végrehajtható-e.

Az alábbiakban egy egyszerű feltétel formátuma látható.

Egyszerű feltétel formázása egyetlen művelettel és egyetlen kifejezéssel.

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

Az alábbi feltétel a "Blob olvasása" művelet. A kifejezés ellenőrzi, hogy a tároló neve blob-example-container-e.

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

Egy adott tárolónévvel rendelkező blobok olvasási hozzáférését bemutató ábra.

A feltétel kiértékelésének menete

Ha egy felhasználó olyan műveletet próbál végrehajtani a szerepkör-hozzárendelésben, amely nem <action>az, !(ActionMatches) akkor a kiértékelése igaz, és az általános feltétel igaz értékre van kiértékelve, hogy lehetővé tegye a művelet végrehajtását.

Ha egy felhasználó megpróbálja végrehajtani <action> a szerepkör-hozzárendelést, !(ActionMatches) hamis értékre értékel, így a kifejezés kiértékelése történik. Ha a kifejezés igaz értéket ad vissza, az általános feltétel igaz értéket ad, hogy lehetővé tegye <action> a végrehajtást. <action> Ellenkező esetben nem végezhető el.

Az alábbi pszeudokód egy másik módszert mutat be, amellyel elolvashatja ezt a feltételt.

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

Aloperációk

Egyes műveletek alműveletekkel rendelkeznek. Az adatművelet például Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read a "Listablobok" alműveletet tartalmazza. Az alműveletekkel kapcsolatos feltételek formátuma a következő.

Alművelettel rendelkező művelet formázása.

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

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

Több művelet

Egy feltétel több olyan műveletet is tartalmazhat, amelyet engedélyezni szeretne, ha a feltétel igaz. Ha egyetlen feltételhez több műveletet is kiválaszt, előfordulhat, hogy kevesebb attribútum közül kell választania a feltételhez, mert az attribútumoknak elérhetőnek kell lenniük a kijelölt műveletek között.

Több művelet formázása, hogy engedélyezve legyen, ha a feltétel igaz.

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

Több kifejezés

Egy feltétel több kifejezést is tartalmazhat. Az operátortól függően az attribútumok több értéken is ellenőrizhetők.

Több kifejezés formázása logikai operátorok és több érték használatával.

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

Több feltétel

A feltételek kombinálásával több műveletet is megcélozhat.

Több feltétel formázása logikai operátor használatával.

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

Feltételszintaxis

Az alábbiakban egy szerepkör-hozzárendelési feltétel szintaxisa látható.

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

Műveletek

Jelenleg olyan beépített vagy egyéni szerepkör-hozzárendelésekhez lehet feltételeket adni, amelyek blobtároló- vagy üzenetsortár-adatműveletekkel rendelkeznek. Ezek közé a következő beépített szerepkörök tartoznak:

A feltételek között használható tárolási műveletek listáját a következő témakörben találja:

Attribútumok

A kiválasztott műveletektől függően előfordulhat, hogy az attribútum különböző helyeken található. Ha egyetlen feltételhez több műveletet is kiválaszt, előfordulhat, hogy kevesebb attribútum közül kell választania a feltételhez, mert az attribútumoknak az összes kijelölt műveletben elérhetőnek kell lenniük. Attribútum megadásához a forrást előtagként kell megadnia.

Attribútumforrás Leírás Kód
Environment Az attribútum a kérelem környezetéhez van társítva, például a kérés hálózati eredetéhez vagy az aktuális dátumhoz és időponthoz.
@Environment
Az attribútum az egyszerű szolgáltatáshoz rendelt egyéni biztonsági attribútum, például egy felhasználó vagy egy vállalati alkalmazás (szolgáltatásnév). @Principal
Kérelem Az attribútum a műveletkérés része, például a blobindexcímke beállítása. @Request
Erőforrás Az attribútum az erőforrás tulajdonsága, például egy tároló neve. @Resource

A feltételekben használható tárolási attribútumok teljes listáját a következő témakörben találja:

Környezeti attribútumok

A környezeti attribútumok a hozzáférési kérések körülményeihez vannak társítva, például a nap és a nap időpontja vagy a hálózati környezet. A hálózati környezet lehet, hogy a hozzáférés egy adott privát végponton vagy egy virtuális hálózati alhálózaton keresztül történik, vagy akár bármilyen privát kapcsolaton keresztül.

Az alábbi táblázat a feltételek támogatott környezeti attribútumait sorolja fel.

Megjelenített név Leírás Attribútum Típus
Privát kapcsolat1 Ezt az attribútumot olyan feltételek mellett használhatja, amelyek bármilyen privát kapcsolaton keresztüli hozzáférést igényelnek. isPrivateLink Logikai
Privát végpont1,2 Ezt az attribútumot olyan feltételek között használhatja, amelyek egy adott privát végponton keresztüli hozzáférést korlátozzák. Microsoft.Network/privateEndpoints Sztring
Alhálózat1,3 Használja ezt az attribútumot feltételek között egy adott alhálózathoz való hozzáférés korlátozásához. Microsoft.Network/virtualNetworks/subnets Sztring
UTC most Használja ezt az attribútumot feltételek között az objektumokhoz való hozzáférés korlátozásához adott időszakokban. UtcNow Datetime

1 Másolási műveletek esetén a Is private link, Private endpointés Subnet attribútumok csak a célra vonatkoznak, az ilyen tárfiókra, a forrásra nem. A másolási műveletekkel kapcsolatos további információkért válassza ki a táblázat egyes attribútumait a további részletek megtekintéséhez.
2 Az attribútumot csak akkor használhatja Private endpoint , ha jelenleg legalább egy privát végpont van konfigurálva az előfizetésben.
3 Az attribútumot csak akkor használhatjaSubnet, ha jelenleg legalább egy virtuális hálózati alhálózattal rendelkezik az előfizetésben konfigurált szolgáltatásvégpontok használatával.

Egyszerű attribútumok

Az egyszerű attribútumok az erőforráshoz hozzáférést kérő biztonsági taghoz rendelt egyéni biztonsági attribútumok. A biztonsági tag lehet felhasználó vagy vállalati alkalmazás (szolgáltatásnév).

Az egyszerű attribútumok használatához a következőkre van szükség:

  • Microsoft Entra-engedélyek a bejelentkezett felhasználóhoz, például attribútum-hozzárendelési Rendszergazda istrator szerepkörhöz
  • A Microsoft Entra ID-ban definiált egyéni biztonsági attribútumok

További információ az egyéni biztonsági attribútumokról:

Kérelemattribútumok

A kérelemattribútumok a hozzáférési kérelemben megadott feltételekhez vannak társítva, például a listázandó blobok megadott előtagjával.

Erőforrásattribútumok

Az erőforrásattribútumok ahhoz az objektumhoz vannak társítva, amelyhez hozzáférést kérnek, például a tárfiók nevét, a tároló nevét vagy azt, hogy engedélyezve van-e a hierarchikus névtér a tárfiókhoz.

Függvény operátorai

Ez a szakasz felsorolja a feltételek létrehozásához rendelkezésre álló függvényoperátorokat.

ActionMatches

Tulajdonság Érték
Operátor ActionMatches
Leírás Ellenőrzi, hogy az aktuális művelet megfelel-e a megadott műveleti mintának.
Példák ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'}
Ha az ellenőrzött művelet értéke "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read", akkor igaz

ActionMatches{'Microsoft.Authorization/roleAssignments/*'}
Ha az ellenőrzött művelet értéke "Microsoft.Authorization/roleAssignments/write", akkor igaz

ActionMatches{'Microsoft.Authorization/roleDefinitions/*'}
Ha az ellenőrzött művelet értéke "Microsoft.Authorization/roleAssignments/write", akkor hamis

SubOperationMatches

Tulajdonság Érték
Operátor SubOperationMatches
Leírás Ellenőrzi, hogy az aktuális aloperáció megfelel-e a megadott alműködtetési mintának.
Példák SubOperationMatches{'Blob.List'}

Létezik

Tulajdonság Érték
Operátor Exists
Leírás Ellenőrzi, hogy létezik-e a megadott attribútum.
Példák Exists @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:snapshot]
Az attribútumok támogatjákaz 1-et Titkosítási hatókör neve
Pillanatkép
Verzióazonosító

1 Az Exists operátor csak ezekhez az attribútumokhoz támogatott az Azure Portal vizualizációs ABAC-feltételkészítőjében. Az operátort Exists bármely attribútumhoz hozzáadhatja más eszközökkel, például a PowerShell, az Azure CLI, a REST API és a feltételkód-szerkesztő használatával az Azure Portalon.

Logikai operátorok

Ez a szakasz a feltételek létrehozásához elérhető logikai operátorokat sorolja fel.

And

Tulajdonság Érték
Operátorok AND
&&
Leírás És operátor.
Példák !(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'})

Or

Tulajdonság Érték
Operátorok OR
||
Leírás Vagy operátor.
Példák @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

Tulajdonság Érték
Operátorok NOT
!
Leírás Nem, vagy negation operátor.
Példák NOT Exists @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:versionId]

Logikai összehasonlító operátorok

Ez a szakasz a feltételek létrehozásához elérhető logikai összehasonlító operátorokat sorolja fel.

Tulajdonság Érték
Operátorok BoolEquals
BoolNotEquals
Leírás Logikai összehasonlítás.
Példák @Resource[Microsoft.Storage/storageAccounts:isHnsEnabled] BoolEquals true

Sztring-összehasonlító operátorok

Ez a szakasz a feltételek létrehozásához elérhető sztring-összehasonlító operátorokat sorolja fel.

StringEquals

Tulajdonság Érték
Operátorok StringEquals
StringEqualsIgnoreCase
Leírás A kis- és nagybetűk megkülönböztetése (vagy a kis- és nagybetűk érzéketlenek) egyeztetése. Az értékeknek pontosan meg kell egyeznie a sztringgel.
Példák @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEquals 'Cascade'

StringNotEquals

Tulajdonság Érték
Operátorok StringNotEquals
StringNotEqualsIgnoreCase
Leírás A (vagy StringEqualsIgnoreCase) operátor elágazása StringEquals .

StringStartsWith

Tulajdonság Érték
Operátorok StringStartsWith
StringStartsWithIgnoreCase
Leírás A kis- és nagybetűk megkülönböztetése (vagy a kis- és nagybetűk érzéketlenek) egyeztetése. Az értékek a sztringgel kezdődnek.

StringNotStartsWith

Tulajdonság Érték
Operátorok StringNotStartsWith
StringNotStartsWithIgnoreCase
Leírás A (vagy StringStartsWithIgnoreCase) operátor elágazása StringStartsWith .

StringLike

Tulajdonság Érték
Operátorok StringLike
StringLikeIgnoreCase
Leírás A kis- és nagybetűk megkülönböztetése (vagy a kis- és nagybetűk érzéketlenek) egyeztetése. Az értékek tartalmazhatnak egy több karakterből álló helyettesítő karaktert (*) vagy egy egy karakterből álló helyettesítő karaktert (?) a sztring bármely pontján. Szükség esetén ezek a karakterek egy fordított perjel és \?egy fordított perjel \* hozzáadásával szökhetnek meg.
Példák @Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:path] StringLike 'readonly/*'

Resource[name1] StringLike 'a*c?'
Ha az erőforrás[név1] értéke "abcd", akkor igaz

Resource[name1] StringLike 'A*C?'
Ha az erőforrás[név1] értéke "abcd", akkor hamis

Resource[name1] StringLike 'a*c'
Ha az erőforrás[név1] értéke "abcd", akkor hamis

StringNotLike

Tulajdonság Érték
Operátorok StringNotLike
StringNotLikeIgnoreCase
Leírás A (vagy StringLikeIgnoreCase) operátor elágazása StringLike .

Numerikus összehasonlító operátorok

Ez a szakasz felsorolja a feltételek létrehozásához elérhető numerikus összehasonlító operátorokat.

Tulajdonság Érték
Operátorok NumericEquals
NumericNotEquals
NumericGreaterThan
NumericGreaterThanEquals
NumericLessThan
NumericLessThanEquals
Leírás Számegyezés. Csak egész számok támogatottak.

DateTime összehasonlító operátorok

Ez a szakasz felsorolja a feltételek létrehozásához elérhető dátum-idő összehasonlító operátorokat.

Tulajdonság Érték
Operátorok DateTimeEquals
DateTimeNotEquals
DateTimeGreaterThan
DateTimeGreaterThanEquals
DateTimeLessThan
DateTimeLessThanEquals
Leírás Teljes pontosságú ellenőrzés a következő formátumban: yyyy-mm-ddThh:mm:ss.mmmmmmmZ. A blob verzióazonosítójához, a blob pillanatképéhez és az UTC-hez használatos.
Példák @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:versionId] DateTimeEquals '2022-06-01T00:00:00.0Z'

GUID összehasonlító operátorok

Ez a szakasz a feltételek létrehozásához elérhető globálisan egyedi azonosító (GUID) összehasonlító operátorokat sorolja fel.

Tulajdonság Érték
Operátorok GuidEquals
GuidNotEquals
Leírás Kis- és nagybetűk megkülönböztetése a következő formátummal: 00000000-0000-0000-0000-000000000000. Egy erőforrás, például az egyszerű azonosító vagy a szerepkördefiníció azonosítója azonosítására szolgál.
Példák

Termék-összehasonlító operátorok

Ez a szakasz felsorolja a termékek közötti összehasonlító operátorokat, amelyek feltételeket hozhatnak létre.

ForAnyOfAnyValues

Tulajdonság Érték
Operátorok 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
Leírás Ha a bal oldalon legalább egy érték megfelel a jobb oldalon lévő legalább egy érték összehasonlításának, akkor a kifejezés igaz értéket ad vissza. Formátuma: ForAnyOfAnyValues:<BooleanFunction>. Több sztringet és számot támogat.
Példák @Resource[Microsoft.Storage/storageAccounts/encryptionScopes:name] ForAnyOfAnyValues:StringEquals {'validScope1', 'validScope2'}
Ha a titkosítási validScope1 hatókör neve egyenlő vagy validScope2igaz.

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

{'red', 'blue'} ForAnyOfAnyValues:StringEquals {'orange', 'green'}
false

ForAllOfAnyValues

Tulajdonság Érték
Operátorok 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
Leírás Ha a bal oldali összes érték megfelel legalább egy jobb oldali érték összehasonlításának, akkor a kifejezés igaz értéket ad vissza. Formátuma: ForAllOfAnyValues:<BooleanFunction>. Több sztringet és számot támogat.
Példák @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'}
false

ForAnyOfAllValues

Tulajdonság Érték
Operátorok 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
Leírás Ha a bal oldalon legalább egy érték megfelel a jobb oldalon lévő összes érték összehasonlításának, akkor a kifejezés igaz értéket ad vissza. Formátuma: ForAnyOfAllValues:<BooleanFunction>. Több sztringet és számot támogat.
Példák {10, 20} ForAnyOfAllValues:NumericLessThan {15, 18}
true

ForAllOfAllValues

Tulajdonság Érték
Operátorok 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
Leírás Ha a bal oldalon lévő összes érték megfelel a jobb oldalon lévő összes érték összehasonlításának, akkor a kifejezés igaz értéket ad vissza. Formátuma: ForAllOfAllValues:<BooleanFunction>. Több sztringet és számot támogat.
Példák {10, 20} ForAllOfAllValues:NumericLessThan {5, 15, 18}
false

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

{10, 20} ForAllOfAllValues:NumericLessThan {15, 25, 30}
false

Speciális karakterek

Karakter Leírás
* A csillag (*) egy több karakteres helyettesítő karaktert jelöl, amely operátorokkal Like használható. Szükség esetén egy fordított perjel \*hozzáadásával elkerülheti a csillagot.
? A kérdőjel (?) egy egy karakterből álló helyettesítő karaktert jelöl, amely operátorokkal Like használható. Szükség esetén egy fordított perjel \?hozzáadásával elkerülheti a kérdőjeleket.
$ A címkekulcsok kijelöléséhez egy dollárjelet ($) használunk. Az Azure PowerShellben, ha egy kettős idézőjelbe (") foglalt sztring dollárjelet tartalmaz, akkor előtaggal (') kell előtaggal rendelkeznie. Például: tags:Project<`$key_case_sensitive`$>

Csoportosítás és elsőbbség

Ha egy célzott művelethez három vagy több kifejezés tartozik, amelyek különböző operátorokkal rendelkeznek a kifejezések között, a kiértékelési sorrend nem egyértelmű. Zárójelek () használatával csoportosíthatja a kifejezéseket, és megadhatja a kifejezések kiértékelésének sorrendjét. A zárójelek közé zárt kifejezések nagyobb elsőbbséget élveznek. Ha például a következő kifejezéssel rendelkezik:

a AND b OR c

Zárójeleket az alábbi módok egyikével kell hozzáadnia:

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

Következő lépések