View a markdown version of this page

Actions, resources, and condition keys for Amazon AppStream 2.0 - Service Authorization Reference

Actions, resources, and condition keys for Amazon AppStream 2.0

Amazon AppStream 2.0 (service prefix: appstream) provides the following service-specific operations, resources, actions, and condition keys for use in IAM permission policies.

References:

API operations defined by Amazon AppStream 2.0

The following table maps API operations to the IAM actions they authorize. Only condition keys that have static values for the given API and action are listed; for the full set of condition keys supported by each action, see the Actions table.

Operation IAM action Condition key Possible value(s) Access level

AssociateApplicationFleet

appstream:AssociateApplicationFleet

Write

AssociateFleet

appstream:AssociateFleet

Write

BatchAssociateUserStack

appstream:BatchAssociateUserStack

Write

BatchDisassociateUserStack

appstream:BatchDisassociateUserStack

Write

CopyImage

appstream:CopyImage

Write

CreateAppBlock

appstream:CreateAppBlock

Write

CreateApplication

appstream:CreateApplication

Write

CreateDirectoryConfig

appstream:CreateDirectoryConfig

Write

CreateEntitlement

appstream:CreateEntitlement

Write

CreateFleet

appstream:CreateFleet

Write

appstream:TagResource

Tagging, Write

iam:PassRole

iam:PassedToService

appstream.amazonaws.com

Write

CreateImageBuilder

appstream:CreateImageBuilder

Write

appstream:TagResource

Tagging, Write

iam:PassRole

iam:PassedToService

appstream.amazonaws.com

Write

CreateImageBuilderStreamingURL

appstream:CreateImageBuilderStreamingURL

Write

CreateStack

appstream:CreateStack

Write

appstream:TagResource

Tagging, Write

CreateStreamingURL

appstream:CreateStreamingURL

Write

CreateUpdatedImage

appstream:CreateUpdatedImage

Write

appstream:TagResource

Tagging, Write

CreateUsageReportSubscription

appstream:CreateUsageReportSubscription

Write

CreateUser

appstream:CreateUser

Write

DeleteApplication

appstream:DeleteApplication

Write

DeleteDirectoryConfig

appstream:DeleteDirectoryConfig

Write

DeleteEntitlement

appstream:DeleteEntitlement

Write

DeleteFleet

appstream:DeleteFleet

Write

DeleteImage

appstream:DeleteImage

Write

DeleteImageBuilder

appstream:DeleteImageBuilder

Write

DeleteImagePermissions

appstream:DeleteImagePermissions

Write

DeleteStack

appstream:DeleteStack

Write

DeleteUsageReportSubscription

appstream:DeleteUsageReportSubscription

Write

DeleteUser

appstream:DeleteUser

Write

DescribeAppBlockBuilderAppBlockAssociations

appstream:DescribeAppBlockBuilderAppBlockAssociations

List

DescribeAppBlockBuilders

appstream:DescribeAppBlockBuilders

List

DescribeAppBlocks

appstream:DescribeAppBlocks

List

DescribeApplicationFleetAssociations

appstream:DescribeApplicationFleetAssociations

List

DescribeApplications

appstream:DescribeApplications

List

DescribeDirectoryConfigs

appstream:DescribeDirectoryConfigs

List

DescribeEntitlements

appstream:DescribeEntitlements

List

DescribeFleets

appstream:DescribeFleets

List

DescribeImageBuilders

appstream:DescribeImageBuilders

List

DescribeImagePermissions

appstream:DescribeImagePermissions

Read

DescribeImages

appstream:DescribeImages

List

DescribeSessions

appstream:DescribeSessions

List

DescribeStacks

appstream:DescribeStacks

List

DescribeThemeForStack

appstream:DescribeThemeForStack

Read

DescribeUsageReportSubscriptions

appstream:DescribeUsageReportSubscriptions

List

DescribeUserStackAssociations

appstream:DescribeUserStackAssociations

List

DescribeUsers

appstream:DescribeUsers

List

DisableUser

appstream:DisableUser

Write

DisassociateApplicationFleet

appstream:DisassociateApplicationFleet

Write

DisassociateApplicationFromEntitlement

appstream:DisassociateApplicationFromEntitlement

Write

DisassociateFleet

appstream:DisassociateFleet

Write

