Les opérateurs d'un élément Condition associent des clés de condition à des valeurs pour créer une instruction conditionnelle. La politique s'applique lorsqu'une requête respecte cette condition. Les opérateurs se répartissent en cinq catégories : chaîne, nombre, date et heure, booléen et adresse IP. Cette rubrique décrit les opérateurs pris en charge par Resource Access Management (RAM) et fournit des exemples.
Chaîne
|
Catégorie |
Opérateur |
Description |
|
Chaîne |
StringEquals |
Correspond à une chaîne exacte (sensible à la casse). |
|
StringNotEquals |
Ne correspond pas à une chaîne exacte (sensible à la casse). |
|
|
StringEqualsIgnoreCase |
Correspond à une chaîne exacte (insensible à la casse). |
|
|
StringNotEqualsIgnoreCase |
Ne correspond pas à une chaîne exacte (insensible à la casse). |
|
|
StringLike |
Correspond à un modèle de chaîne (sensible à la casse, prend en charge les astérisques [
|
|
|
StringNotLike |
Ne correspond pas à un modèle de chaîne (sensible à la casse, prend en charge les astérisques [
|
Exemples :
StringEquals
Cette politique autorise un utilisateur RAM à gérer uniquement les instances ECS portant le tag team:dev. Elle utilise l'opérateur StringEquals et la clé de condition acs:ResourceTag dans l'élément Condition.
{
"Effect": "Allow",
"Action": "ecs:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"acs:ResourceTag/team": [
"dev"
]
}
}
}
StringLike
Cette politique permet à un utilisateur RAM d'utiliser l'interface CLI OSS pour accéder au dossier myphotos/hangzhou/2015/ et lister les objets qu'il contient. La politique utilise l'opérateur StringLike et la clé de condition oss:Prefix dans l'élément Condition. Cela garantit que seuls les objets dont le préfixe est hangzhou/2015/ sont listés.
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject"
],
"Resource": [
"acs:oss:*:*:myphotos/hangzhou/2015/*"
]
},
{
"Effect": "Allow",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:myphotos"
],
"Condition":{
"StringLike":{
"oss:Prefix":"hangzhou/2015/*"
}
}
}
]
}
Nombre
|
Catégorie |
Opérateur |
Description |
|
Nombre |
NumericEquals |
Égal à. |
|
NumericNotEquals |
Différent de. |
|
|
NumericLessThan |
Inférieur à. |
|
|
NumericLessThanEquals |
Inférieur ou égal à. |
|
|
NumericGreaterThan |
Supérieur à. |
|
|
NumericGreaterThanEquals |
Supérieur ou égal à. |
Exemple :
Cette politique interdit à tous les utilisateurs et rôles RAM de supprimer les identifiants Key Management Service (KMS) si la fenêtre de récupération est définie sur 10 jours ou moins. Elle utilise l'opérateur NumericLessThanEquals et la clé de condition kms:RecoveryWindowInDays dans l'élément Condition.
{
"Statement": [
{
"Effect": "Deny",
"Action": "kms:DeleteSecret",
"Principal": "*",
"Resource": "*",
"Condition": {
"NumericLessThanEquals": {
"kms:RecoveryWindowInDays": "10"
}
}
}
]
}
Date et heure
|
Catégorie |
Opérateur |
Description |
|
Date et heure |
DateEquals |
Égal à. |
|
DateNotEquals |
Différent de. |
|
|
DateLessThan |
Antérieur à. |
|
|
DateLessThanEquals |
Antérieur ou égal à. |
|
|
DateGreaterThan |
Postérieur à. |
|
|
DateGreaterThanEquals |
Postérieur ou égal à. |
Exemple :
Cette politique autorise un utilisateur RAM à accéder aux instances ECS uniquement avant 17 h 00 le 12 août 2019 (UTC+8). Elle utilise l'opérateur DateLessThan et la clé de condition acs:CurrentTime dans l'élément Condition.
{
"Statement": [
{
"Action": "ecs:*",
"Effect": "Allow",
"Resource": "*",
"Condition": {
"DateLessThan": {
"acs:CurrentTime": "2019-08-12T17:00:00+08:00"
}
}
}
],
"Version": "1"
}
Booléen
|
Catégorie |
Opérateur |
Description |
|
Booléen |
Bool |
Correspond à une valeur booléenne ( |
Exemple :
Cette politique autorise uniquement les utilisateurs RAM ayant activé l'authentification multifacteur (MFA) à accéder aux instances ECS. Elle utilise l'opérateur Bool et la clé de condition acs:MFAPresent dans l'élément Condition.
{
"Statement": [
{
"Action": "ecs:*",
"Effect": "Allow",
"Resource": "*",
"Condition": {
"Bool": {
"acs:MFAPresent": "true"
}
}
}
],
"Version": "1"
}
Adresse IP
|
Catégorie |
Opérateur |
Description |
|
Adresse IP |
IpAddress |
Correspond à l'adresse IP spécifiée ou se trouve dans le bloc CIDR spécifié. |
|
NotIpAddress |
Ne correspond pas à l'adresse IP spécifiée et ne se trouve pas dans le bloc CIDR spécifié. |
|
|
IpAddressIncludeBorder |
Correspond à l'adresse IP ou au bloc CIDR spécifié. Remarque
Pris en charge uniquement par certains services cloud. Testez cet opérateur avant utilisation. |
|
|
NotIpAddressIncludeBorder |
Ne correspond pas à l'adresse IP ou au bloc CIDR spécifié. Remarque
Pris en charge uniquement par certains services cloud. Testez cet opérateur avant utilisation. |
Exemple :
Cette politique autorise un utilisateur RAM à accéder aux instances ECS uniquement depuis les adresses IP 192.0.2.0/24 et 203.0.113.2. Elle utilise l'opérateur IpAddress et la clé de condition acs:SourceIp dans l'élément Condition.
{
"Statement": [
{
"Action": "ecs:*",
"Effect": "Allow",
"Resource": "*",
"Condition": {
"IpAddress": {
"acs:SourceIp": [
"192.0.2.0/24",
"203.0.113.2"
]
}
}
}
],
"Version": "1"
}