View a markdown version of this page

Actions, resources, and condition keys for AWS Device Farm - Service Authorization Reference

Actions, resources, and condition keys for AWS Device Farm

AWS Device Farm (service prefix: devicefarm) provides the following service-specific operations, resources, actions, and condition keys for use in IAM permission policies.

References:

API operations defined by AWS Device Farm

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

CreateDevicePool

devicefarm:CreateDevicePool

Write

CreateInstanceProfile

devicefarm:CreateInstanceProfile

Write

CreateNetworkProfile

devicefarm:CreateNetworkProfile

Write

CreateProject

devicefarm:CreateProject

Write

iam:PassRole

iam:PassedToService

devicefarm.amazonaws.com

Write

CreateRemoteAccessSession

devicefarm:CreateRemoteAccessSession

Write

CreateTestGridProject

devicefarm:CreateTestGridProject

Write

CreateTestGridUrl

devicefarm:CreateTestGridUrl

Write

CreateUpload

devicefarm:CreateUpload

Write

CreateVPCEConfiguration

devicefarm:CreateVPCEConfiguration

Write

DeleteDevicePool

devicefarm:DeleteDevicePool

Write

DeleteInstanceProfile

devicefarm:DeleteInstanceProfile

Write

DeleteNetworkProfile

devicefarm:DeleteNetworkProfile

Write

DeleteProject

devicefarm:DeleteProject

Write

DeleteRemoteAccessSession

devicefarm:DeleteRemoteAccessSession

Write

DeleteRun

devicefarm:DeleteRun

Write

DeleteTestGridProject

devicefarm:DeleteTestGridProject

Write

DeleteUpload

devicefarm:DeleteUpload

Write

DeleteVPCEConfiguration

devicefarm:DeleteVPCEConfiguration

Write

GetAccountSettings

devicefarm:GetAccountSettings

Read

GetDevice

devicefarm:GetDevice

Read

GetDeviceInstance

devicefarm:GetDeviceInstance

Read

GetDevicePool

devicefarm:GetDevicePool

Read

GetDevicePoolCompatibility

devicefarm:GetDevicePoolCompatibility

Read

GetInstanceProfile

devicefarm:GetInstanceProfile

Read

GetJob

devicefarm:GetJob

Read

GetNetworkProfile

devicefarm:GetNetworkProfile

Read

GetOfferingStatus

devicefarm:GetOfferingStatus

Read

GetProject

devicefarm:GetProject

Read

GetRemoteAccessSession

devicefarm:GetRemoteAccessSession

Read

GetRun

devicefarm:GetRun

Read

GetSuite

devicefarm:GetSuite

Read

GetTest

devicefarm:GetTest

Read

GetTestGridProject

devicefarm:GetTestGridProject

Read

GetTestGridSession

devicefarm:GetTestGridSession

Read

GetUpload

devicefarm:GetUpload

Read

GetVPCEConfiguration

devicefarm:GetVPCEConfiguration

Read

InstallToRemoteAccessSession

devicefarm:InstallToRemoteAccessSession

Write

ListArtifacts

devicefarm:ListArtifacts

List

ListDeviceInstances

devicefarm:ListDeviceInstances

List

ListDevicePools

devicefarm:ListDevicePools

List

ListDevices

devicefarm:ListDevices

List

ListInstanceProfiles

devicefarm:ListInstanceProfiles

List

ListJobs

devicefarm:ListJobs

List

ListNetworkProfiles

devicefarm:ListNetworkProfiles

List

ListOfferingPromotions

devicefarm:ListOfferingPromotions

List

ListOfferingTransactions

devicefarm:ListOfferingTransactions

List

ListOfferings

devicefarm:ListOfferings

List

ListProjects

devicefarm:ListProjects

List

ListRemoteAccessSessions

devicefarm:ListRemoteAccessSessions

List

ListRuns

devicefarm:ListRuns

List

ListSamples

devicefarm:ListSamples