EnableUser

appstream:EnableUser

Write

ExpireSession

appstream:ExpireSession

Write

ListAssociatedFleets

appstream:ListAssociatedFleets

Read

ListAssociatedStacks

appstream:ListAssociatedStacks

Read

ListEntitledApplications

appstream:ListEntitledApplications

List

ListTagsForResource

appstream:ListTagsForResource

Read

StartFleet

appstream:StartFleet

Write

StartImageBuilder

appstream:StartImageBuilder

Write

StopFleet

appstream:StopFleet

Write

StopImageBuilder

appstream:StopImageBuilder

Write

TagResource

appstream:TagResource

Tagging, Write

UntagResource

appstream:UntagResource

Tagging, Write

UpdateDirectoryConfig

appstream:UpdateDirectoryConfig

Write

UpdateEntitlement

appstream:UpdateEntitlement

Write

UpdateFleet

appstream:UpdateFleet

Write

iam:PassRole

iam:PassedToService

appstream.amazonaws.com

Write

UpdateImagePermissions

appstream:UpdateImagePermissions

Write

UpdateStack

appstream:UpdateStack

Write

Actions defined by Amazon AppStream 2.0

You can specify the following actions in the Action element of an IAM policy statement. Use policies to grant permissions to perform an operation in AWS. When you use an action in a policy, you usually allow or deny access to the API operation or CLI command with the same name. However, in some cases, a single action controls access to more than one operation. Alternatively, some operations require several different actions.

Actions Description Resource types (*required) Condition keys Access level

AssociateAppBlockBuilderAppBlock

Grants permission to associate the specified app block builder with the app block

app-block*

aws:ResourceTag/${TagKey}

Write

app-block-builder*

aws:ResourceTag/${TagKey}

AssociateApplicationFleet

Grants permission to associate the specified application with the fleet

application*

aws:ResourceTag/${TagKey}

Write

fleet*

aws:ResourceTag/${TagKey}

AssociateApplicationToEntitlement

Grants permission to associate the specified application to the specified entitlement

stack*

aws:ResourceTag/${TagKey}

Write

AssociateFleet

Grants permission to associate the specified fleet with the specified stack

fleet*

aws:ResourceTag/${TagKey}

Write

stack*

aws:ResourceTag/${TagKey}

AssociateSoftwareToImageBuilder

Grants permission to associate license included application(s) with an existing image builder instance

image-builder*

aws:ResourceTag/${TagKey}

Write

BatchAssociateUserStack

Grants permission to associate the specified users with the specified stacks. Users in a user pool cannot be assigned to stacks with fleets that are joined to an Active Directory domain

stack*

aws:ResourceTag/${TagKey}

Write

BatchDisassociateUserStack

Grants permission to disassociate the specified users from the specified stacks

stack*

aws:ResourceTag/${TagKey}

Write

CopyImage

Grants permission to copy the specified image within the same Region or to a new Region within the same AWS account

image*

aws:ResourceTag/${TagKey}

Write

CreateAppBlock

Grants permission to create an app block. App blocks store details about the virtual hard disk that contains the files for the application in an S3 bucket. It also stores the setup script with details about how to mount the virtual hard disk. App blocks are only supported for Elastic fleets

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

CreateAppBlockBuilder

Grants permission to create an app block builder. An app block builder is a virtual machine that is used to create an app block

app-block-builder*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

CreateAppBlockBuilderStreamingURL

Grants permission to create a URL to start an app block builder streaming session

app-block-builder*

aws:ResourceTag/${TagKey}

Write

CreateApplication

Grants permission to create an application within customer account. Applications store the details about how to launch applications on streaming instances. This is only supported for Elastic fleets

app-block*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

CreateDirectoryConfig

Grants permission to create a Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains

Write

CreateEntitlement

Grants permission to create an entitlement to control access to applications based on user attributes

stack*

aws:ResourceTag/${TagKey}

Write

CreateExportImageTask

Grants permission to create an export task for an AppStream 2.0 image

aws:ResourceTag/${TagKey}

Write

CreateFleet

Grants permission to create a fleet. A fleet is a group of streaming instances from which applications are launched and streamed to users

fleet*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

image

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

CreateImageBuilder

Grants permission to create an image builder. An image builder is a virtual machine that is used to create an image

image*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

image-builder*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

