AWSCloud9User
Summary
Provides permission to create AWS Cloud9 development environments and to manage owned environments.
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/AWSCloud9User- Default version
- v12
- Created
- Last edited
- Services
- cloud9, ec2, iam, ssm, ssmmessages
Control-plane actions (17)
By access level: 5 List, 6 Read, 6 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Cloud9 | 7 of 29 | 4 Read, 3 Write; 4 restricted, 4 conditional | cloud9:CreateEnvironmentEC2, cloud9:CreateEnvironmentSSH, cloud9:DescribeEnvironmentMemberships, cloud9:GetMigrationExperiences, cloud9:GetUserPublicKey, cloud9:GetUserSettings, cloud9:UpdateUserSettings |
| EC2 | 4 of 834 | 4 List; 0 restricted, 0 conditional | ec2:DescribeInstanceTypeOfferings, ec2:DescribeRouteTables, ec2:DescribeSubnets, ec2:DescribeVpcs |
| IAM | 3 of 190 | 1 List, 1 Read, 1 Write; 1 restricted, 1 conditional | iam:CreateServiceLinkedRole, iam:GetUser, iam:ListUsers |
| Systems Manager | 2 of 164 | 1 Read, 1 Write; 2 restricted, 1 conditional | ssm:GetConnectionStatus, ssm:StartSession |
| SSM Messages | 1 of 4 | 1 Write; 1 restricted, 0 conditional | ssmmessages:OpenDataChannel |
Cloud9: 7 actions
- cloud9:CreateEnvironmentEC2 (Write)
- cloud9:CreateEnvironmentSSH (Write)
- cloud9:DescribeEnvironmentMemberships (Read)
- cloud9:GetMigrationExperiences (Read)
- cloud9:GetUserPublicKey (Read)
- cloud9:GetUserSettings (Read)
- cloud9:UpdateUserSettings (Write)
EC2: 4 actions
- ec2:DescribeInstanceTypeOfferings (List)
- ec2:DescribeRouteTables (List)
- ec2:DescribeSubnets (List)
- ec2:DescribeVpcs (List)
IAM: 3 actions
- iam:CreateServiceLinkedRole (Write)
- iam:GetUser (Read)
- iam:ListUsers (List)
Systems Manager: 2 actions
- ssm:GetConnectionStatus (Read)
- ssm:StartSession (Write)
SSM Messages: 1 actions
- ssmmessages:OpenDataChannel (Write)
Data-plane actions (0)
By access level: none.
This policy grants no actions in this plane.
Excluded and conditional actions
No patterns are excluded by NotAction or Deny statements.
Resource scope and attachment
Resource scope across granted actions: mixed.
Can be attached: Yes, to users, groups and roles.
Why this tier
- Grants 6 write, tagging or permissions-management actions, short of full control of any service.
Guidance
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Related policies
Same service
- AccessAnalyzerServiceRolePolicy
- AccountManagementFromVercel
- AdministratorAccess-AWSElasticBeanstalk
- AIDevOpsReleaseManagementVPCPolicy
- AIOpsOperatorAccess
- AmazonApplicationRecoveryControllerRegionSwitchPlanExecutionPolicy
- AmazonAppStreamServiceAccess
- AmazonBioDiscoveryServiceLinkedRolePolicy
Same domain
Frequently asked questions
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Policy JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloud9:UpdateUserSettings",
"cloud9:GetUserSettings",
"cloud9:GetMigrationExperiences",
"iam:GetUser",
"iam:ListUsers",
"ec2:DescribeVpcs",
"ec2:DescribeSubnets",
"ec2:DescribeInstanceTypeOfferings",
"ec2:DescribeRouteTables"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cloud9:CreateEnvironmentEC2",
"cloud9:CreateEnvironmentSSH"
],
"Resource": "*",
"Condition": {
"Null": {
"cloud9:OwnerArn": "true"
}
}
},
{
"Effect": "Allow",
"Action": [
"cloud9:GetUserPublicKey"
],
"Resource": "*",
"Condition": {
"Null": {
"cloud9:UserArn": "true"
}
}
},
{
"Effect": "Allow",
"Action": [
"cloud9:DescribeEnvironmentMemberships"
],
"Resource": [
"*"
],
"Condition": {
"Null": {
"cloud9:UserArn": "true",
"cloud9:EnvironmentId": "true"
}
}
},
{
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole"
],
"Resource": "*",
"Condition": {
"StringLike": {
"iam:AWSServiceName": "cloud9.amazonaws.com"
}
}
},
{
"Effect": "Allow",
"Action": [
"ssm:StartSession",
"ssm:GetConnectionStatus"
],
"Resource": "arn:aws:ec2:*:*:instance/*",
"Condition": {
"StringLike": {
"ssm:resourceTag/aws:cloud9:environment": "*"
},
"StringEquals": {
"aws:CalledViaFirst": "cloud9.amazonaws.com"
}
}
},
{
"Effect": "Allow",
"Action": [
"ssm:StartSession"
],
"Resource": [
"arn:aws:ssm:*:*:document/*"
]
},
{
"Effect": "Allow",
"Action": [
"ssmmessages:OpenDataChannel"
],
"Resource": [
"arn:aws:ssm:*:*:session/*"
]
}
]
}
Version history
Current version v12, edited by AWS on 2026-02-12. Version history is recorded from 2026-11-11. Earlier versions are in the IAM console under Policy versions.
Attach snippets
AWS CLI
aws iam attach-role-policy --role-name ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AWSCloud9User
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AWSCloud9User
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AWSCloud9UserCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AWSCloud9UserTerraform
resource "aws_iam_role_policy_attachment" "awscloud9user" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/AWSCloud9User"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("AWSCloud9User"),
);Sources
Pending editorial review. No editorial sources are listed yet.