Roadrunner SMB

Deployer Permission Matrix

Last Updated: 2026-06-09

Template-derived mapping of CloudFormation® resources to AWS® services and typical deployer IAM actions. Use for enterprise IAM reviews and CloudTrail-based policy derivation.

Status: Template-derived (not CloudTrail-validated). When a validated deployer JSON is published for your release, it supersedes the action lists here.

See also: Identity and permissions · Deployment Guide · CloudTrail self-validation procedure


How to use this matrix

Audience Use
Security reviewers Scope a deployer role before first production deploy
IAM engineers Starting point for CloudTrail capture
Eval deployers Optional — Tier 1 (AdministratorAccess) does not require this matrix

Action columns list typical permissions CloudFormation needs when your IAM user/role is the stack principal. Exact actions may vary by account policy boundaries; prove with CloudTrail + scoped re-deploy.


Section A — Stack resources → AWS services → deployer actions

Launcher (parent) stack

Resource category CFN types AWS services Typical deployer actions
Staging bucket AWS::S3::Bucket S3 s3:CreateBucket, s3:PutEncryptionConfiguration, s3:PutBucketPublicAccessBlock, s3:PutObject, s3:GetObject, s3:DeleteObject
Template resolver AWS::Lambda::Function, AWS::IAM::Role, AWS::CloudFormation::CustomResource Lambda, IAM, CloudFormation lambda:CreateFunction, lambda:InvokeFunction, lambda:DeleteFunction, iam:CreateRole, iam:PutRolePolicy, iam:PassRole, iam:DeleteRole
Nested inner stack AWS::CloudFormation::Stack CloudFormation cloudformation:CreateStack, cloudformation:UpdateStack, cloudformation:DeleteStack, cloudformation:DescribeStacks, cloudformation:DescribeStackEvents, cloudformation:DescribeStackResources, cloudformation:GetTemplate, cloudformation:ValidateTemplate

Inner (nested) stack — networking

Resource category CFN types AWS services Typical deployer actions
Security groups AWS::EC2::SecurityGroup, AWS::EC2::SecurityGroupIngress EC2 ec2:CreateSecurityGroup, ec2:AuthorizeSecurityGroupIngress, ec2:AuthorizeSecurityGroupEgress, ec2:RevokeSecurityGroupIngress, ec2:RevokeSecurityGroupEgress, ec2:DeleteSecurityGroup, ec2:DescribeVpcs, ec2:DescribeSubnets, ec2:DescribeSecurityGroups
Load balancer AWS::ElasticLoadBalancingV2::LoadBalancer, Target groups, Listeners ELB (v2) elasticloadbalancing:CreateLoadBalancer, elasticloadbalancing:CreateTargetGroup, elasticloadbalancing:CreateListener, elasticloadbalancing:ModifyListener, elasticloadbalancing:DeleteLoadBalancer, elasticloadbalancing:Describe*, elasticloadbalancing:RegisterTargets, elasticloadbalancing:DeregisterTargets

Inner stack — storage

Resource category CFN types AWS services Typical deployer actions
EFS AWS::EFS::FileSystem, AWS::EFS::MountTarget, AWS::EFS::AccessPoint EFS elasticfilesystem:CreateFileSystem, elasticfilesystem:CreateMountTarget, elasticfilesystem:CreateAccessPoint, elasticfilesystem:DeleteFileSystem, elasticfilesystem:Describe*, elasticfilesystem:TagResource
DynamoDB® AWS::DynamoDB::Table DynamoDB dynamodb:CreateTable, dynamodb:DeleteTable, dynamodb:DescribeTable, dynamodb:TagResource, dynamodb:UpdateContinuousBackups

Inner stack — compute (ECS on EC2)

Resource category CFN types AWS services Typical deployer actions
EC2 / ASG AWS::EC2::LaunchTemplate, AWS::AutoScaling::AutoScalingGroup EC2, Auto Scaling ec2:CreateLaunchTemplate, ec2:DeleteLaunchTemplate, ec2:RunInstances, ec2:Describe*, autoscaling:CreateAutoScalingGroup, autoscaling:UpdateAutoScalingGroup, autoscaling:DeleteAutoScalingGroup, autoscaling:Describe*
ECS AWS::ECS::Cluster, AWS::ECS::CapacityProvider, AWS::ECS::TaskDefinition, AWS::ECS::Service ECS ecs:CreateCluster, ecs:CreateCapacityProvider, ecs:RegisterTaskDefinition, ecs:DeregisterTaskDefinition, ecs:CreateService, ecs:UpdateService, ecs:DeleteService, ecs:Describe*, ecs:PutClusterCapacityProviders
IAM (runtime) AWS::IAM::Role, AWS::IAM::InstanceProfile IAM iam:CreateRole, iam:DeleteRole, iam:PutRolePolicy, iam:DeleteRolePolicy, iam:AttachRolePolicy, iam:DetachRolePolicy, iam:CreateInstanceProfile, iam:AddRoleToInstanceProfile, iam:RemoveRoleFromInstanceProfile, iam:DeleteInstanceProfile, iam:PassRole, iam:GetRole, iam:GetInstanceProfile