CreateImageBuilderStreamingURL

Grants permission to create a URL to start an image builder streaming session

image-builder*

aws:ResourceTag/${TagKey}

Write

CreateImportedImage

Grants permission to create an AppStream 2.0 image from an imported AMI

aws:RequestTag/${TagKey}

aws:TagKeys

Write

CreateStack

Grants permission to create a stack to start streaming applications to users. A stack consists of an associated fleet, user access policies, and storage configurations

stack*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

CreateStreamingURL

Grants permission to create a temporary URL to start an AppStream 2.0 streaming session for the specified user. A streaming URL enables application streaming to be tested without user setup

fleet*

aws:ResourceTag/${TagKey}

Write

stack*

aws:ResourceTag/${TagKey}

CreateThemeForStack

Grants permission to create a custom branding theme, which might includes a custom logo, website links, and other branding to display to your users

stack*

aws:ResourceTag/${TagKey}

Write

CreateUpdatedImage

Grants permission to update an existing image within customer account

image*

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Write

CreateUsageReportSubscription

Grants permission to create a usage report subscription. Usage reports are generated daily

Write

CreateUser

Grants permission to create a new user in the user pool

Write

DeleteAppBlock

Grants permission to delete the specified app block

app-block*

aws:ResourceTag/${TagKey}

Write

DeleteAppBlockBuilder

Grants permission to delete the specified app block builder and release capacity

app-block-builder*

aws:ResourceTag/${TagKey}

Write

DeleteApplication

Grants permission to delete the specified application

application*

aws:ResourceTag/${TagKey}

Write

DeleteDirectoryConfig

Grants permission to delete the specified Directory Config object from AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains

Write

DeleteEntitlement

Grants permission to delete the specified entitlement

stack*

aws:ResourceTag/${TagKey}

Write

DeleteFleet

Grants permission to delete the specified fleet

fleet*

aws:ResourceTag/${TagKey}

Write

DeleteImage

Grants permission to delete the specified image. An image cannot be deleted when it is in use

image*

aws:ResourceTag/${TagKey}

Write

DeleteImageBuilder

Grants permission to delete the specified image builder and release capacity

image-builder*

aws:ResourceTag/${TagKey}

Write

DeleteImagePermissions

Grants permission to delete permissions for the specified private image

image*

aws:ResourceTag/${TagKey}

Write

DeleteStack

Grants permission to delete the specified stack. After the stack is deleted, the application streaming environment provided by the stack is no longer available to users. Also, any reservations made for application streaming sessions for the stack are released

stack*

aws:ResourceTag/${TagKey}

Write

DeleteThemeForStack

Grants permission to delete a custom branding theme, which might includes a custom logo, website links, and other branding to display to your users

stack*

aws:ResourceTag/${TagKey}

Write

DeleteUsageReportSubscription

Grants permission to disable usage report generation

Write

DeleteUser

Grants permission to delete a user from the user pool

Write

DescribeAppBlockBuilderAppBlockAssociations

Grants permission to retrieve the associations that are associated with the specified app block builder or app block

List

DescribeAppBlockBuilders

Grants permission to retrieve a list that describes one or more specified app block builders, if the app block builder names are provided. Otherwise, all app block builders in the account are described

List

DescribeAppBlocks

Grants permission to retrieve a list that describes one or more specified app blocks, if the app block arns are provided. Otherwise, all app blocks in the account are described

List

DescribeAppLicenseUsage

Grants permission to retrieve license included application usage information

List

DescribeApplicationFleetAssociations

Grants permission to retrieve the associations that are associated with the specified application or fleet

List

DescribeApplications

Grants permission to retrieve a list that describes one or more specified applications, if the application arns are provided. Otherwise, all applications in the account are described

List

DescribeDirectoryConfigs

Grants permission to retrieve a list that describes one or more specified Directory Config objects for AppStream 2.0, if the names for these objects are provided. Otherwise, all Directory Config objects in the account are described. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains

List

DescribeEntitlements

Grants permission to retrieve one or all entitlements for the specified stack

stack*

aws:ResourceTag/${TagKey}

List

DescribeFleets

Grants permission to retrieve a list that describes one or more specified fleets, if the fleet names are provided. Otherwise, all fleets in the account are described

List

DescribeImageBuilders

