Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Notifications
Mark all as read
Q&A

Access denied to read SQS queue just created

+2
−0

I've been trying to get Amazon SQS working with the v3 JS client. I've gotten to the point where I can successfully create a queue using the frontend, but the issue starts when I try and send/receive on that queue.

The exception I'm seeing is:

Access to the resource https://sqs.<region>.amazonaws.com/ is denied.

Here is essentially what the code is:

  this.sqs = new SQSClient({
	region: <region>,
	credentials: this.creds
  });
  const createQueue = new CreateQueueCommand({
	QueueName: `myqueue.fifo`,
	Attributes: {
	  FifoQueue: 'true',
	  ContentBasedDeduplication: 'true'
	},
	tags: this.amazonService.getResourceTags()
  })
  const queueUrlJson = await this.sqs.send(createQueue);

  const receiveMessages = new ReceiveMessageCommand({
	MaxNumberOfMessages: 10,
	QueueUrl: queueUrlJson.QueueUrl,
	VisibilityTimeout: 5,
	WaitTimeSeconds: 5
  });
  const messages = await this.sqs.send(receiveMessages);

The createQueue command succeeds, but the receiveMessages command fails. The relevant IAM policy has a wildcard on sqs:* with restrictions related to aws:ResourceTags. I'm confused as to why one operation is allowed, which would mean the tags matched, while the other is denied.

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

1 answer

+1
−0

OK, I found the issue. It was to do with the tags. It seems that you can't have a Condition based on ResourceTags for the ReceiveMessage and SendMessage operations - the ResourceTag selector may only apply to the message objects at that point.

I wonder if there is a way to do what I intended though, which is to only allow sending and receiving messages on queues with specific tag values.

Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment thread

Another question about allow sending and receiving messages on queues with specific tag values (1 comment)

Sign up to answer this question »

This community is part of the Codidact network. We have other communities too — take a look!

You can also join us in chat!

Want to advertise this community? Use our templates!

Like what we're doing? Support us! Donate