The AWS Java SDK for Amazon SQS module provides client classes for communicating with Amazon Simple Queue Service
—
Queue permissions enable cross-account access and fine-grained authorization control for SQS queues through IAM-style policies and AWS account-based permission management.
Grant access to other AWS accounts or services for specific SQS operations.
AddPermissionResult addPermission(AddPermissionRequest request);
// Convenience method
AddPermissionResult addPermission(String queueUrl, String label, List<String> aWSAccountIds, List<String> actions);
class AddPermissionRequest extends AmazonWebServiceRequest {
String getQueueUrl();
AddPermissionRequest withQueueUrl(String queueUrl);
String getLabel();
AddPermissionRequest withLabel(String label);
List<String> getAWSAccountIds();
AddPermissionRequest withAWSAccountIds(List<String> aWSAccountIds);
List<String> getActions();
AddPermissionRequest withActions(List<String> actions);
}
class AddPermissionResult {
// Empty result class - success indicated by no exception
}Usage Example:
// Grant cross-account access
List<String> accounts = Arrays.asList("123456789012", "123456789013");
List<String> actions = Arrays.asList("SendMessage", "ReceiveMessage");
AddPermissionRequest request = new AddPermissionRequest()
.withQueueUrl(queueUrl)
.withLabel("CrossAccountAccess")
.withAWSAccountIds(accounts)
.withActions(actions);
client.addPermission(request);Remove previously granted permissions by label.
RemovePermissionResult removePermission(RemovePermissionRequest request);
// Convenience method
RemovePermissionResult removePermission(String queueUrl, String label);
class RemovePermissionRequest extends AmazonWebServiceRequest {
String getQueueUrl();
RemovePermissionRequest withQueueUrl(String queueUrl);
String getLabel();
RemovePermissionRequest withLabel(String label);
}
class RemovePermissionResult {
// Empty result class - success indicated by no exception
}Usage Example:
// Remove previously granted permission
client.removePermission(new RemovePermissionRequest()
.withQueueUrl(queueUrl)
.withLabel("CrossAccountAccess"));Install with Tessl CLI
npx tessl i tessl/maven-com-amazonaws--aws-java-sdk-sqs