Condiciones

Condiciones de sintaxis que puede utilizar en las políticas.

Especifique una o varias condiciones. Utilice any o all con varias condiciones para valores OR o AND lógicos, respectivamente.

Sintaxis para una única condición: variable =|!= value

Sintaxis para varias condiciones: any|all {<condition>,<condition>,...}

Importante

La coincidencia de condiciones no es sensible a mayúsculas/minúsculas. Es importante recordarlo al escribir condiciones para tipos de recursos que permiten la nomenclatura sensible a mayúsculas/minúsculas. Por ejemplo, el servicio Object Storage permite crear un cubo denominado "BucketA" y un cubo denominado "bucketA" en el mismo compartimento. Si escribe una condición que especifica "BucketA", se aplicará también a "bucketA" porque la coincidencia de condiciones no es sensible a mayúsculas/minúsculas.

Para obtener una lista de variables soportadas por todos los servicios, consulte Variables generales para todas las solicitudes. Consulte también los detalles de cada servicio en la Referencia de políticas. Estos son los tipos de valores que puede utilizar en condiciones:

Tipo Ejemplos
Cadena

'johnsmith@example.com'

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

(el valor debe ir entre comillas simples)

Patrón

/HR*/ (coincide con cadenas que comienzan por "HR")

/*HR/ (coincide con cadenas que terminan en "HR")

/*HR*/ (coincide con cadenas que contienen "HR")

Ejemplos:

Nota

En los siguientes ejemplos, las sentencias que especifican la condición no permiten a GroupAdmins mostrar todos los usuarios y grupos. Por lo tanto, se agregan sentencias con el verbo inspect para completarlas. Para entender por qué es necesario esto, consulte Variables no aplicables al resultado de una solicitud en una solicitud rechazada.
  • Una condición única.

    La siguiente política permite al grupo GroupAdmins crear, actualizar o suprimir cualquier grupo con nombres que empiecen por "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 siguiente política permite al grupo GroupAdmins gestionar los miembros de cualquier grupo aparte del grupo Administradores. (Tenga en cuenta que debe incluir sentencias independientes para el acceso de inspect porque las operaciones ListUsers y ListGroups no utilizan la variable target.group.name):

    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 siguiente política permite al grupo NetworkAdmins gestionar redes en la nube en cualquier compartimento, excepto en el especificado:
    Allow group NetworkAdmins to manage virtual-network-family in tenancy where target.compartment.id != 'ocid1.compartment.oc1..aaaaaaaayzfqeibduyox6icmdol6zyar3ugly4fmameq4h7lcdlihrvur7xq'
  • Condiciones múltiples.

    La siguiente política permite a GroupAdmins crear, actualizar o suprimir cualquier grupo cuyos nombres comience por "A-", excepto el propio grupo A-Admins:

    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