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

Actions, resources, and condition keys for Amazon GameLift

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

References:

Actions defined by Amazon GameLift

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 of the Actions table indicates whether each action supports resource-level permissions. If there is no value for this column, you must specify all resources ("*") to which the policy applies 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. If the action has one or more required resources, the caller must have permission to use the action with those resources. Required resources are indicated in the table with an asterisk (*). If you limit resource access with the Resource element in an IAM policy, you must include an ARN or pattern for each required resource type. Some actions support multiple resource types. If the resource type is optional (not indicated as required), then you can choose to use one of the optional resource types.

The Condition keys column of the Actions table includes keys that you can specify in a policy statement's Condition element. For more information on the condition keys that are associated with resources for the service, see the Condition keys column of the Resource types table.

Note

Resource condition keys are listed in the Resource types table. You can find a link to the resource type that applies to an action in the Resource types (*required) column of the Actions table. The resource type in the Resource types table includes the Condition keys column, which are the resource condition keys that apply to an action in the Actions table.

For details about the columns in the following table, see Actions table.

Actions Description Access level Resource types (*required) Condition keys Dependent actions
AcceptMatch Grants permission to register player acceptance or rejection of a proposed FlexMatch match Write
ClaimGameServer Grants permission to locate and reserve a game server to host a new game session Write

gameServerGroup*

CreateAlias Grants permission to define a new alias for a fleet Write

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

CreateBuild Grants permission to create a new game build using files stored in an Amazon S3 bucket Write

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

iam:PassRole

s3:GetObject

CreateContainerFleet Grants permission to create a new container fleet of computing resources to run your game servers Write

aws:RequestTag/${TagKey}

aws:TagKeys

ec2:DescribeAvailabilityZones

ec2:DescribeRegions

gamelift:TagResource

iam:PassRole

CreateContainerGroupDefinition Grants permission to create a new container group definition using images stored in an Amazon ECR repository Write

aws:RequestTag/${TagKey}

aws:TagKeys

ecr:BatchGetImage

ecr:DescribeImages

ecr:GetAuthorizationToken

ecr:GetDownloadUrlForLayer

gamelift:TagResource

CreateFleet Grants permission to create a new fleet of computing resources to run your game servers Write

aws:RequestTag/${TagKey}

aws:TagKeys

ec2:DescribeAvailabilityZones

ec2:DescribeRegions

gamelift:TagResource

iam:PassRole

CreateFleetLocations Grants permission to specify additional locations for a fleet Write

containerFleet

ec2:DescribeAvailabilityZones

ec2:DescribeRegions

fleet

CreateGameServerGroup Grants permission to create a new game server group, set up a corresponding Auto Scaling group, and launche instances to host game servers Write

aws:RequestTag/${TagKey}

aws:TagKeys

autoscaling:CreateAutoScalingGroup

autoscaling:DescribeAutoScalingGroups

autoscaling:PutLifecycleHook

autoscaling:PutScalingPolicy

ec2:DescribeAvailabilityZones

ec2:DescribeSubnets

events:PutRule

events:PutTargets

gamelift:TagResource

iam:PassRole

CreateGameSession Grants permission to start a new game session on a specified fleet Write
CreateGameSessionQueue Grants permission to set up a new queue for processing game session placement requests Write

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

CreateLocation Grants permission to define a new location for a fleet Write

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

CreateMatchmakingConfiguration Grants permission to create a new FlexMatch matchmaker Write

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

CreateMatchmakingRuleSet Grants permission to create a new matchmaking rule set for FlexMatch Write

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

CreatePlayerSession Grants permission to reserve an available game session slot for a player Write
CreatePlayerSessions Grants permission to reserve available game session slots for multiple players Write
CreateScript Grants permission to create a new Realtime Servers script Write

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

iam:PassRole

s3:GetObject

CreateVpcPeeringAuthorization Grants permission to allow GameLift to create or delete a peering connection between a GameLift fleet VPC and a VPC on another AWS account Write

ec2:AcceptVpcPeeringConnection

ec2:AuthorizeSecurityGroupEgress

ec2:AuthorizeSecurityGroupIngress

ec2:CreateRoute

ec2:DeleteRoute

ec2:DescribeRouteTables

ec2:DescribeSecurityGroups

ec2:RevokeSecurityGroupEgress

ec2:RevokeSecurityGroupIngress

