Bedingungen
Syntaxbedingungen, die Sie in Policys verwenden können.
Geben Sie eine oder mehrere Bedingungen an. Verwenden Sie any
oder all
mit mehreren Bedingungen für ein logisches ODER bzw. UND.
Syntax für eine einzelne Bedingung: variable =|!= value
Syntax für mehrere Bedingungen: any|all {<condition>,<condition>,...}
Beim Bedingungsabgleich wird die Groß-/Kleinschreibung nicht beachtet. Dies ist wichtig, wenn Sie Bedingungen für Ressourcentypen schreiben, bei deren Namen die Groß-/Kleinschreibung beachtet wird. Mit dem Object Storage-Service können Sie beispielsweise einen Bucket mit dem Namen "BucketA" und einen Bucket mit dem Namen "bucketA" in demselben Compartment erstellen. Wenn Sie eine Bedingung schreiben, in der "BucketA" angegeben ist, wird sie auch auf "bucketA" angewendet, weil beim Bedingungsabgleich die Groß-/Kleinschreibung nicht beachtet wird.
Eine Liste der von allen Services unterstützten Variablen finden Sie unter Allgemeine Variablen für alle Anforderungen. Weitere Informationen zu den einzelnen Services finden Sie in der Policy-Referenz. Im Folgenden werden die Werttypen aufgeführt, die Sie in Bedingungen verwenden können:
Typ | Beispiele |
---|---|
Zeichenfolge |
(Der Wert muss in einfache Anführungszeichen eingeschlossen sein) |
Muster |
|
Beispiele:
In den folgenden Beispielen erhält die Gruppe "GroupAdmins" mit den Anweisungen, die die Bedingung angeben, nicht die Möglichkeit, alle Benutzer und Gruppen aufzulisten. Daher werden der Vollständigkeit halber Anweisungen mit dem Verb
inspect
hinzugefügt. Informationen dazu, warum dies erforderlich ist, finden Sie unter Variablen, die nicht auf ein Anforderungsergebnis in einer abgelehnten Anforderung anwendbar sind. - Eine einzelne Bedingung.
Mit der folgenden Policy kann die Gruppe "GroupAdmins" Gruppen erstellen, aktualisieren oder löschen, deren Namen mit "A-Users-" beginnen:
Allow group GroupAdmins to manage groups in tenancy where target.group.name = /A-Users-*/ Allow group GroupAdmins to inspect groups in tenancy
Mit der folgenden Policy kann die Gruppe "GroupAdmins" die Mitgliedschaft einer Gruppe außer der Administratorengruppe verwalten. (Beachten Sie, dass Sie separate Anweisungen für
inspect
hinzufügen müssen, da die Variabletarget.group.name
nicht von den "ListUsers"- und "ListGroups"-Vorgängen verwendet wird):Allow group GroupAdmins to inspect users in tenancy
Allow group GroupAdmins to use users in tenancy where target.group.name != 'Administrators'
Allow group GroupAdmins to inspect groups in tenancy
Allow group GroupAdmins to use groups in tenancy where target.group.name != 'Administrators'
Mit der folgenden Policy kann die Gruppe "NetworkAdmins" Cloud-Netzwerke in allen Compartments außer dem angegebenen Compartment verwalten:Allow group NetworkAdmins to manage virtual-network-family in tenancy where target.compartment.id != 'ocid1.compartment.oc1..aaaaaaaayzfqeibduyox6icmdol6zyar3ugly4fmameq4h7lcdlihrvur7xq'
- Mehrere Bedingungen.
Mit der folgenden Policy kann die Gruppe "GroupAdmins" Gruppen erstellen, aktualisieren oder löschen, deren Namen mit "A-" beginnen, mit Ausnahme der Gruppe "A-Admins" selbst:
Allow group GroupAdmins to manage groups in tenancy where all {target.group.name=/A-*/,target.group.name!='A-Admins'} Allow group GroupAdmins to inspect groups in tenancy