List

ListSuites

devicefarm:ListSuites

List

ListTagsForResource

devicefarm:ListTagsForResource

List

ListTestGridProjects

devicefarm:ListTestGridProjects

List

ListTestGridSessionActions

devicefarm:ListTestGridSessionActions

List

ListTestGridSessionArtifacts

devicefarm:ListTestGridSessionArtifacts

List

ListTestGridSessions

devicefarm:ListTestGridSessions

List

ListTests

devicefarm:ListTests

List

ListUniqueProblems

devicefarm:ListUniqueProblems

List

ListUploads

devicefarm:ListUploads

List

ListVPCEConfigurations

devicefarm:ListVPCEConfigurations

List

PurchaseOffering

devicefarm:PurchaseOffering

Write

RenewOffering

devicefarm:RenewOffering

Write

ScheduleRun

devicefarm:ScheduleRun

Write

iam:PassRole

iam:PassedToService

devicefarm.amazonaws.com

Write

StopJob

devicefarm:StopJob

Write

StopRemoteAccessSession

devicefarm:StopRemoteAccessSession

Write

StopRun

devicefarm:StopRun

Write

TagResource

devicefarm:TagResource

Tagging, Write

UntagResource

devicefarm:UntagResource

Tagging, Write

UpdateDeviceInstance

devicefarm:UpdateDeviceInstance

Write

UpdateDevicePool

devicefarm:UpdateDevicePool

Write

UpdateInstanceProfile

devicefarm:UpdateInstanceProfile

Write

UpdateNetworkProfile

devicefarm:UpdateNetworkProfile

Write

UpdateProject

devicefarm:UpdateProject

Write

iam:PassRole

iam:PassedToService

devicefarm.amazonaws.com

Write

UpdateTestGridProject

devicefarm:UpdateTestGridProject

Write

UpdateUpload

devicefarm:UpdateUpload

Write

UpdateVPCEConfiguration

devicefarm:UpdateVPCEConfiguration

Write

Actions defined by AWS Device Farm

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

CreateDevicePool

Grants permission to create a device pool within a project

project*

aws:ResourceTag/${TagKey}

Write

CreateInstanceProfile

Grants permission to create a device instance profile

Write

CreateNetworkProfile

Grants permission to create a network profile within a project

project*

aws:ResourceTag/${TagKey}

Write

CreateProject

Grants permission to create a project for mobile testing

Write

CreateRemoteAccessSession

Grants permission to start a remote access session to a device instance

device*

aws:ResourceTag/${TagKey}

Write

deviceinstance

aws:ResourceTag/${TagKey}

project*

aws:ResourceTag/${TagKey}

upload

CreateTestGridProject

Grants permission to create a project for desktop testing

Write

CreateTestGridUrl

Grants permission to generate a new pre-signed url used to access our test grid service

testgrid-project*

aws:ResourceTag/${TagKey}

Write

CreateUpload

Grants permission to upload a new file or app within a project

project*

aws:ResourceTag/${TagKey}

Write

CreateVPCEConfiguration

Grants permission to create an Amazon Virtual Private Cloud (VPC) endpoint configuration

Write

DeleteDevicePool

Grants permission to delete a user-generated device pool

devicepool*

aws:ResourceTag/${TagKey}

Write

DeleteInstanceProfile

Grants permission to delete a user-generated instance profile

instanceprofile*

aws:ResourceTag/${TagKey}

Write

DeleteNetworkProfile

Grants permission to delete a user-generated network profile

networkprofile*

aws:ResourceTag/${TagKey}

Write

DeleteProject

Grants permission to delete a mobile testing project

project*

aws:ResourceTag/${TagKey}

Write

DeleteRemoteAccessSession

Grants permission to delete a completed remote access session and its results

session*

aws:ResourceTag/${TagKey}

Write

DeleteRun

Grants permission to delete a run

run*

aws:ResourceTag/${TagKey}

Write

DeleteTestGridProject