CreateVpcPeeringConnection Grants permission to establish a peering connection between your GameLift fleet VPC and a VPC on another account Write
DeleteAlias Grants permission to delete an alias Write

alias*

DeleteBuild Grants permission to delete a game build Write

build*

DeleteContainerFleet Grants permission to delete a container fleet Write

containerFleet*

DeleteContainerGroupDefinition Grants permission to delete a container group definition Write

containerGroupDefinition*

DeleteFleet Grants permission to delete an empty fleet Write

fleet*

DeleteFleetLocations Grants permission to delete locations for a fleet Write

containerFleet

fleet

DeleteGameServerGroup Grants permission to permanently delete a game server group and terminate FleetIQ activity for the corresponding Auto Scaling group Write

gameServerGroup*

autoscaling:DeleteAutoScalingGroup

autoscaling:DescribeAutoScalingGroups

autoscaling:ExitStandby

autoscaling:ResumeProcesses

autoscaling:SetInstanceProtection

autoscaling:UpdateAutoScalingGroup

DeleteGameSessionQueue Grants permission to delete an existing game session queue Write

gameSessionQueue*

DeleteLocation Grants permission to delete a location Write

location*

DeleteMatchmakingConfiguration Grants permission to delete an existing FlexMatch matchmaker Write

matchmakingConfiguration*

DeleteMatchmakingRuleSet Grants permission to delete an existing FlexMatch matchmaking rule set Write

matchmakingRuleSet*

DeleteScalingPolicy Grants permission to delete a set of auto-scaling rules Write

containerFleet

fleet

DeleteScript Grants permission to delete a Realtime Servers script Write

script*

DeleteVpcPeeringAuthorization Grants permission to cancel a VPC peering authorization Write
DeleteVpcPeeringConnection Grants permission to remove a peering connection between VPCs Write
DeregisterCompute Grants permission to deregister a compute against a fleet Write

fleet*

DeregisterGameServer Grants permission to remove a game server from a game server group Write

gameServerGroup*

DescribeAlias Grants permission to retrieve properties for an alias Read

alias*

DescribeBuild Grants permission to retrieve properties for a game build Read

build*

DescribeCompute Grants permission to retrieve information for a compute in a fleet Read

containerFleet

fleet

DescribeContainerFleet Grants permission to retrieve the properties of an existing container fleet Read

containerFleet*

DescribeContainerGroupDefinition Grants permission to retrieve the properties of an existing container group definition Read

containerGroupDefinition*

DescribeEC2InstanceLimits Grants permission to retrieve the maximum allowed and current usage for EC2 instance types Read
DescribeFleetAttributes Grants permission to retrieve general properties, including status, for fleets Read
DescribeFleetCapacity Grants permission to retrieve the current capacity settings for managed fleets Read
DescribeFleetDeployment Grants permission to retrieve the properties of an existing fleet deployment Read

containerFleet*

DescribeFleetEvents Grants permission to retrieve entries from a fleet's event log Read

containerFleet

fleet

DescribeFleetLocationAttributes Grants permission to retrieve general properties, including statuses, for a fleet's locations Read

containerFleet

fleet

DescribeFleetLocationCapacity Grants permission to retrieve the current capacity setting for a fleet's location Read

containerFleet

fleet

DescribeFleetLocationUtilization Grants permission to retrieve utilization statistics for fleet's location Read

fleet*

DescribeFleetPortSettings Grants permission to retrieve the inbound connection permissions for a fleet Read

fleet*

DescribeFleetUtilization Grants permission to retrieve utilization statistics for fleets Read
DescribeGameServer Grants permission to retrieve properties for a game server Read

gameServerGroup*

DescribeGameServerGroup Grants permission to retrieve properties for a game server group Read

gameServerGroup*

DescribeGameServerInstances Grants permission to retrieve the status of EC2 instances in a game server group Read

gameServerGroup*

DescribeGameSessionDetails Grants permission to retrieve properties for game sessions in a fleet, including the protection policy Read
DescribeGameSessionPlacement Grants permission to retrieve details of a game session placement request Read
DescribeGameSessionQueues Grants permission to retrieve properties for game session queues Read
DescribeGameSessions Grants permission to retrieve properties for game sessions in a fleet Read
DescribeInstances Grants permission to retrieve information about instances in a managed fleet Read

containerFleet

fleet

