Skip to main content
IAM Policy Map

AmazonAppStreamServiceAccess

OperatorService roleActivePermissions reviewedShow on mapCompare

Summary

Default policy for Amazon AppStream service role.

Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.

Identity

ARN
arn:aws:iam::aws:policy/service-role/AmazonAppStreamServiceAccess
Default version
v12
Created
Last edited
Services
application-autoscaling, ds, ec2, s3

Control-plane actions (19)

By access level: 10 List, 1 Permissions management, 2 Read, 6 Write.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Application Auto Scaling1 of 141 Read; 0 restricted, 0 conditionalapplication-autoscaling:DescribeScalableTargets
Directory Service1 of 911 List; 0 restricted, 0 conditionalds:DescribeDirectories
EC212 of 8348 List, 4 Write; 0 restricted, 0 conditionalec2:AssociateAddress, ec2:CreateNetworkInterface, ec2:DeleteNetworkInterface, ec2:DescribeAvailabilityZones, ec2:DescribeImages, ec2:DescribeNetworkInterfaces, ec2:DescribeRouteTables, ec2:DescribeSecurityGroups, ec2:DescribeSubnets, ec2:DescribeVpcEndpoints, ec2:DescribeVpcs, ec2:DisassociateAddress
S35 of 1551 List, 1 Permissions management, 1 Read, 2 Write; 4 restricted, 0 conditionals3:CreateBucket, s3:GetBucketPolicy, s3:ListAllMyBuckets, s3:PutBucketPolicy, s3:PutEncryptionConfiguration
Application Auto Scaling: 1 actions
  • application-autoscaling:DescribeScalableTargets (Read)
Directory Service: 1 actions
  • ds:DescribeDirectories (List)
EC2: 12 actions
  • ec2:AssociateAddress (Write)
  • ec2:CreateNetworkInterface (Write)
  • ec2:DeleteNetworkInterface (Write)
  • ec2:DescribeAvailabilityZones (List)
  • ec2:DescribeImages (List)
  • ec2:DescribeNetworkInterfaces (List)
  • ec2:DescribeRouteTables (List)
  • ec2:DescribeSecurityGroups (List)
  • ec2:DescribeSubnets (List)
  • ec2:DescribeVpcEndpoints (List)
  • ec2:DescribeVpcs (List)
  • ec2:DisassociateAddress (Write)
S3: 5 actions
  • s3:CreateBucket (Write)
  • s3:GetBucketPolicy (Read)
  • s3:ListAllMyBuckets (List)
  • s3:PutBucketPolicy (Permissions management)
  • s3:PutEncryptionConfiguration (Write)

Data-plane actions (6)

By access level: 1 List, 2 Read, 3 Write.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
S36 of 251 List, 2 Read, 3 Write; 6 restricted, 0 conditionals3:DeleteObject, s3:DeleteObjectVersion, s3:GetObject, s3:GetObjectVersion, s3:ListBucket, s3:PutObject
S3: 6 actions
  • s3:DeleteObject (Write)
  • s3:DeleteObjectVersion (Write)
  • s3:GetObject (Read)
  • s3:GetObjectVersion (Read)
  • s3:ListBucket (List)
  • s3:PutObject (Write)

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 10 write, tagging or permissions-management actions, short of full control of any service.
  • Grants data-plane write actions on a data store, but only for scoped resources or under conditions.

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.

Same service

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

Download policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcs",
        "ec2:DescribeImages",
        "ec2:DescribeAvailabilityZones",
        "ec2:CreateNetworkInterface",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DeleteNetworkInterface",
        "ec2:DescribeSubnets",
        "ec2:AssociateAddress",
        "ec2:DisassociateAddress",
        "ec2:DescribeRouteTables",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeVpcEndpoints",
        "s3:ListAllMyBuckets",
        "ds:DescribeDirectories",
        "application-autoscaling:DescribeScalableTargets"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:ListBucket",
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:GetObjectVersion",
        "s3:DeleteObjectVersion",
        "s3:GetBucketPolicy",
        "s3:PutBucketPolicy",
        "s3:PutEncryptionConfiguration"
      ],
      "Resource": [
        "arn:aws:s3:::appstream2-36fb080bb8-*",
        "arn:aws:s3:::appstream-app-settings-*",
        "arn:aws:s3:::appstream-logs-*"
      ]
    }
  ]
}

Version history

Current version v12, edited by AWS on 2026-09-03. 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/service-role/AmazonAppStreamServiceAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AmazonAppStreamServiceAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AmazonAppStreamServiceAccess

CloudFormation

Resources:
  ExampleRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument: {}  # replace with your trust policy
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/service-role/AmazonAppStreamServiceAccess

Terraform

resource "aws_iam_role_policy_attachment" "service_role_amazonappstreamserviceaccess" {
  role       = aws_iam_role.example.name
  policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonAppStreamServiceAccess"
}

CDK (TypeScript)

role.addManagedPolicy(
  iam.ManagedPolicy.fromAwsManagedPolicyName("service-role/AmazonAppStreamServiceAccess"),
);

Sources

Pending editorial review. No editorial sources are listed yet.