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.
(
(
!(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'
)
)
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.
(
(
!(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.
(
(
!(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.
(
(
!(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.
(
(
!(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:
- Depolama Blob Verileri Katkıda Bulunanı
- Depolama Blob Verileri Sahibi
- Depolama Blob Verileri Okuyucusu
- Depolama Kuyruğu Veri Katkıda Bulunanı
- Depolama Kuyruğu Veri İleti İşlemcisi
- Depolama Kuyruğu Veri İletisi Göndereni
- Depolama Kuyruğu Veri Okuyucusu
Koşullarda kullanabileceğiniz depolama eylemlerinin listesi için bkz:
- Azure Blob Depolama için Azure rol atama koşullarına yönelik eylemler ve öznitelikler
- Azure Kuyruk Depolama için Azure rol atama koşullarına yönelik eylemler ve öznitelikler.
Ö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 link
Private endpoint
ve 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:
- Microsoft Entra Id'de özel güvenlik öznitelikleri ekleme veya devre dışı bırakma
- Etiketlere ve özel güvenlik özniteliklerine göre bloblara okuma erişimine izin verme
- Sorumlu Öznitelik kaynağında görünmüyor
İ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 validScope2 değ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)