Minimal Deploy IAM Policy

Important: These docs are for the outdated Jets 5 versions and below. For the latest Jets docs: docs.rubyonjets.com

The IAM user you use to run the jets deploy command needs a minimal set of IAM policies in order to deploy a Jets application. Here is a table of the baseline services needed:

Service Description
API Gateway To create the API Gateway resources.
CloudFormation To create the CloudFormation stacks that then creates the most of the AWS resources that Jets creates.
DynamoDB To look up DynamoDB table stream arn if using DynamoDB Events.
Events To create the CloudWatch Event Rules for jobs.
IAM To create IAM roles to be associated with the Lambda functions.
Lambda To prewarm the application upon deployment completion.
Logs To clean up CloudWatch logs when deleting the application.
Route53 To create vanity DNS endpoint when using custom domains.
S3 To upload code to s3.

Instructions

It is recommended that you create an IAM group and associate it with the IAM users that need access to use jets deploy. Here are starter instructions and a policy that you can tailor for your needs. You can follow either the CLI or Console instructions.

  1. CLI Instructions
  2. Console Instructions

Lambda Function vs User Deploy IAM Policies

This page refers to your user IAM policy used when running jets deploy. These are different from the IAM Policies associated with created Lambda functions. For those iam policies refer to: