Setting Up Permissions for Scheduler API

Context

Scheduler API is a message queue scheduler. If you need an SQS message published to your queue later, you can call our API with the message and delay. We then publish to your queue at the scheduled time.

Problem

Not everybody can publish messages to your queue. Scheduler API needs access keys to publish messages to your queue at a later time.

In this tutorial, we guide you through granting permissions to the scheduler. It boils down to 3 steps:

1. Generate AWS Access Keys

2. Create an Inline Policy

3. Add Access Keys to the Console

We'll tackle each step separately. After finishing this tutorial, you will have all permissions setup for Scheduler API, and should be ready to start scheduling messages to your queue.

1. Generate AWS Access Keys

First, we have to create a new IAM user that will represent Scheduler API. We will then give permissions to this user to publish using the access keys associated with this user.

So to start, go to the IAM user home page here in AWS, click "Users" and then "Add User":

(or just click here: https://console.aws.amazon.com/iam/home?#/users$new?step=details)

chrome_7NOfFlu1Fs.png

Then on the next page, name the user "schedulerapi" and select Programmatic access:

chrome_enX2sTmVpy.png

Then click Next: Permissions, Next: Tags, Next: Review, and finally click "Create User".

chrome_tI49QMGenZ.png

After you create the user, the "Access Key ID" and "Secret Access Key" will be revealed in the next page.

We will use these keys later.

chrome_PEx8RDEMRv.png

2. Create an Inline Policy

In the previous step you created a user with NO access to your AWS account. Now we have to add the right permissions so this user can publish to your queue.

Now you will see a list of users. If not, click here to see the list of users again, which "schedulerapi" should be one of: https://console.aws.amazon.com/iam/home#/users Next, click on the "schedulerapi" user "Add Inline Policy":

chrome_MwgFpBwVv6.png

Then in the visual editor select SQS for "Service", SendMessage for "Actions", and specify the queue ARN under resources.

chrome_R5xX2oyCcx.png

OR you can add the policy by entering it into the JSON editor if you know your region, account id and queue name:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sqs:SendMessage",
            "Resource": "arn:aws:sqs:region:accountID:queueName"
        }
    ]
}

Now we've given the user SQS write permissions, so that Scheduler API can publish scheduled messages to your queue.

3. Add Access Keys to the Console

One step left to go! Now we just have to attach the "access keys" we created in step 1 to your account.

Login to https://app.schedulerapi.com/login and paste your access keys from step 1 to the Permissions tab. Hit "Save Keys" and you're done.

chrome_oxpI6ZZM2l.png

Now you're all set to schedule your first queue message!

Contact

If you need Scheduler API for any other use cases, we’d love to hear about it! 

Contact us at info@schedulerapi.com for questions and requests.

Follow us on Twitter: https://twitter.com/SchedulerAPI

We guarantee a response to all inquiries within 24 hours. Happy hacking!