Grants permission to retrieve a list that describes one or more specified image builders, if the image builder names are provided. Otherwise, all image builders in the account are described

List

DescribeImagePermissions

Grants permission to retrieve a list that describes the permissions for shared AWS account IDs on a private image that you own

image*

aws:ResourceTag/${TagKey}

Read

DescribeImages

Grants permission to retrieve a list that describes one or more specified images, if the image names or image ARNs are provided. Otherwise, all images in the account are described

List

DescribeSessions

Grants permission to retrieve a list that describes the streaming sessions for the specified stack and fleet. If a user ID is provided for the stack and fleet, only the streaming sessions for that user are described

fleet*

aws:ResourceTag/${TagKey}

List

stack*

aws:ResourceTag/${TagKey}

DescribeSoftwareAssociations

Grants permission to retrieve license included application associations for a specified resource

image

aws:ResourceTag/${TagKey}

List

image-builder

aws:ResourceTag/${TagKey}

DescribeStacks

Grants permission to retrieve a list that describes one or more specified stacks, if the stack names are provided. Otherwise, all stacks in the account are described

List

DescribeThemeForStack

Grants permission to get the custom branding theme information, which might includes a custom logo, website links, and other branding to display to your users

stack*

aws:ResourceTag/${TagKey}

Read

DescribeUsageReportSubscriptions

Grants permission to retrieve a list that describes one or more usage report subscriptions

List

DescribeUserStackAssociations

Grants permission to retrieve a list that describes the UserStackAssociation objects

List

DescribeUsers

Grants permission to retrieve a list that describes users in the user pool

List

DisableUser

Grants permission to disable the specified user in the user pool. This action does not delete the user

Write

DisassociateAppBlockBuilderAppBlock

Grants permission to disassociate the specified app block builder with the app block

app-block*

aws:ResourceTag/${TagKey}

Write

app-block-builder*

aws:ResourceTag/${TagKey}

DisassociateApplicationFleet

Grants permission to disassociate the specified application from the specified fleet

application*

aws:ResourceTag/${TagKey}

Write

fleet*

aws:ResourceTag/${TagKey}

DisassociateApplicationFromEntitlement

Grants permission to disassociate the specified application from the specified entitlement

stack*

aws:ResourceTag/${TagKey}

Write

DisassociateFleet

Grants permission to disassociate the specified fleet from the specified stack

fleet*

aws:ResourceTag/${TagKey}

Write

stack*

aws:ResourceTag/${TagKey}

DisassociateSoftwareFromImageBuilder

Grants permission to remove license included application(s) association(s) from an image builder instance

image-builder*

aws:ResourceTag/${TagKey}

Write

EnableUser

Grants permission to enable a user in the user pool

Write

ExpireSession

Grants permission to immediately stop the specified streaming session

Write

GetExportImageTask

Grants permission to retrieve details of a specific export image task

Read

ListAssociatedFleets

Grants permission to retrieve the name of the fleet that is associated with the specified stack

stack*

aws:ResourceTag/${TagKey}

Read

ListAssociatedStacks

Grants permission to retrieve the name of the stack with which the specified fleet is associated

fleet*

aws:ResourceTag/${TagKey}

Read

ListEntitledApplications

Grants permission to retrieve the applications that are associated with the specified entitlement

stack*

aws:ResourceTag/${TagKey}

List

ListExportImageTasks

Grants permission to list export image tasks

List

ListTagsForResource

Grants permission to retrieve a list of all tags for the specified AppStream 2.0 resource. The following resources can be tagged: Image builders, images, fleets, and stacks

Read

StartAppBlockBuilder

Grants permission to start the specified app block builder

app-block-builder*

aws:ResourceTag/${TagKey}

Write

StartFleet

Grants permission to start the specified fleet

fleet*

aws:ResourceTag/${TagKey}

Write

StartImageBuilder

Grants permission to start the specified image builder

image-builder*

aws:ResourceTag/${TagKey}

Write

StartSoftwareDeploymentToImageBuilder

Grants permission to initiate license included applications deployment to an image builder instance

image-builder*

aws:ResourceTag/${TagKey}

Write

StopAppBlockBuilder

Grants permission to stop the specified app block builder

app-block-builder*

aws:ResourceTag/${TagKey}

Write

StopFleet

