AWS Identity and Access Management
User Guide

Actions, Resources, and Condition Keys for Amazon AppStream 2.0

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

References:

Actions Defined by Amazon AppStream 2.0

You can specify the following actions in the Action element of an IAM policy statement. By using policies, you define the permissions for anyone performing 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. For details about the columns in the following table, see The Actions Table.

Actions Description Access Level Resource Types (*required) Condition Keys Dependent Actions
AssociateFleet Grants permission to associate the specified fleet with the specified stack. Write

fleet*

stack*

CopyImage Grants permission to copy the specified image within the same region or to a new region within the same AWS account. Write

image*

CreateDirectoryConfig Grants permission to create a Directory Config object in AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain. Write
CreateFleet Grants permission to create a fleet. A fleet consists of streaming instances that run a specified image. Write

fleet*

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

image-builder*

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

image-builder*

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. Write

stack*

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

fleet*

stack*

DeleteDirectoryConfig Grants permission to delete the specified Directory Config object from AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain. Write
DeleteFleet Grants permission to delete the specified fleet. Write

fleet*

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

image*

DeleteImageBuilder Grants permission to delete the specified image builder and release capacity. Write

image-builder*

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. Write

stack*

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 information required to join streaming instances to an Active Directory domain. Read
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. Read

fleet

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. Read

image-builder

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

image

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. Read
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. Read

stack

DisassociateFleet Grants permission to disassociate the specified fleet from the specified stack. Write

fleet*

stack*

ExpireSession Grants permission to immediately stop the specified streaming session. Write
ListAssociatedFleets Grants permission to retrieve the name of the fleet associated with the specified stack Read

stack*

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

fleet*

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
StartFleet Grants permission to start the specified fleet. Write

fleet*

StartImageBuilder Grants permission to start the specified image builder. Write

image-builder*

StopFleet Grants permission to stop the specified fleet. Write

fleet*

StopImageBuilder Grants permission to stop the specified image builder. Write

image-builder*

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

stack*

appstream:userId

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, and stacks. Tagging
UntagResource Grants permission to disassociate one or more tags from the specified AppStream 2.0 resource. Tagging
UpdateDirectoryConfig Grants permission to update the specified Directory Config object in AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain. 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. Write

fleet*

UpdateStack Grants permission to update the specified fields for the specified stack. Write

stack*

Resources Defined by 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. Each action in the Actions table identifies the resource types that can be specified with that action. A resource type can also define which condition keys you can include in a policy. These keys are displayed in the last column of the table. For details about the columns in the following table, see The Resource Types Table.

Resource Types ARN Condition Keys
fleet arn:${Partition}:appstream:${Region}:${Account}:fleet/${FleetName}
image arn:${Partition}:appstream:${Region}:${Account}:image/${ImageName}
image-builder arn:${Partition}:appstream:${Region}:${Account}:image-builder/${ImageBuilderName}
stack arn:${Partition}:appstream:${Region}:${Account}:stack/${StackName}

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. You can use these keys to further refine the conditions under which the policy statement applies. For details about the columns in the following table, see The Condition Keys Table.

To view the global condition keys that are available to all services, see Available Global Condition Keys in the IAM Policy Reference.

Condition Keys Description Type
appstream:userId Filters access by the ID of the AppStream 2.0 user. String