Grants permission to delete a desktop testing project

testgrid-project*

aws:ResourceTag/${TagKey}

Write

DeleteUpload

Grants permission to delete a user-uploaded file

upload*

Write

DeleteVPCEConfiguration

Grants permission to delete an Amazon Virtual Private Cloud (VPC) endpoint configuration

vpceconfiguration*

aws:ResourceTag/${TagKey}

Write

GetAccountSettings

Grants permission to retrieve the number of unmetered iOS and/or unmetered Android devices purchased by the account

Read

GetDevice

Grants permission to retrieve the information of a unique device type

device*

aws:ResourceTag/${TagKey}

Read

GetDeviceInstance

Grants permission to retireve the information of a device instance

deviceinstance*

aws:ResourceTag/${TagKey}

Read

GetDevicePool

Grants permission to retireve the information of a device pool

devicepool*

aws:ResourceTag/${TagKey}

Read

GetDevicePoolCompatibility

Grants permission to retrieve information about the compatibility of a test and/or app with a device pool

devicepool*

aws:ResourceTag/${TagKey}

Read

upload

GetInstanceProfile

Grants permission to retireve the information of an instance profile

instanceprofile*

aws:ResourceTag/${TagKey}

Read

GetJob

Grants permission to retireve the information of a job

job*

Read

GetNetworkProfile

Grants permission to retireve the information of a network profile

networkprofile*

aws:ResourceTag/${TagKey}

Read

GetOfferingStatus

Grants permission to retrieve the current status and future status of all offerings purchased by an AWS account

Read

GetProject

Grants permission to retrieve information about a mobile testing project

project*

aws:ResourceTag/${TagKey}

Read

GetRemoteAccessSession

Grants permission to retireve the link to a currently running remote access session

session*

aws:ResourceTag/${TagKey}

Read

GetRun

Grants permission to retireve the information of a run

run*

aws:ResourceTag/${TagKey}

Read

GetSuite

Grants permission to retireve the information of a testing suite

suite*

Read

GetTest

Grants permission to retireve the information of a test case

test*

Read

GetTestGridProject

Grants permission to retrieve information about a desktop testing project

testgrid-project*

aws:ResourceTag/${TagKey}

Read

GetTestGridSession

Grants permission to retireve the information of a test grid session

testgrid-project

aws:ResourceTag/${TagKey}

Read

testgrid-session

aws:ResourceTag/${TagKey}

GetUpload

Grants permission to retireve the information of an uploaded file

upload*

Read

GetVPCEConfiguration

Grants permission to retireve the information of an Amazon Virtual Private Cloud (VPC) endpoint configuration

vpceconfiguration*

aws:ResourceTag/${TagKey}

Read

InstallToRemoteAccessSession

Grants permission to install an application to a device in a remote access session

session*

aws:ResourceTag/${TagKey}

Write

upload*

ListArtifacts

Grants permission to list the artifacts in a project

job

List

run

aws:ResourceTag/${TagKey}

suite

test

ListDeviceInstances

Grants permission to list the information of device instances

List

ListDevicePools

Grants permission to list the information of device pools

project*

aws:ResourceTag/${TagKey}

List

ListDevices

Grants permission to list the information of unique device types

List

ListInstanceProfiles

Grants permission to list the information of device instance profiles

List

ListJobs

Grants permission to list the information of jobs within a run

run*

aws:ResourceTag/${TagKey}

List

ListNetworkProfiles

Grants permission to list the information of network profiles within a project

project*

aws:ResourceTag/${TagKey}

List

ListOfferingPromotions

Grants permission to list the offering promotions

List

ListOfferingTransactions

Grants permission to list all of the historical purchases, renewals, and system renewal transactions for an AWS account

List

ListOfferings

Grants permission to list the products or offerings that the user can manage through the API

List

ListProjects

Grants permission to list the information of mobile testing projects for an AWS account

List

ListRemoteAccessSessions

