Back to all operators

ForAnyValue:DateEqualsIfExists

ForAnyValue:DateEqualsIfExists

compares a list of datetimes in a request to a list of datetimes in your policy. Datetime comparisons compare down to the second; so for DateEquals to match, the time must match exactly.

To match a request, the context key must exist in the request and at least one datetime in the request must match one of the datetimes in your policy.

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

Warning

As far as we know, ForAnyValue:DateEqualsIfExists can never be used — no context keys exist that are an array of datetimes. 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.

ForAnyValue:DateEqualsIfExists in an Allow Statement

Policy ConditionRequest ContextResult
"ForAnyValue:DateEqualsIfExists": {
"aws:NonExistent": [
"2011-05-03T00:00:00Z",
"2012-10-17T00:00:00Z"
]
}
aws:NonExistent: null− Not Allowed Statement does not apply
"ForAnyValue:DateEqualsIfExists": {
"aws:NonExistent": [
"2011-05-03T00:00:00Z",
"2012-10-17T00:00:00Z"
]
}
aws:NonExistent:
 - 2021-07-05T00:00:00Z
 - 2024-05-04T00:00:00Z
− Not Allowed Statement does not apply
"ForAnyValue:DateEqualsIfExists": {
"aws:NonExistent": [
"2011-05-03T00:00:00Z",
"2012-10-17T00:00:00Z"
]
}
aws:NonExistent:
 - 2011-05-03T00:00:00Z
 - 2021-07-05T00:00:00Z
✓ Allowed Assuming no explicit Deny elsewhere
"ForAnyValue:DateEqualsIfExists": {
"aws:NonExistent": [
"2011-05-03T00:00:00Z",
"2012-10-17T00:00:00Z"
]
}
aws:NonExistent:
 - 2011-05-03T00:00:00Z
 - 2012-10-17T00:00:00Z
✓ Allowed Assuming no explicit Deny elsewhere
"ForAnyValue:DateEqualsIfExists": {
"aws:NonExistent": [
"2011-05-03T00:00:00Z",
"2012-10-17T00:00:00Z"
]
}
aws:NonExistent:
 - 2011-05-03T00:00:00Z
 - 2012-10-17T00:00:00Z
 - 2021-07-05T00:00:00Z
✓ Allowed Assuming no explicit Deny elsewhere

ForAnyValue:DateEqualsIfExists in a Deny Statement

Policy ConditionRequest ContextResult
"ForAnyValue:DateEqualsIfExists": {
"aws:NonExistent": [
"2011-05-03T00:00:00Z",
"2012-10-17T00:00:00Z"
]
}
aws:NonExistent: null− Not Denied May be allowed by another statement
"ForAnyValue:DateEqualsIfExists": {
"aws:NonExistent": [
"2011-05-03T00:00:00Z",
"2012-10-17T00:00:00Z"
]
}
aws:NonExistent:
 - 2021-07-05T00:00:00Z
 - 2024-05-04T00:00:00Z
− Not Denied May be allowed by another statement
"ForAnyValue:DateEqualsIfExists": {
"aws:NonExistent": [
"2011-05-03T00:00:00Z",
"2012-10-17T00:00:00Z"
]
}
aws:NonExistent:
 - 2011-05-03T00:00:00Z
 - 2021-07-05T00:00:00Z
✕ Denied
"ForAnyValue:DateEqualsIfExists": {
"aws:NonExistent": [
"2011-05-03T00:00:00Z",
"2012-10-17T00:00:00Z"
]
}
aws:NonExistent:
 - 2011-05-03T00:00:00Z
 - 2012-10-17T00:00:00Z
✕ Denied
"ForAnyValue:DateEqualsIfExists": {
"aws:NonExistent": [
"2011-05-03T00:00:00Z",
"2012-10-17T00:00:00Z"
]
}
aws:NonExistent:
 - 2011-05-03T00:00:00Z
 - 2012-10-17T00:00:00Z
 - 2021-07-05T00:00:00Z
✕ Denied