Java Code Examples for com.amazonaws.auth.policy.Policy#setStatements()
The following examples show how to use
com.amazonaws.auth.policy.Policy#setStatements() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: IntegrationTest.java From amazon-sqs-java-temporary-queues-client with Apache License 2.0 | 5 votes |
protected Policy allowSendMessagePolicy(String roleARN) { Policy policy = new Policy(); Statement statement = new Statement(Statement.Effect.Allow); statement.setActions(Collections.singletonList(SQSActions.SendMessage)); statement.setPrincipals(new Principal(roleARN)); statement.setResources(Collections.singletonList(new Resource("arn:aws:sqs:*:*:*"))); policy.setStatements(Collections.singletonList(statement)); return policy; }
Example 2
Source File: CommonTestUtils.java From pacbot with Apache License 2.0 | 5 votes |
public static Policy getPolicy() { Policy policy = new Policy(); List<Statement> statements = new ArrayList<Statement>(); Statement statement = new Statement(Effect.Allow); List<Action> actions = new ArrayList<>(); actions.add(IdentityManagementActions.AllIdentityManagementActions); actions.add(EC2Actions.RunInstances); statement.setActions(actions); statements.add(statement); policy.setStatements(statements); policy.setId("123"); policy.setStatements(statements); return policy; }
Example 3
Source File: AWSSessionCredentialsFactory.java From digdag with Apache License 2.0 | 5 votes |
public BasicSessionCredentials get() { AWSCredentials baseCredentials = new BasicAWSCredentials(accessKeyId, secretAccessKey); List<Statement> statements = new ArrayList<>(); acceptableUris.forEach(acceptableUri -> { Mode mode = acceptableUri.mode; String uri = acceptableUri.uri; if (uri.startsWith(URI_S3_PREFIX)) { String s3BucketAndKeyStr = uri.substring(URI_S3_PREFIX.length()); String[] s3BucketAndKey = s3BucketAndKeyStr.split("/", 2); statements.add(new Statement(Statement.Effect.Allow) .withActions(S3Actions.ListObjects) .withResources(new Resource("arn:aws:s3:::" + s3BucketAndKey[0]))); switch (mode) { case READ: statements.add(new Statement(Statement.Effect.Allow) .withActions(S3Actions.GetObject) .withResources(new Resource("arn:aws:s3:::" + s3BucketAndKeyStr + "*"))); break; case WRITE: statements.add(new Statement(Statement.Effect.Allow) .withActions(S3Actions.PutObject) .withResources(new Resource("arn:aws:s3:::" + s3BucketAndKeyStr + "*"))); break; } } else if (uri.startsWith(URI_DYNAMODB_PREFIX)) { String table = uri.substring(URI_DYNAMODB_PREFIX.length()); statements.add(new Statement(Statement.Effect.Allow) .withActions(DynamoDBv2Actions.DescribeTable) .withResources(new Resource(String.format("arn:aws:dynamodb:*:*:table/%s", table)))); switch (mode) { case READ: statements.add(new Statement(Statement.Effect.Allow) .withActions(DynamoDBv2Actions.Scan) .withResources(new Resource(String.format("arn:aws:dynamodb:*:*:table/%s", table)))); break; case WRITE: break; } } else if (uri.startsWith(URI_EMR_PREFIX)) { String cluster = uri.substring(URI_EMR_PREFIX.length()); // TODO: Grant minimum actions statements.add(new Statement(Statement.Effect.Allow) .withActions(ElasticMapReduceActions.AllElasticMapReduceActions) .withResources(new Resource(String.format("arn:aws:elasticmapreduce:*:*:cluster/%s", cluster)))); } else { throw new IllegalArgumentException("Unexpected `uri`. uri=" + uri); } } ); Policy policy = new Policy(); policy.setStatements(statements); Credentials credentials; AWSSecurityTokenServiceClient stsClient = new AWSSecurityTokenServiceClient(baseCredentials); if (roleArn != null && !roleArn.isEmpty()) { // use STS to assume role AssumeRoleResult assumeResult = stsClient.assumeRole(new AssumeRoleRequest() .withRoleArn(roleArn) .withDurationSeconds(durationSeconds) .withRoleSessionName(sessionName) .withPolicy(policy.toJson())); credentials = assumeResult.getCredentials(); } else { // Maybe we'd better add an option command later like `without_federated_token` GetFederationTokenRequest federationTokenRequest = new GetFederationTokenRequest() .withDurationSeconds(durationSeconds) .withName(sessionName) .withPolicy(policy.toJson()); GetFederationTokenResult federationTokenResult = stsClient.getFederationToken(federationTokenRequest); credentials = federationTokenResult.getCredentials(); } return new BasicSessionCredentials( credentials.getAccessKeyId(), credentials.getSecretAccessKey(), credentials.getSessionToken()); }