Grants permission to list the information of currently running remote access sessions

project*

aws:ResourceTag/${TagKey}

List

ListRuns

Grants permission to list the information of runs within a project

project*

aws:ResourceTag/${TagKey}

List

ListSamples

Grants permission to list the information of samples within a project

job*

List

ListSuites

Grants permission to list the information of testing suites within a job

job*

List

ListTagsForResource

Grants permission to list the tags of a resource

device

aws:ResourceTag/${TagKey}

List

deviceinstance

aws:ResourceTag/${TagKey}

devicepool

aws:ResourceTag/${TagKey}

instanceprofile

aws:ResourceTag/${TagKey}

networkprofile

aws:ResourceTag/${TagKey}

project

aws:ResourceTag/${TagKey}

run

aws:ResourceTag/${TagKey}

session

aws:ResourceTag/${TagKey}

testgrid-project

aws:ResourceTag/${TagKey}

testgrid-session

aws:ResourceTag/${TagKey}

vpceconfiguration

aws:ResourceTag/${TagKey}

ListTestGridProjects

Grants permission to list the information of desktop testing projects for an AWS account

List

ListTestGridSessionActions

Grants permission to list the session actions performed during a test grid session

testgrid-session*

aws:ResourceTag/${TagKey}

List

ListTestGridSessionArtifacts

Grants permission to list the artifacts generated by a test grid session

testgrid-session*

aws:ResourceTag/${TagKey}

List

ListTestGridSessions

Grants permission to list the sessions within a test grid project

testgrid-project*

aws:ResourceTag/${TagKey}

List

ListTests

Grants permission to list the information of tests within a testing suite

suite*

List

ListUniqueProblems

Grants permission to list the information of unique problems within a run

run*

aws:ResourceTag/${TagKey}

List

ListUploads

Grants permission to list the information of uploads within a project

project*

aws:ResourceTag/${TagKey}

List

ListVPCEConfigurations

Grants permission to list the information of Amazon Virtual Private Cloud (VPC) endpoint configurations

List

PurchaseOffering

Grants permission to purchase offerings for an AWS account

Write

RenewOffering

Grants permission to set the quantity of devices to renew for an offering

Write

ScheduleRun

Grants permission to schedule a run

devicepool

aws:ResourceTag/${TagKey}

Write

project*

aws:ResourceTag/${TagKey}

upload

SCENARIO: Device Pool as filter

project*

devicepool*

upload

SCENARIO: Device Selection Configuration as filter

project*

upload

StopJob

Grants permission to terminate a running job

job*

Write

StopRemoteAccessSession

Grants permission to terminate a running remote access session

session*

aws:ResourceTag/${TagKey}

Write

StopRun

Grants permission to terminate a running test run

run*

aws:ResourceTag/${TagKey}

Write

TagResource

Grants permission to add tags to a resource

device

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

Tagging, Write

deviceinstance

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

devicepool

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

instanceprofile

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

networkprofile

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

project

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

run

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

session

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

testgrid-project

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

testgrid-session

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

vpceconfiguration

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

UntagResource

Grants permission to remove tags from a resource

device

aws:ResourceTag/${TagKey}

aws:TagKeys

Tagging, Write

deviceinstance

aws:ResourceTag/${TagKey}

aws:TagKeys

devicepool

aws:ResourceTag/${TagKey}

aws:TagKeys

instanceprofile

aws:ResourceTag/${TagKey}

aws:TagKeys

networkprofile

aws:ResourceTag/${TagKey}

aws:TagKeys

project

aws:ResourceTag/${TagKey}

aws:TagKeys

run

aws:ResourceTag/${TagKey}

aws:TagKeys

session

aws:ResourceTag/${TagKey}

aws:TagKeys

testgrid-project

aws:ResourceTag/${TagKey}

aws:TagKeys

testgrid-session

aws:ResourceTag/${TagKey}

aws:TagKeys

vpceconfiguration