Inner stack — supporting resources

Resource category CFN types AWS services Typical deployer actions
Custom resources Lambda + CustomResource (VPC discovery, bootstrap, optional cert) Lambda, IAM, EC2 (describe) lambda:* (create/invoke/delete), iam:PassRole, ec2:DescribeSubnets, ec2:DescribeVpcs, ec2:DescribeRouteTables
Secrets AWS::SecretsManager::Secret Secrets Manager secretsmanager:CreateSecret, secretsmanager:PutSecretValue, secretsmanager:DeleteSecret, secretsmanager:TagResource, secretsmanager:GetResourcePolicy, secretsmanager:PutResourcePolicy
Logs AWS::Logs::LogGroup CloudWatch Logs logs:CreateLogGroup, logs:DeleteLogGroup, logs:PutRetentionPolicy, logs:TagResource, logs:DescribeLogGroups
Monitoring AWS::CloudWatch::Alarm CloudWatch cloudwatch:PutMetricAlarm, cloudwatch:DeleteAlarms, cloudwatch:DescribeAlarms
Certificates (optional) Lambda-driven ACM ACM, Lambda acm:RequestCertificate, acm:DescribeCertificate, acm:DeleteCertificate, acm:AddTagsToCertificate

Cross-cutting deployer actions

Need Typical actions
Marketplace subscribe (before deploy) aws-marketplace:Subscribe, aws-marketplace:Unsubscribe, aws-marketplace:ViewSubscriptions (via AWSMarketplaceManageSubscriptions managed policy)
First Quick Launch deploy iam:CreateServiceLinkedRole for marketplace.amazonaws.com / deployment SLR
PassRole to stack roles iam:PassRole on TaskRole, TaskExecutionRole, InstanceRole, Lambda execution roles
Service quotas / AZ lookup ec2:DescribeAvailabilityZones, ec2:DescribeAccountAttributes

Section B — How permissions are used

CloudFormation

The deployer creates two stacks: launcher (parent) and inner (nested). Nested stacks require CAPABILITY_AUTO_EXPAND. Updates to cluster node count modify the parent stack; auto-update modifies the nested stack via the appliance TaskRole (runtime), not the original deployer.

IAM

The template creates runtime roles (task, execution, instance) and Lambda execution roles for custom resources. The deployer needs iam:CreateRole, iam:PutRolePolicy, and iam:PassRole so CloudFormation can assign roles to ECS tasks, EC2 instances, and Lambda functions.

EC2, ECS, EFS, and DynamoDB

Cluster nodes launch via launch template + ASG. ECS registers tasks with NLB target groups. EFS holds share data; DynamoDB stores ACL metadata and billing state. See Deployment Guide — Architecture.

Lambda custom resources

VPC subnet discovery, bootstrap secret creation, and optional certificate generation run as CloudFormation custom resources during stack create.


Section C — Runtime roles (not the deployer)

These roles are created by the stack and used by the appliance at runtime. Do not attach them to human deployer principals.

Role Used by Key permissions (summary)
TaskExecutionRole ECS agent (pull images) ECR pull, CloudWatch Logs write, Secrets Manager read
TaskRole RRSMB container DynamoDB, EFS, cloudformation:UpdateStack (auto-update), aws-marketplace:MeterUsage
InstanceRole EC2 host ECS agent, SSM Session Manager

Detail: Identity and permissions — Deployer vs runtime IAM.


Topic Document
Identity overview Identity and permissions
CloudTrail procedure Self-service CloudTrail capture
Deployment Deployment Guide
Marketplace facts AWS Marketplace deployment summary

Footer: This matrix is template-derived from Roadrunner SMB™ Marketplace CloudFormation templates as of 2026-06-06. A CloudTrail-validated deployer policy JSON, when published for a specific release, is authoritative for that release.

Home · Documentation · Quick Start · Release Notes · Support

© 2026 Roadrunner SMB, LLC

Roadrunner SMB is an independent software project and is not affiliated with, endorsed by, or sponsored by Amazon Web Services, Inc.
Amazon Web Services, AWS, and Amazon EFS are trademarks of Amazon.com, Inc. or its affiliates.
Microsoft, Windows, and Active Directory are trademarks of the Microsoft Corporation in the United States and/or other countries.
Citrix and SoftNAS are registered trademarks of their respective owners.
Roadrunner SMB and Elastic SMB are trademarks of Roadrunner SMB, LLC. All rights reserved.