Conditions

Conditions de syntaxe que vous pouvez utiliser dans les politiques.

Spécifiez une ou plusieurs conditions. Utilisez any ou all avec plusieurs conditions pour un opérateur logique OR ou AND, respectivement.

Syntaxe pour une seule condition : variable =|!= value

Syntaxe pour plusieurs conditions : any|all {<condition>,<condition>,...}

Important

La correspondance des conditions n'est pas sensible à la casse. Il est important de s'en rappeler lors de l'écriture de conditions pour des types de ressource qui permettent une attribution de nom sensible à la casse. Par exemple, le service Stockage d'objets permet de créer à la fois un seau nommé "BucketA" et un seau nommé "bucketA" dans le même compartiment. Si vous écrivez une condition qui spécifie "BucketA", elle s'appliquera également à "bucketA" car la correspondance de condition n'est pas sensible à la casse.

Pour une liste des variables prises en charge par tous les services, voir Variables générales pour toutes les demandes. Voir aussi les informations détaillées pour chaque service sous Informations de référence sur les politiques. Voici les types de valeur que vous pouvez utiliser dans des conditions :

Type Exemples
Chaîne

'johnsmith@example.com'

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

(Des guillemets simples doivent encadrer la valeur)

Modèle

/HR*/ (correspond aux chaînes qui commencent par "HR")

/*HR/ (correspond aux chaînes qui se terminent par "HR")

/*HR*/ (correspond aux chaînes qui contiennent "HR")

Exemples :

Note

Dans les exemples suivants, comme les énoncés qui spécifient la condition ne permettent pas à GroupAdmins de lister réellement tous les utilisateurs et les groupes, les énoncés qui incluent le verbe inspect sont ajoutés à des fins d'exhaustivité. Pour comprendre pourquoi ces énoncés sont requis, voir Variables qui ne s'appliquent pas aux résultats d'une demande refusée.
  • Une seule condition.

    La politique suivante permet au groupe GroupAdmins de créer, de mettre à jour ou de supprimer les groupes dont le nom commence par "A-Users-" :

    Allow group GroupAdmins to manage groups in tenancy where target.group.name = /A-Users-*/
    Allow group GroupAdmins to inspect groups in tenancy

    La politique suivante permet au groupe GroupAdmins de gérer l'appartenance à n'importe quel groupe en plus du groupe Administrators. (Notez que vous devez inclure des énoncés distincts pour l'accès inspect, car la variable target.group.name n'est pas utilisée par les opérations ListUsers et ListGroups) :

    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'
    La politique suivante permet au groupe NetworkAdmins de gérer les réseaux en nuage dans n'importe quel compartiment, sauf celui spécifié :
    Allow group NetworkAdmins to manage virtual-network-family in tenancy where target.compartment.id != 'ocid1.compartment.oc1..aaaaaaaayzfqeibduyox6icmdol6zyar3ugly4fmameq4h7lcdlihrvur7xq'
  • Conditions multiples.

    La politique suivante permet à GroupAdmins de créer, mettre à jour ou supprimer des groupes dont le nom commence par "A-", à l'exception du groupe A-Admins lui-même :

    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