aws:ResourceTag/${TagKey}

aws:TagKeys

UpdateDeviceInstance

Grants permission to modify an existing device instance

deviceinstance*

aws:ResourceTag/${TagKey}

Write

instanceprofile

aws:ResourceTag/${TagKey}

UpdateDevicePool

Grants permission to modify an existing device pool

devicepool*

aws:ResourceTag/${TagKey}

Write

UpdateInstanceProfile

Grants permission to modify an existing instance profile

instanceprofile*

aws:ResourceTag/${TagKey}

Write

UpdateNetworkProfile

Grants permission to modify an existing network profile

networkprofile*

aws:ResourceTag/${TagKey}

Write

UpdateProject

Grants permission to modify an existing mobile testing project

project*

aws:ResourceTag/${TagKey}

Write

UpdateTestGridProject

Grants permission to modify an existing desktop testing project

testgrid-project*

aws:ResourceTag/${TagKey}

Write

UpdateUpload

Grants permission to modify an existing upload

upload*

Write

UpdateVPCEConfiguration

Grants permission to modify an existing Amazon Virtual Private Cloud (VPC) endpoint configuration

vpceconfiguration*

aws:ResourceTag/${TagKey}

Write

Resource types defined by AWS Device Farm

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

artifact

arn:${Partition}:devicefarm:${Region}:${Account}:artifact:${ResourceId}

device

arn:${Partition}:devicefarm:${Region}::device:${ResourceId}

aws:ResourceTag/${TagKey}

deviceinstance

arn:${Partition}:devicefarm:${Region}::deviceinstance:${ResourceId}

aws:ResourceTag/${TagKey}

devicepool

arn:${Partition}:devicefarm:${Region}:${Account}:devicepool:${ResourceId}

aws:ResourceTag/${TagKey}

instanceprofile

arn:${Partition}:devicefarm:${Region}:${Account}:instanceprofile:${ResourceId}

aws:ResourceTag/${TagKey}

job

arn:${Partition}:devicefarm:${Region}:${Account}:job:${ResourceId}

networkprofile

arn:${Partition}:devicefarm:${Region}:${Account}:networkprofile:${ResourceId}

aws:ResourceTag/${TagKey}

project

arn:${Partition}:devicefarm:${Region}:${Account}:project:${ResourceId}

aws:ResourceTag/${TagKey}

run

arn:${Partition}:devicefarm:${Region}:${Account}:run:${ResourceId}

aws:ResourceTag/${TagKey}

sample

arn:${Partition}:devicefarm:${Region}:${Account}:sample:${ResourceId}

session

arn:${Partition}:devicefarm:${Region}:${Account}:session:${ResourceId}

aws:ResourceTag/${TagKey}

suite

arn:${Partition}:devicefarm:${Region}:${Account}:suite:${ResourceId}

test

arn:${Partition}:devicefarm:${Region}:${Account}:test:${ResourceId}

testgrid-project

arn:${Partition}:devicefarm:${Region}:${Account}:testgrid-project:${ResourceId}

aws:ResourceTag/${TagKey}

testgrid-session

arn:${Partition}:devicefarm:${Region}:${Account}:testgrid-session:${ResourceId}

aws:ResourceTag/${TagKey}

upload

arn:${Partition}:devicefarm:${Region}:${Account}:upload:${ResourceId}

vpceconfiguration

arn:${Partition}:devicefarm:${Region}:${Account}:vpceconfiguration:${ResourceId}

aws:ResourceTag/${TagKey}

Condition keys for AWS Device Farm

AWS Device Farm defines the following condition keys that can be used in the Condition element of an IAM policy.

Condition keys Description Type

aws:RequestTag/${TagKey}

Filters actions based on the allowed set of values for each of the tags

String

aws:ResourceTag/${TagKey}

Filters actions based on tag-value assoicated with the resource

String

aws:TagKeys

Filters actions based on the presence of mandatory tags in the request

ArrayOfString