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 resources, actions, and condition context keys for use in IAM permission policies.

References:

- Learn how to configure this service .

- View a list of the API operations available for this service .

- Learn how to secure this service and its resources by using IAM permission policies.

Topics

- Actions defined by Amazon AppStream 2.0
- Resource types defined by Amazon AppStream 2.0
- Condition keys for Amazon AppStream 2.0

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

The Resource types column indicates whether each action supports resource-level permissions. If there is no value for this column, you must specify all resources ("*") in the `Resource` element of your policy statement. If the column includes a resource type, then you can specify an ARN of that type in a statement with that action. Required resources are indicated in the table with an asterisk (*). If you specify a resource-level permission ARN in a statement using this action, then it must be of this type. Some actions support multiple resource types. If the resource type is optional (not indicated as required), then you can choose to use one but not the other.

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* |  |
| aws:ResourceTag/${TagKey} |
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 | Write | stack* |  |
| aws:ResourceTag/${TagKey} |
BatchDisassociateUserStack | Grants permission to disassociate the specified users from the specified stacks | Write | stack* |  |
| aws:ResourceTag/${TagKey} |
CopyImage | Grants permission to copy the specified image within the same Region or to a new Region within the same AWS account | Write | image* |  |
| aws:ResourceTag/${TagKey} |
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 |  |  |
CreateFleet | Grants permission to create a fleet. A fleet is a group of streaming instances from which applications are launched and streamed to users | Write | fleet* |  |
image* |  |
| aws:RequestTag/${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 | Write | image* |  |
image-builder* |  |
| aws:RequestTag/${TagKey} aws:TagKeys |
CreateImageBuilderStreamingURL | Grants permission to create a URL to start an image builder streaming session | Write | image-builder* |  |
| aws:ResourceTag/${TagKey} |
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* |  |
| aws:RequestTag/${TagKey} aws:TagKeys |
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 | Write | fleet* |  |
stack* |  |
| aws:ResourceTag/${TagKey} |
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 |  |  |
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 |  |  |
DeleteFleet | Grants permission to delete the specified fleet | Write | fleet* |  |
| aws:ResourceTag/${TagKey} |
DeleteImage | Grants permission to delete the specified image. An image cannot be deleted when it is in use | Write | image* |  |
| aws:ResourceTag/${TagKey} |
DeleteImageBuilder | Grants permission to delete the specified image builder and release capacity | Write | image-builder* |  |
| aws:ResourceTag/${TagKey} |
DeleteImagePermissions | Grants permission to delete permissions for the specified private image | Write | image* |  |
| aws:ResourceTag/${TagKey} |
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* |  |
| aws:ResourceTag/${TagKey} |
DeleteUsageReportSubscription | Grants permission to disable usage report generation | Write |  |  |
DeleteUser | Grants permission to delete a user from the user pool | Write |  |  |
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 | 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 |  |
DescribeImagePermissions | Grants permission to retrieve a list that describes the permissions for shared AWS account IDs on a private image that you own | Read | image* |  |
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 | 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 | fleet* |  |
stack* |  |
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 |  |
DescribeUsageReportSubscriptions | Grants permission to retrieve a list that describes one or more usage report subscriptions | Read |  |  |
DescribeUserStackAssociations | Grants permission to retrieve a list that describes the UserStackAssociation objects | Read | stack |  |
DescribeUsers | Grants permission to retrieve a list that describes users in the user pool | Read |  |  |
DisableUser | Grants permission to disable the specified user in the user pool. This action does not delete the user | Write |  |  |
DisassociateFleet | Grants permission to disassociate the specified fleet from the specified stack | Write | fleet* |  |
stack* |  |
| aws:ResourceTag/${TagKey} |
EnableUser | Grants permission to enable a user in the user pool | Write |  |  |
ExpireSession | Grants permission to immediately stop the specified streaming session | Write |  |  |
ListAssociatedFleets | Grants permission to retrieve the name of the fleet that is 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* |  |
| aws:ResourceTag/${TagKey} |
StartImageBuilder | Grants permission to start the specified image builder | Write | image-builder* |  |
| aws:ResourceTag/${TagKey} |
StopFleet | Grants permission to stop the specified fleet | Write | fleet* |  |
| aws:ResourceTag/${TagKey} |
StopImageBuilder | Grants permission to stop the specified image builder | Write | image-builder* |  |
| aws:ResourceTag/${TagKey} |
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 | fleet |  |
image |  |
image-builder |  |
stack |  |
| aws:RequestTag/${TagKey} aws:TagKeys aws:ResourceTag/${TagKey} |
UntagResource | Grants permission to disassociate one or more tags from the specified AppStream 2.0 resource | Tagging | fleet |  |
image |  |
image-builder |  |
stack |  |
| aws:TagKeys |
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 |  |  |
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* |  |
image |  |
| aws:ResourceTag/${TagKey} |
UpdateImagePermissions | Grants permission to add or update permissions for the specified private image | Write | image* |  |
| aws:ResourceTag/${TagKey} |
UpdateStack | Grants permission to update the specified fields for the specified stack | Write | stack* |  |
| aws:ResourceTag/${TagKey} |

## 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. 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}` | 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. 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 .

Condition keys | Description | Type
--- | --- | ---
appstream:userId | Filters access by the ID of the AppStream 2.0 user | String
aws:RequestTag/${TagKey} | Filters actions based on the presence of tag key-value pairs in the request | String
aws:ResourceTag/${TagKey} | Filters actions based on tag key-value pairs attached to the resource | String
aws:TagKeys | Filters actions based on the presence of tag keys in the request | String

Did this page help you? - Yes

Thanks for letting us know we're doing a good job!

If you've got a moment, please tell us what we did right so we can do more of it.

Did this page help you? - No

Thanks for letting us know this page needs work. We're sorry we let you down.

If you've got a moment, please tell us how we can make the documentation better.