DescribeMatchmaking Grants permission to retrieve details of matchmaking tickets Read
DescribeMatchmakingConfigurations Grants permission to retrieve properties for FlexMatch matchmakers Read
DescribeMatchmakingRuleSets Grants permission to retrieve properties for FlexMatch matchmaking rule sets Read
DescribePlayerSessions Grants permission to retrieve properties for player sessions in a game session Read
DescribeRuntimeConfiguration Grants permission to retrieve the current runtime configuration for a fleet Read

fleet*

DescribeScalingPolicies Grants permission to retrieve all scaling policies that are applied to a fleet Read

containerFleet

fleet

DescribeScript Grants permission to retrieve properties for a Realtime Servers script Read

script*

DescribeVpcPeeringAuthorizations Grants permission to retrieve valid VPC peering authorizations Read
DescribeVpcPeeringConnections Grants permission to retrieve details on active or pending VPC peering connections Read
GetComputeAccess Grants permission to retrieve credentials to remotely access a compute in a managed fleet Read

containerFleet

fleet

GetComputeAuthToken Grants permission to retrieve an authentication token that allows processes on a compute to send requests to the Amazon GameLift service Read

containerFleet

fleet

GetGameSessionLogUrl Grants permission to retrieve the location of stored logs for a game session Read
GetInstanceAccess Grants permission to request remote access to a specified fleet instance Read

fleet*

ListAliases Grants permission to retrieve all aliases that are defined in the current Region List
ListBuilds Grants permission to retrieve all game build in the current Region List
ListCompute Grants permission to retrieve all compute resources in the current Region List

containerFleet

fleet

ListContainerFleets Grants permission to retrieve the properties of all existing container fleets in the current Region List
ListContainerGroupDefinitionVersions Grants permission to retrieve the properties of all versions of an existing container group definition List

containerGroupDefinition*

ListContainerGroupDefinitions Grants permission to retrieve the properties of all existing container group definitions in the current Region List
ListFleetDeployments Grants permission to retrieve the properties of all existing fleet deployments in the current Region List
ListFleets Grants permission to retrieve a list of fleet IDs for all fleets in the current Region List
ListGameServerGroups Grants permission to retrieve all game server groups that are defined in the current Region List
ListGameServers Grants permission to retrieve all game servers that are currently running in a game server group List

gameServerGroup*

ListLocations Grants permission to retrieve all locations in this account List
ListScripts Grants permission to retrieve properties for all Realtime Servers scripts in the current region List
ListTagsForResource Grants permission to retrieve tags for GameLift resources Read

alias

build

containerFleet

containerGroupDefinition

fleet

gameServerGroup

gameSessionQueue

location

matchmakingConfiguration

matchmakingRuleSet

script

PutScalingPolicy Grants permission to create or update a fleet auto-scaling policy Write

containerFleet

fleet

RegisterCompute Grants permission to register a compute against a fleet Write

fleet*

RegisterGameServer Grants permission to notify GameLift FleetIQ when a new game server is ready to host gameplay Write

gameServerGroup*

RequestUploadCredentials Grants permission to retrieve fresh upload credentials to use when uploading a new game build Read

build*

ResolveAlias Grants permission to retrieve the fleet ID associated with an alias Read

alias*

ResumeGameServerGroup Grants permission to reinstate suspended FleetIQ activity for a game server group Write

gameServerGroup*

SearchGameSessions Grants permission to retrieve game sessions that match a set of search criteria Read
StartFleetActions Grants permission to resume auto-scaling activity on a fleet after it was suspended with StopFleetActions() Write

containerFleet

fleet

StartGameSessionPlacement Grants permission to send a game session placement request to a game session queue Write

gameSessionQueue*

StartMatchBackfill Grants permission to request FlexMatch matchmaking to fill available player slots in an existing game session Write
StartMatchmaking Grants permission to request FlexMatch matchmaking for one or a group of players and initiate game session placement Write
StopFleetActions Grants permission to suspend auto-scaling activity on a fleet Write

containerFleet

fleet

StopGameSessionPlacement Grants permission to cancel a game session placement request that is in progress Write
StopMatchmaking Grants permission to cancel a matchmaking or match backfill request that is in progress Write
SuspendGameServerGroup Grants permission to temporarily stop FleetIQ activity for a game server group Write

gameServerGroup*

TagResource Grants permission to tag GameLift resources Tagging

alias

build

containerFleet

containerGroupDefinition

fleet

