Back to all operators

ForAllValues:NotIpAddress

ForAllValues:NotIpAddress

compares a list of IP addresses in a request to a list of CIDR strings in your policy.

To match a request, the context key can be absent, but if it is present, none of the IP addresses in the request can match any string CIDR strings in your policy.

You can NOT use policy variables in the value of this operator.

Warning

As far as we know, ForAllValues:NotIpAddress can never be used — no context keys exist that are an array of CIDR strings. It's documented here as an example of how it would work, but if you see it in the wild, it's probably a mistake.

ForAllValues:NotIpAddress in an Allow Statement

Simulate in IAM Simulate
Policy ConditionRequest ContextResult
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent: null✓ Allowed Assuming no explicit Deny elsewhere
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent:
 - 170.64.109.25
 - 2001:4860:130F:0000:0000:09C0:876A:130B
− Not Allowed Statement does not apply
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent:
 - 170.64.109.25
 - 10.0.14.32
− Not Allowed Statement does not apply
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent:
 - 10.0.14.32
✓ Allowed Assuming no explicit Deny elsewhere
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent:
 - 10.0.14.32
 - 2001:0db8:0001:0000:0000:0ab9:C0A8:0102
✓ Allowed Assuming no explicit Deny elsewhere
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent:
 - 10.0.14.32
 - 2001:0db8:0001:0000:0000:0ab9:C0A8:0102
 - 170.64.109.25
− Not Allowed Statement does not apply

ForAllValues:NotIpAddress in a Deny Statement

Simulate in IAM Simulate
Policy ConditionRequest ContextResult
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent: null✕ Denied
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent:
 - 170.64.109.25
 - 2001:4860:130F:0000:0000:09C0:876A:130B
− Not Denied May be allowed by another statement
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent:
 - 170.64.109.25
 - 10.0.14.32
− Not Denied May be allowed by another statement
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent:
 - 10.0.14.32
✕ Denied
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent:
 - 10.0.14.32
 - 2001:0db8:0001:0000:0000:0ab9:C0A8:0102
✕ Denied
"ForAllValues:NotIpAddress": {
"aws:nonExistent": [
"170.64.0.0/16",
"2001:4860:4860::8888/32"
]
}
aws:nonExistent:
 - 10.0.14.32
 - 2001:0db8:0001:0000:0000:0ab9:C0A8:0102
 - 170.64.109.25
− Not Denied May be allowed by another statement