public class ConditionFactory extends Object
Modifier and Type | Field and Description |
---|---|
static String |
CURRENT_TIME_CONDITION_KEY
Condition key for the current time.
|
static String |
EPOCH_TIME_CONDITION_KEY
Condition key for the current time, in epoch seconds.
|
static String |
REFERER_CONDITION_KEY
Condition key for the referer specified by a request.
|
static String |
SECURE_TRANSPORT_CONDITION_KEY
Condition key for whether or not an incoming request is using a secure
transport to make the request (i.e.
|
static String |
SOURCE_ARN_CONDITION_KEY
Condition key for the Amazon Resource Name (ARN) of the source specified
in a request.
|
static String |
SOURCE_IP_CONDITION_KEY
Condition key for the source IP from which a request originates.
|
static String |
USER_AGENT_CONDITION_KEY
Condition key for the user agent included in a request.
|
Modifier and Type | Method and Description |
---|---|
static Condition |
newRefererCondition(StringCondition.StringComparisonType comparisonType,
String value)
Constructs a new access control policy condition that tests the incoming
request's referer field against the specified value, using the specified
comparison type.
|
static Condition |
newSecureTransportCondition()
Constructs a new access control policy condition that tests if the
incoming request was sent over a secure transport (HTTPS).
|
static Condition |
newSourceArnCondition(String arnPattern)
Constructs a new access policy condition that compares the Amazon
Resource Name (ARN) of the source of an AWS resource that is modifying
another AWS resource with the specified pattern.
|
static Condition |
newUserAgentCondition(StringCondition.StringComparisonType comparisonType,
String value)
Constructs a new access control policy condition that tests the incoming
request's user agent field against the specified value, using the
specified comparison type.
|
public static final String CURRENT_TIME_CONDITION_KEY
This condition key should only be used with DateCondition
objects.
public static final String SECURE_TRANSPORT_CONDITION_KEY
This condition key should only be used with BooleanCondition
objects.
public static final String SOURCE_IP_CONDITION_KEY
This condition key should only be used with IpAddressCondition
objects.
public static final String USER_AGENT_CONDITION_KEY
This condition key should only be used with StringCondition
objects.
public static final String EPOCH_TIME_CONDITION_KEY
This condition key should only be used with NumericCondition
objects.
public static final String REFERER_CONDITION_KEY
This condition key should only be used with StringCondition
objects.
public static final String SOURCE_ARN_CONDITION_KEY
This condition key should only be used with ArnCondition
objects.
public static Condition newSourceArnCondition(String arnPattern)
For example, the source ARN could be an Amazon SNS topic ARN that is sending messages to an Amazon SQS queue. In that case, the SNS topic ARN would be compared the ARN pattern specified here.
The endpoint pattern may optionally contain the multi-character wildcard (*) or the single-character wildcard (?). Each of the six colon-delimited components of the ARN is checked separately and each can include a wildcard.
Policy policy = new Policy("MyQueuePolicy"); policy.withStatements(new Statement("AllowSNSMessages", Effect.Allow) .withPrincipals(new Principal("*")).withActions(SQSActions.SendMessage) .withResources(new Resource(myQueueArn)) .withConditions(ConditionFactory.newSourceArnCondition(myTopicArn)));
arnPattern
- The ARN pattern against which the source ARN will be compared.
Each of the six colon-delimited components of the ARN is
checked separately and each can include a wildcard.public static Condition newSecureTransportCondition()
public static Condition newUserAgentCondition(StringCondition.StringComparisonType comparisonType, String value)
comparisonType
- The type of string comparison to perform when testing an
incoming request's user agent field with the specified value.value
- The value against which to compare the incoming request's user
agent.public static Condition newRefererCondition(StringCondition.StringComparisonType comparisonType, String value)
comparisonType
- The type of string comparison to perform when testing an
incoming request's referer field with the specified value.value
- The value against which to compare the incoming request's
referer field.