Format und Syntax von Azure-Rollenzuweisungsbedingungen
Eine Bedingung ist eine zusätzliche Überprüfung, die Sie Ihrer Rollenzuweisung optional hinzufügen können, um eine präzisere Zugriffssteuerung zu ermöglichen. So können Sie beispielsweise eine Bedingung hinzufügen, die festlegt, dass ein Objekt über ein bestimmtes Tag verfügen muss, damit das Objekt gelesen werden kann. In diesem Artikel werden das Format und die Syntax von Rollenzuweisungsbedingungen beschrieben.
Bedingungsformat
Um Rollenzuweisungsbedingungen besser zu verstehen, ist es hilfreich, sich das Format anzusehen.
Einfache Bedingung
Die einfachste Bedingung besteht aus einer zielorientierten Aktion und einem Ausdruck. Eine Aktion ist ein Vorgang, den ein Benutzer für einen Ressourcentyp ausführen kann. Ein Ausdruck ist eine Anweisung, deren Auswertung „true“ oder „false“ ergibt. Dadurch wird bestimmt, ob die Aktion ausgeführt werden darf.
Nachfolgend ist das Format einer einfachen Bedingung gezeigt:
(
(
!(ActionMatches{'<action>'})
)
OR
(
<attribute> <operator> <value>
)
)
Die folgende Bedingung verfügt über die Aktion „Blob lesen“. Der Ausdruck überprüft, ob der Containername „blobs-example-container“ lautet.
(
(
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})
)
OR
(
@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name]
StringEquals 'blobs-example-container'
)
)
Auswertung einer Bedingung
Wenn ein Benutzer versucht, in der Rollenzuweisung eine andere Aktion als <action>
auszuführen, ergeben die Auswertung von !(ActionMatches)
und die Auswertung der gesamten Bedingung „true“, damit die Aktion ausgeführt werden kann.
Wenn ein Benutzer versucht, <action>
in der Rollenzuweisung auszuführen, ergibt die Auswertung von !(ActionMatches)
„false“, sodass der Ausdruck ausgewertet wird. Ergibt die Auswertung des Ausdrucks „true“, ergibt die Auswertung der gesamten Bedingung „true“, damit <action>
ausgeführt werden kann. Andernfalls darf <action>
nicht ausgeführt werden.
Der folgende Pseudocode zeigt eine andere Möglichkeit zum Lesen dieser Bedingung:
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
}
}
Untervorgänge
Einige Aktionen verfügen über Untervorgänge. Die Datenaktion hat zum Beispiel die Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Unteroperation "Blobs auflisten". Bedingungen mit Untervorgängen haben das folgende Format:
(
(
!(ActionMatches{'<action>'}
AND
SubOperationMatches{'<subOperation>'})
)
OR
(
<attribute> <operator> <value>
)
)
Mehrere Aktionen
Eine Bedingung kann mehrere Aktionen enthalten, die Sie zulassen möchten, wenn die Bedingung „true“ lautet. Wenn Sie mehrere Aktionen für eine einzelne Bedingung auswählen, stehen für Ihre Bedingung möglicherweise weniger Attribute zur Auswahl, weil die Attribute für alle ausgewählten Aktionen verfügbar sein müssen.
(
(
!(ActionMatches{'<action>'})
AND
!(ActionMatches{'<action>'})
)
OR
(
<attribute> <operator> <value>
)
)
Mehrere Ausdrücke
Eine Bedingung kann mehrere Ausdrücke enthalten. Je nach Operator können Attribute anhand mehrerer Werte überprüft werden.
(
(
!(ActionMatches{'<action>'})
)
OR
(
<attribute> <operator> <value>
AND | OR
<attribute> <operator> {<value>, <value>, <value>}
AND | OR
<attribute> <operator> <value>
)
)
Mehrere Bedingungen
Sie können Bedingungen auch kombinieren, um mehrere Aktionen einzubeziehen.
(
(
!(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>
)
)
Bedingungssyntax
Im Folgenden wird die Syntax für eine Rollenzuweisungsbedingung veranschaulicht:
(
(
!(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
...
Aktionen
Derzeit können Bedingungen zu integrierten oder benutzerdefinierten Rollenzuweisungen hinzugefügt werden, die über Blob-Speicher- oder Warteschlangen-Speicherdatenaktionen verfügen. Dies umfasst die folgenden integrierten Rollen:
- Mitwirkender an Speicherblobdaten
- Besitzer von Speicherblobdaten
- Leser von Speicherblobdaten
- Mitwirkender an Storage-Warteschlangendaten
- Verarbeiter von Speicherwarteschlangen-Datennachrichten
- Absender der Speicherwarteschlangen-Datennachricht
- Storage-Warteschlangendatenleser
Eine Liste der Speicheraktionen, die Sie in Bedingungen verwenden können, finden Sie unter:
- Aktionen und Attribute für Azure-Rollenzuweisungsbedingungen für Azure Blob Storage
- Aktionen und Attribute für Azure-Rollenzuweisungsbedingungen für Azure Queue Storage.
Attribute
Abhängig von den ausgewählten Aktionen befindet sich das Attribut unter Umständen an verschiedenen Orten. Wenn Sie mehrere Aktionen für eine einzelne Bedingung auswählen, stehen für Ihre Bedingung möglicherweise weniger Attribute zur Auswahl, weil die Attribute für alle ausgewählten Aktionen verfügbar sein müssen. Zum Angeben eines Attributs müssen Sie die Quelle als Präfix aufnehmen.
Attributquelle | BESCHREIBUNG | Code |
---|---|---|
Umgebung | Das Attribut ist der Umgebung der Anforderung zugeordnet, z. B. dem Netzwerkursprung der Anforderung oder dem aktuellen Datum und der aktuellen Uhrzeit. |
@Environment |
Prinzipal | „Attribut“ ist ein benutzerdefiniertes Sicherheitsattribute, das dem Prinzipal zugewiesen ist, z. B. einem Benutzer oder einer Unternehmensanwendung (Dienstprinzipal). | @Principal |
Anfordern | „Attribut“ ist ein Teil der Aktionsanforderung, z. B. das Festlegen des Blobindextags. | @Request |
Ressource | „Attribut“ ist eine Eigenschaft der Ressource, z. B. ein Containername. | @Resource |
Eine vollständige Liste der Speicherattribute, die Sie in Bedingungen verwenden können, finden Sie unter:
Umgebungsattribute
Umgebungsattribute sind den Umständen zugeordnet, unter denen die Zugriffsanforderung erfolgt, z. B. das Datum und die Uhrzeit oder die Netzwerkumgebung. Bei der Netzumgebung kann es sich um einen Zugriff über einen bestimmten privaten Endpunkt oder ein virtuelles Netzwerk-Subnetz handeln, aber auch um eine beliebige private Verbindung.
In der folgenden Tabelle sind die unterstützten Umgebungsattribute für Bedingungen aufgeführt.
`Display name` | Beschreibung | attribute | Typ |
---|---|---|---|
Ist eine private Verbindung1 | Verwenden Sie dieses Attribut in Bedingungen, um Zugriff über einen privaten Link zu erfordern. | isPrivateLink |
Boolescher Wert |
Privater Endpunkt1,2 | Verwenden Sie dieses Attribut in Bedingungen, um den Zugriff über einen bestimmten privaten Endpunkt einzuschränken. | Microsoft.Network/privateEndpoints |
Zeichenfolge |
Subnetz1,3 | Verwenden Sie dieses Attribut in Bedingungen, um den Zugriff von einem bestimmten Subnetz einzuschränken. | Microsoft.Network/virtualNetworks/subnets |
Zeichenfolge |
UTC jetzt | Verwenden Sie dieses Attribut in Bedingungen, um den Zugriff auf Objekte während bestimmter Zeiträume einzuschränken. | UtcNow |
DateTime |
1 Bei Kopiervorgängen gelten die Attribute Is private link
, Private endpoint
und Subnet
nur für das Ziel, z. B. ein Speicherkonto, nicht für die Quelle. Für weitere Informationen zu den Kopiervorgängen, auf die dies zutrifft, wählen Sie jedes Attribut in der Tabelle aus, um weitere Details anzuzeigen.
2 Sie können das Private endpoint
-Attribut nur verwenden, wenn Sie derzeit mindestens einen privaten Endpunkt in Ihrem Abonnement konfiguriert haben.
3 Sie können das Subnet
-Attribut nur verwenden, wenn Sie derzeit über mindestens ein virtuelles Netzwerk-Subnetz verfügen, das Dienstendpunkte verwendet, die in Ihrem Abonnement konfiguriert sind.
Prinzipalattribute
Prinzipalattribute sind benutzerdefinierte Sicherheitsattribute, die dem Sicherheitsprinzipal zugewiesen sind, der Zugriff auf eine Ressource anfordert. Der Sicherheitsprinzipal kann ein Benutzer oder eine Unternehmensanwendung (Dienstprinzipal) sein.
Um Prinzipalattribute verwenden zu können, müssen Sie über Folgendes verfügen:
- Microsoft Entra-Berechtigungen für den angemeldete Benutzer, z. B. die Rolle Administrator für Attributzuweisung
- Benutzerdefinierte Sicherheitsattribute, die in Microsoft Entra ID definiert sind
Weitere Informationen zu benutzerdefinierten Sicherheitsattributen finden Sie unter:
- Hinzufügen oder Deaktivieren von benutzerdefinierten Sicherheitsattributen in Microsoft Entra ID
- Zulassen des Lesezugriffs auf Blobs basierend auf Tags und benutzerdefinierten Sicherheitsattributen
- Prinzipal wird in der Attributquelle nicht angezeigt
Anforderungsattribute
Anforderungsattribute sind den in einer Zugriffsanforderung angegebenen Kriterien zugeordnet, z. B. dem angegebenen Präfix von Blobs, die aufgelistet werden sollen.
Ressourcenattribute
Ressourcenattribute sind dem Objekt zugeordnet, auf das der Zugriff angefordert wird, z. B. dem Speicherkontonamen, dem Containernamen oder ob der hierarchische Namespace für das Speicherkonto aktiviert ist.
Funktionsoperatoren
In diesem Abschnitt sind die Funktionsoperatoren aufgeführt, die zum Erstellen von Bedingungen verfügbar sind.
ActionMatches
Eigenschaft | Wert |
---|---|
Operator | ActionMatches |
Beschreibung | Überprüft, ob die aktuelle Aktion dem angegebenen Aktionsmuster entspricht. |
Beispiele | ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} Wenn die überprüfte Aktion „Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read“ entspricht, wird „true“ ausgegeben. ActionMatches{'Microsoft.Authorization/roleAssignments/*'} Wenn die überprüfte Aktion „Microsoft.Authorization/roleAssignments/write“ entspricht, wird „true“ ausgegeben. ActionMatches{'Microsoft.Authorization/roleDefinitions/*'} Wenn die überprüfte Aktion „Microsoft.Authorization/roleAssignments/write“ entspricht, wird „false“ ausgegeben. |
SubOperationMatches
Eigenschaft | Wert |
---|---|
Operator | SubOperationMatches |
Beschreibung | Überprüft, ob der aktuelle Untervorgang mit dem angegebenen Untervorgangsmuster übereinstimmt. |
Beispiele | SubOperationMatches{'Blob.List'} |
Exists
Eigenschaft | Wert |
---|---|
Operator | Exists |
Beschreibung | Überprüft, ob das angegebene Attribut vorhanden ist. |
Beispiele | Exists @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:snapshot] |
Unterstützung von Attributen 1 | Name des Verschlüsselungsbereichs Momentaufnahme Versions-ID |
1 Der Exists
-Operator wird nur für diese Attribute im visuellen ABAC-Bedingungsgenerator im Azure-Portal unterstützt. Sie können den Exists
-Operator zu jedem beliebigen Attribut hinzufügen, indem Sie andere Tools wie PowerShell, die Azure-Befehlszeilenschnittstelle, die REST-API und den Bedingungscodeeditor im Azure-Portal verwenden.
Logische Operatoren
In diesem Abschnitt sind die logischen Operatoren aufgeführt, die zum Erstellen von Bedingungen verfügbar sind.
And
Eigenschaft | Wert |
---|---|
Operatoren | AND && |
Beschreibung | and-Operator |
Beispiele | !(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'}) |
oder
Eigenschaft | Wert |
---|---|
Operatoren | OR || |
Beschreibung | or-Operator |
Beispiele | @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
Eigenschaft | Wert |
---|---|
Operatoren | NOT ! |
Beschreibung | not- oder Negationsoperator |
Beispiele | NOT Exists @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:versionId] |
Boolesche Vergleichsoperatoren
In diesem Abschnitt sind die booleschen Vergleichsoperatoren aufgeführt, die zum Erstellen von Bedingungen verfügbar sind.
Eigenschaft | Wert |
---|---|
Operatoren | BoolEquals BoolNotEquals |
Beschreibung | Boolescher Vergleich. |
Beispiele | @Resource[Microsoft.Storage/storageAccounts:isHnsEnabled] BoolEquals true |
Vergleichsoperatoren für Zeichenfolgen
In diesem Abschnitt sind die Vergleichsoperatoren für Zeichenfolgen aufgeführt, die zum Erstellen von Bedingungen verfügbar sind.
StringEquals
Eigenschaft | Wert |
---|---|
Operatoren | StringEquals StringEqualsIgnoreCase |
Beschreibung | Beim Abgleich wird die Groß-/Kleinschreibung beachtet (oder die Groß-/Kleinschreibung nicht beachtet). Die Werte müssen genau mit der Zeichenfolge übereinstimmen. |
Beispiele | @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEquals 'Cascade' |
StringNotEquals
Eigenschaft | Wert |
---|---|
Operatoren | StringNotEquals StringNotEqualsIgnoreCase |
Beschreibung | Negation des Operators StringEquals (oder StringEqualsIgnoreCase ) |
StringStartsWith
Eigenschaft | Wert |
---|---|
Operatoren | StringStartsWith StringStartsWithIgnoreCase |
Beschreibung | Beim Abgleich wird die Groß-/Kleinschreibung beachtet (oder die Groß-/Kleinschreibung nicht beachtet). Die Werte beginnen mit der Zeichenfolge. |
StringNotStartsWith
Eigenschaft | Wert |
---|---|
Operatoren | StringNotStartsWith StringNotStartsWithIgnoreCase |
Beschreibung | Negation des Operators StringStartsWith (oder StringStartsWithIgnoreCase ) |
StringLike
Eigenschaft | Wert |
---|---|
Operatoren | StringLike StringLikeIgnoreCase |
Beschreibung | Beim Abgleich wird die Groß-/Kleinschreibung beachtet (oder die Groß-/Kleinschreibung nicht beachtet). Die Werte können an beliebiger Stelle in der Zeichenfolge einen Platzhalter für eine mehrstellige Übereinstimmung (* ) oder einen Platzhalter für eine einstellige Übereinstimmung (? ) enthalten. Bei Bedarf können diese Zeichen mit einem umgekehrten Schrägstrich als Escapezeichen (\* bzw. \? ) versehen werden. |
Beispiele | @Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:path] StringLike 'readonly/*' Resource[name1] StringLike 'a*c?' Wenn „Resource[name1]“ der Zeichenfolge „abcd“ entspricht, wird „true“ ausgegeben. Resource[name1] StringLike 'A*C?' Wenn „Resource[name1]“ der Zeichenfolge „abcd“ entspricht, wird „false“ ausgegeben. Resource[name1] StringLike 'a*c' Wenn „Resource[name1]“ der Zeichenfolge „abcd“ entspricht, wird „false“ ausgegeben. |
StringNotLike
Eigenschaft | Wert |
---|---|
Operatoren | StringNotLike StringNotLikeIgnoreCase |
Beschreibung | Negation des Operators StringLike (oder StringLikeIgnoreCase ) |
Numerische Vergleichsoperatoren
In diesem Abschnitt sind die numerischen Vergleichsoperatoren aufgeführt, die zum Erstellen von Bedingungen verfügbar sind.
Eigenschaft | Wert |
---|---|
Operatoren | NumericEquals NumericNotEquals NumericGreaterThan NumericGreaterThanEquals NumericLessThan NumericLessThanEquals |
Beschreibung | Nummernabgleich. Es werden nur ganze Zahlen unterstützt. |
DateTime-Vergleichsoperatoren
In diesem Abschnitt sind die DateTime-Vergleichsoperatoren aufgeführt, die zum Erstellen von Bedingungen verfügbar sind.
Eigenschaft | Wert |
---|---|
Operatoren | DateTimeEquals DateTimeNotEquals DateTimeGreaterThan DateTimeGreaterThanEquals DateTimeLessThan DateTimeLessThanEquals |
Beschreibung | Prüfung mit vollständiger Genauigkeit mit dem Format: yyyy-mm-ddThh:mm:ss.mmmmmmmZ . Wird jetzt für Blob-Versions-ID, Blob-Momentaufnahme und UTC verwendet. |
Beispiele | @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:versionId] DateTimeEquals '2022-06-01T00:00:00.0Z' |
GUID-Vergleichsoperatoren
In diesem Abschnitt werden die GUID (Globally Unique Identifier)-Vergleichsoperatoren aufgeführt, die für Konstruktbedingungen verfügbar sind.
Eigenschaft | Wert |
---|---|
Operatoren | GuidEquals GuidNotEquals |
Beschreibung | Übereinstimmung ohne Berücksichtigung der Groß- und Kleinschreibung mit dem Format: 00000000-0000-0000-0000-000000000000 . Wird verwendet, um eine Ressource zu identifizieren, z. B. Prinzipal-ID oder Rollendefinitions-ID. |
Beispiele |
Produktübergreifende Vergleichsoperatoren
In diesem Abschnitt sind die produktübergreifenden Vergleichsoperatoren aufgeführt, die zum Erstellen von Bedingungen verfügbar sind.
ForAnyOfAnyValues
Eigenschaft | Wert |
---|---|
Operatoren | 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 |
Beschreibung | Wenn mindestens ein Wert auf der linken Seite mindestens einem Wert auf der rechten Seite entspricht, ergibt die Auswertung des Ausdrucks „true“. Format: ForAnyOfAnyValues:<BooleanFunction> . Unterstützt mehrere Zeichenfolgen und Zahlen. |
Beispiele | @Resource[Microsoft.Storage/storageAccounts/encryptionScopes:name] ForAnyOfAnyValues:StringEquals {'validScope1', 'validScope2'} Wenn der Verschlüsselungsbereichsname validScope1 oder validScope2 entspricht, wird „true“ ausgegeben.{'red', 'blue'} ForAnyOfAnyValues:StringEquals {'blue', 'green'} true {'red', 'blue'} ForAnyOfAnyValues:StringEquals {'orange', 'green'} false |
ForAllOfAnyValues
Eigenschaft | Wert |
---|---|
Operatoren | 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 |
Beschreibung | Wenn jeder Wert auf der linken Seite mindestens einem Wert auf der rechten Seite entspricht, ergibt die Auswertung des Ausdrucks „true“. Format: ForAllOfAnyValues:<BooleanFunction> . Unterstützt mehrere Zeichenfolgen und Zahlen. |
Beispiele | @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
Eigenschaft | Wert |
---|---|
Operatoren | 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 |
Beschreibung | Wenn mindestens ein Wert auf der linken Seite jedem Wert auf der rechten Seite entspricht, ergibt die Auswertung des Ausdrucks „true“. Format: ForAnyOfAllValues:<BooleanFunction> . Unterstützt mehrere Zeichenfolgen und Zahlen. |
Beispiele | {10, 20} ForAnyOfAllValues:NumericLessThan {15, 18} true |
ForAllOfAllValues
Eigenschaft | Wert |
---|---|
Operatoren | 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 |
Beschreibung | Wenn jeder Wert auf der linken Seite jedem Wert auf der rechten Seite entspricht, ergibt die Auswertung des Ausdrucks „true“. Format: ForAllOfAllValues:<BooleanFunction> . Unterstützt mehrere Zeichenfolgen und Zahlen. |
Beispiele | {10, 20} ForAllOfAllValues:NumericLessThan {5, 15, 18} false {10, 20} ForAllOfAllValues:NumericLessThan {25, 30} true {10, 20} ForAllOfAllValues:NumericLessThan {15, 25, 30} false |
Sonderzeichen
Zeichen | BESCHREIBUNG |
---|---|
* |
Ein Sternchen (*) steht für einen Platzhalter für eine mehrstellige Übereinstimmung und kann mit Like -Operatoren verwendet werden. Bei Bedarf können Sie ein Sternchen mit einem umgekehrten Schrägstrich als Escapezeichen (\* ) versehen. |
? |
Ein Fragezeichen (?) steht für einen Platzhalter für eine einstellige Übereinstimmung und kann mit Like -Operatoren verwendet werden. Bei Bedarf können Sie ein Fragezeichen mit einem umgekehrten Schrägstrich als Escapezeichen (\? ) versehen. |
$ |
Ein Dollarzeichen ($) dient zum Trennen von Tagschlüsseln. Wenn in Azure PowerShell eine Zeichenfolge in doppelten Anführungszeichen (") ein Dollarzeichen enthält, müssen Sie ihr ein Backtick-Zeichen (`) voranstellen. Beispiel: tags:Project<`$key_case_sensitive`$> . |
Gruppierung und Rangfolge
Wenn drei oder mehr Ausdrücke für eine gewünschte Aktion mit unterschiedlichen Operatoren zwischen den Ausdrücken vorhanden sind, ist die Auswertungsreihenfolge nicht eindeutig. Sie verwenden Klammern ()
, um Ausdrücke zu gruppieren und die Reihenfolge anzugeben, in der die Ausdrücke ausgewertet werden. Ausdrücke in Klammern haben eine höhere Rangfolge. Angenommen, Sie verfügen über den folgenden Ausdruck:
a AND b OR c
Sie müssen wie folgt Klammern hinzufügen:
(a AND b) OR c
a AND (b OR c)