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

Wichtig

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

'johnsmith@example.com'

'ocid1.compartment.oc1..aaaaaaaaph...ctehnqg756a'

(Der Wert muss in einfache Anführungszeichen eingeschlossen sein)

Muster

/HR*/ (entspricht Zeichenfolgen, die mit "HR" beginnen)

/*HR/ (entspricht Zeichenfolgen, die mit "HR" enden)

/*HR*/ (entspricht Zeichenfolgen, die "HR" enthalten)

Beispiele:

Hinweis

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 Variable target.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