Grants permission to stop the specified fleet

fleet*

aws:ResourceTag/${TagKey}

Write

StopImageBuilder

Grants permission to stop the specified image builder

image-builder*

aws:ResourceTag/${TagKey}

Write

Stream

Grants permission to federated users to sign in by using their existing credentials and stream applications from the specified stack

stack*

appstream:userId

aws:ResourceTag/${TagKey}

Write

TagResource

Grants permission to add or overwrite one or more tags for the specified AppStream 2.0 resource. The following resources can be tagged: Image builders, images, fleets, stacks, app blocks and applications

app-block

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Tagging, Write

app-block-builder

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

application

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

fleet

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

image

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

image-builder

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

stack

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

UntagResource

Grants permission to disassociate one or more tags from the specified AppStream 2.0 resource

app-block

aws:ResourceTag/${TagKey}

aws:TagKeys

Tagging, Write

app-block-builder

aws:ResourceTag/${TagKey}

aws:TagKeys

application

aws:ResourceTag/${TagKey}

aws:TagKeys

fleet

aws:ResourceTag/${TagKey}

aws:TagKeys

image

aws:ResourceTag/${TagKey}

aws:TagKeys

image-builder

aws:ResourceTag/${TagKey}

aws:TagKeys

stack

aws:ResourceTag/${TagKey}

aws:TagKeys

UpdateAppBlockBuilder

Grants permission to update a specific app block builder. An app block builder is a virtual machine that is used to create an app block

app-block-builder*

aws:ResourceTag/${TagKey}

Write

UpdateApplication

Grants permission to update the specified fields for the specified application

app-block

aws:ResourceTag/${TagKey}

Write

application*

aws:ResourceTag/${TagKey}

UpdateDirectoryConfig

Grants permission to update the specified Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains

Write

UpdateEntitlement

Grants permission to update the specified fields for the specified entitlement

stack*

aws:ResourceTag/${TagKey}

Write

UpdateFleet

Grants permission to update the specified fleet. All attributes except the fleet name can be updated when the fleet is in the STOPPED state

fleet*

aws:ResourceTag/${TagKey}

Write

image

aws:ResourceTag/${TagKey}

UpdateImagePermissions

Grants permission to add or update permissions for the specified private image

image*

aws:ResourceTag/${TagKey}

Write

UpdateStack

Grants permission to update the specified fields for the specified stack

stack*

aws:ResourceTag/${TagKey}

Write

UpdateThemeForStack

Grants permission to update the custom branding theme information, which might includes a custom logo, website links, and other branding to display to your users

stack*

aws:ResourceTag/${TagKey}

Write

Resource types defined by Amazon AppStream 2.0

The following resource types are defined by this service and can be used in the Resource element of IAM permission policy statements.

Resource types ARN Condition keys

app-block

arn:${Partition}:appstream:${Region}:${Account}:app-block/${AppBlockName}

aws:ResourceTag/${TagKey}

app-block-builder

arn:${Partition}:appstream:${Region}:${Account}:app-block-builder/${AppBlockBuilderName}

aws:ResourceTag/${TagKey}

application

arn:${Partition}:appstream:${Region}:${Account}:application/${ApplicationName}

aws:ResourceTag/${TagKey}

fleet

arn:${Partition}:appstream:${Region}:${Account}:fleet/${FleetName}

aws:ResourceTag/${TagKey}

image

arn:${Partition}:appstream:${Region}:${Account}:image/${ImageName}

aws:ResourceTag/${TagKey}

image-builder

arn:${Partition}:appstream:${Region}:${Account}:image-builder/${ImageBuilderName}

aws:ResourceTag/${TagKey}

stack

arn:${Partition}:appstream:${Region}:${Account}:stack/${StackName}

aws:ResourceTag/${TagKey}

Condition keys for Amazon AppStream 2.0

Amazon AppStream 2.0 defines the following condition keys that can be used in the Condition element of an IAM policy.

Condition keys Description Type

appstream:userId

Filters access by the ID of the AppStream 2.0 user

String

aws:RequestTag/${TagKey}

Filters access by the presence of tag key-value pairs in the request

String

aws:ResourceTag/${TagKey}

Filters access by the tag key-value pairs attached to the resource

String

aws:TagKeys

Filters access by the presence of tag keys in the request

ArrayOfString