gameServerGroup

gameSessionQueue

location

matchmakingConfiguration

matchmakingRuleSet

script

aws:RequestTag/${TagKey}

aws:TagKeys

UntagResource Grants permission to untag GameLift resources Tagging

alias

build

containerFleet

containerGroupDefinition

fleet

gameServerGroup

gameSessionQueue

location

matchmakingConfiguration

matchmakingRuleSet

script

aws:TagKeys

UpdateAlias Grants permission to update the properties of an existing alias Write

alias*

UpdateBuild Grants permission to update an existing build's metadata Write

build*

UpdateContainerFleet Grants permission to update an existing container fleet Write

containerFleet*

UpdateContainerGroupDefinition Grants permission to update the properties of an existing container group definition Write

containerGroupDefinition*

ecr:BatchGetImage

ecr:DescribeImages

ecr:GetAuthorizationToken

ecr:GetDownloadUrlForLayer

UpdateFleetAttributes Grants permission to update the general properties of an existing fleet Write

fleet*

UpdateFleetCapacity Grants permission to adjust a managed fleet's capacity settings Write

containerFleet

fleet

UpdateFleetPortSettings Grants permission to adjust a fleet's port settings Write

fleet*

UpdateGameServer Grants permission to change game server properties, health status, or utilization status Write

gameServerGroup*

UpdateGameServerGroup Grants permission to update properties for game server group, including allowed instance types Write

gameServerGroup*

iam:PassRole

UpdateGameSession Grants permission to update the properties of an existing game session Write
UpdateGameSessionQueue Grants permission to update properties of an existing game session queue Write

gameSessionQueue*

UpdateMatchmakingConfiguration Grants permission to update properties of an existing FlexMatch matchmaking configuration Write

matchmakingConfiguration*

UpdateRuntimeConfiguration Grants permission to update how server processes are configured on instances in an existing fleet Write

fleet*

UpdateScript Grants permission to update the metadata and content of an existing Realtime Servers script Write

script*

iam:PassRole

s3:GetObject

ValidateMatchmakingRuleSet Grants permission to validate the syntax of a FlexMatch matchmaking rule set Read

Resource types defined by Amazon GameLift

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 Resource types table. For details about the columns in the following table, see Resource types table.

Resource types ARN Condition keys
alias arn:${Partition}:gamelift:${Region}::alias/${AliasId}

aws:ResourceTag/${TagKey}

build arn:${Partition}:gamelift:${Region}:${Account}:build/${BuildId}

aws:ResourceTag/${TagKey}

containerGroupDefinition arn:${Partition}:gamelift:${Region}:${Account}:containergroupdefinition/${Name}

aws:ResourceTag/${TagKey}

containerFleet arn:${Partition}:gamelift:${Region}:${Account}:containerfleet/${FleetId}

aws:ResourceTag/${TagKey}

fleet arn:${Partition}:gamelift:${Region}:${Account}:fleet/${FleetId}

aws:ResourceTag/${TagKey}

gameServerGroup arn:${Partition}:gamelift:${Region}:${Account}:gameservergroup/${GameServerGroupName}

aws:ResourceTag/${TagKey}

gameSessionQueue arn:${Partition}:gamelift:${Region}:${Account}:gamesessionqueue/${GameSessionQueueName}

aws:ResourceTag/${TagKey}

location arn:${Partition}:gamelift:${Region}:${Account}:location/${LocationId}

aws:ResourceTag/${TagKey}

matchmakingConfiguration arn:${Partition}:gamelift:${Region}:${Account}:matchmakingconfiguration/${MatchmakingConfigurationName}

aws:ResourceTag/${TagKey}

matchmakingRuleSet arn:${Partition}:gamelift:${Region}:${Account}:matchmakingruleset/${MatchmakingRuleSetName}

aws:ResourceTag/${TagKey}

script arn:${Partition}:gamelift:${Region}:${Account}:script/${ScriptId}

aws:ResourceTag/${TagKey}

Condition keys for Amazon GameLift

Amazon GameLift 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 Condition keys table.

To view the global condition keys that are available to all services, see Available global condition keys.

Condition keys Description Type
aws:RequestTag/${TagKey} Filters access by the tags that are passed in the request String
aws:ResourceTag/${TagKey} Filters access by the tags associated with the resource String
aws:TagKeys Filters access by the tag keys that are passed in the request ArrayOfString