Amazon 的操作、资源和条件密钥 GameLift - 服务授权参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon 的操作、资源和条件密钥 GameLift

Amazon GameLift (服务前缀:gamelift)提供以下特定于服务的资源、操作和条件上下文密钥,供在IAM权限策略中使用。

参考:

Amazon 定义的操作 GameLift

您可以在 Action 策略语句的 IAM 元素中指定以下操作。可以使用策略授予在 AWS中执行操作的权限。当您在策略中使用操作时,通常会允许或拒绝访问具有相同名称的API操作或CLI命令。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。

操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定策略应用的所有资源(“*”)。如果该列包含资源类型,则可以在带有该操作ARN的语句中指定该类型的资源类型。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您使用IAM策略中的Resource元素限制资源访问权限,则必须为每种必需的资源类型包含ARN或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。

操作表的条件键列包括可以在策略语句的 Condition 元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。

注意

资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。

有关下表中各列的详细信息,请参阅操作表

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
AcceptMatch 授予注册玩家接受或拒绝提议的 FlexMatch 比赛的权限 写入
ClaimGameServer 授予权限以查找并保留游戏服务器来托管新的游戏会话 Write

gameServerGroup*

CreateAlias 授予权限以为队组定义新别名 Write

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

CreateBuild 授予权限以使用存储在 Amazon S3 存储桶中的文件创建新的游戏生成包 写入

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

iam:PassRole

s3:GetObject

CreateContainerFleet 授予创建新的计算资源容器队列以运行游戏服务器的权限 写入

aws:RequestTag/${TagKey}

aws:TagKeys

ec2:DescribeAvailabilityZones

ec2:DescribeRegions

gamelift:TagResource

iam:PassRole

CreateContainerGroupDefinition 授予使用存储在 Amazon 存储ECR库中的图像创建新的容器组定义的权限 写入

aws:RequestTag/${TagKey}

aws:TagKeys

ecr:BatchGetImage

ecr:DescribeImages

ecr:GetAuthorizationToken

ecr:GetDownloadUrlForLayer

gamelift:TagResource

CreateFleet 授予权限以创建新的计算资源队组来运行您的游戏服务器 Write

aws:RequestTag/${TagKey}

aws:TagKeys

ec2:DescribeAvailabilityZones

ec2:DescribeRegions

gamelift:TagResource

iam:PassRole

CreateFleetLocations 授予权限以为队组指定其他位置 Write

containerFleet

ec2:DescribeAvailabilityZones

ec2:DescribeRegions

fleet

CreateGameServerGroup 授予权限以创建新的游戏服务器组,设置相应的 Auto Scaling 组并启动实例以托管游戏服务器 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 授予权限以在指定队组上启动新的游戏会话 Write
CreateGameSessionQueue 授予权限以设置新队组来处理游戏会话放置请求 写入

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

CreateLocation 授予权限以为实例集定义新位置 写入

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

CreateMatchmakingConfiguration 授予创建新 FlexMatch 媒人的权限 写入

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

CreateMatchmakingRuleSet 授予权限以创建新的配对规则集 FlexMatch 写入

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

CreatePlayerSession 授予权限以为一个玩家保留可用的游戏会话位置 Write
CreatePlayerSessions 授予权限以为多个玩家保留可用的游戏会话位置 Write
CreateScript 授予创建新的 Realtime Servers 脚本的权限 写入

aws:RequestTag/${TagKey}

aws:TagKeys

gamelift:TagResource

iam:PassRole

s3:GetObject

CreateVpcPeeringAuthorization 授予 GameLift 允许创建或删除队列与另一个 GameLift 舰队VPC之间的VPC对等连接的权限 AWS 账户 写入

ec2:AcceptVpcPeeringConnection

ec2:AuthorizeSecurityGroupEgress

ec2:AuthorizeSecurityGroupIngress

ec2:CreateRoute

ec2:DeleteRoute

ec2:DescribeRouteTables

ec2:DescribeSecurityGroups

ec2:RevokeSecurityGroupEgress

ec2:RevokeSecurityGroupIngress

CreateVpcPeeringConnection 授予在您的 GameLift 舰队与其他账户之间建立VPC对VPC等连接的权限 写入
DeleteAlias 授予权限以删除别名 Write

alias*

DeleteBuild 授予权限以删除游戏生成包 写入

build*

DeleteContainerFleet 授予删除集装箱舰队的权限 写入

containerFleet*

DeleteContainerGroupDefinition 授予删除容器组定义的权限 写入

containerGroupDefinition*

DeleteFleet 授予权限以删除空队组 Write

fleet*

DeleteFleetLocations 授予权限以删除队组位置 Write

containerFleet

fleet

DeleteGameServerGroup 授予权限以永久删除游戏服务器组并终止相应 Auto Scaling 组的 FleetIQ 活动 Write

gameServerGroup*

autoscaling:DeleteAutoScalingGroup

autoscaling:DescribeAutoScalingGroups

autoscaling:ExitStandby

autoscaling:ResumeProcesses

autoscaling:SetInstanceProtection

autoscaling:UpdateAutoScalingGroup

DeleteGameSessionQueue 授予权限以删除现有游戏会话队列 写入

gameSessionQueue*

DeleteLocation 授予权限以删除位置 写入

location*

DeleteMatchmakingConfiguration 授予删除现有 FlexMatch 媒人的权限 写入

matchmakingConfiguration*

DeleteMatchmakingRuleSet 授予删除现有 FlexMatch 配对规则集的权限 写入

matchmakingRuleSet*

DeleteScalingPolicy 授予权限以删除一组自动伸缩规则 Write

containerFleet

fleet

DeleteScript 授予权限以删除 Realtime Servers 脚本 写入

script*

DeleteVpcPeeringAuthorization 授予取消对VPC等互连授权的权限 写入
DeleteVpcPeeringConnection 授予移除之间的对等连接的权限 VPCs 写入
DeregisterCompute 授予权限以对实例集取消注册计算 写入

fleet*

DeregisterGameServer 授予权限以从游戏服务器组中删除游戏服务器 Write

gameServerGroup*

DescribeAlias 授予权限以检索别名属性 Read

alias*

DescribeBuild 授予权限以检索游戏生成包属性 读取

build*

DescribeCompute 授予检索队列中计算信息的权限 读取

containerFleet

fleet

DescribeContainerFleet 授予检索现有集装箱舰队属性的权限 读取

containerFleet*

DescribeContainerGroupDefinition 授予检索现有容器组定义属性的权限 读取

containerGroupDefinition*

DescribeEC2InstanceLimits 授予检索EC2实例类型允许的最大使用量和当前使用量的权限 读取
DescribeFleetAttributes 授予权限以检索队组的常规属性,包括状态 读取
DescribeFleetCapacity 授予检索托管舰队当前容量设置的权限 读取
DescribeFleetDeployment 授予检索现有舰队部署属性的权限 读取

containerFleet*

DescribeFleetEvents 授予权限以从队组的事件日志中检索条目 Read

containerFleet

fleet

DescribeFleetLocationAttributes 授予权限以检索队组位置的常规属性,包括状态 Read

containerFleet

fleet

DescribeFleetLocationCapacity 授予权限以检索队组位置的当前容量设置 Read

containerFleet

fleet

DescribeFleetLocationUtilization 授予权限以检索队组位置的利用率统计信息 Read

fleet*

DescribeFleetPortSettings 授予权限以检索队组的入站连接权限 Read

fleet*

DescribeFleetUtilization 授予权限以检索队组的利用率统计信息 Read
DescribeGameServer 授予权限以检索游戏服务器的属性 Read

gameServerGroup*

DescribeGameServerGroup 授予权限以检索游戏服务器组的属性 读取

gameServerGroup*

DescribeGameServerInstances 授予检索游戏服务器组中EC2实例状态的权限 读取

gameServerGroup*

DescribeGameSessionDetails 授予权限以检索队组中游戏会话的属性,包括保护策略 Read
DescribeGameSessionPlacement 授予权限以检索游戏会话放置请求的详细信息 Read
DescribeGameSessionQueues 授予权限以检索游戏会话队列的属性 Read
DescribeGameSessions 授予权限以检索队组中游戏会话的属性 读取
DescribeInstances 授予检索托管队列中实例信息的权限 读取

containerFleet

fleet

DescribeMatchmaking 授予权限以检索对战门票的详细信息 读取
DescribeMatchmakingConfigurations 授予 FlexMatch 媒人检索房产的权限 读取
DescribeMatchmakingRuleSets 授予检索 FlexMatch 配对规则集属性的权限 读取
DescribePlayerSessions 授予权限以检索游戏会话中玩家会话的属性 Read
DescribeRuntimeConfiguration 授予权限以检索队组的当前运行配置 Read

fleet*

DescribeScalingPolicies 授予权限以检索应用于队组的所有伸缩策略 Read

containerFleet

fleet

DescribeScript 授予权限以检索 Realtime Servers 脚本的属性 读取

script*

DescribeVpcPeeringAuthorizations 授予检索有效对VPC等互连授权的权限 读取
DescribeVpcPeeringConnections 授予权限以检索活动或待处理的对VPC等连接的详细信息 读取
GetComputeAccess 授予检索证书的权限,以远程访问托管队列中的计算机 读取

containerFleet

fleet

GetComputeAuthToken 授予检索身份验证令牌的权限,该令牌允许计算机上的进程向 Amazon GameLift 服务发送请求 读取

containerFleet

fleet

GetGameSessionLogUrl 授予权限以检索游戏会话的存储日志位置 Read
GetInstanceAccess 授予权限以请求远程访问指定队组实例 Read

fleet*

ListAliases 授予权限以检索当前区域中定义的所有别名 List
ListBuilds 授予权限以检索当前区域中的所有游戏生成包 列出
ListCompute 授予权限以检索当前区域中的所有计算资源 列出

containerFleet

fleet

ListContainerFleets 授予检索当前区域中所有现有集装箱舰队属性的权限 列出
ListContainerGroupDefinitionVersions 授予检索现有容器组定义所有版本属性的权限 列出

containerGroupDefinition*

ListContainerGroupDefinitions 授予检索当前区域中所有现有容器组定义属性的权限 列出
ListFleetDeployments 授予检索当前区域中所有现有舰队部署属性的权限 列出
ListFleets 允许检索当前区域内所有舰队IDs的舰队列表 列出
ListGameServerGroups 授予权限以检索当前区域中定义的所有游戏服务器组 List
ListGameServers 授予权限以检索当前在游戏服务器组中运行的所有游戏服务器 列出

gameServerGroup*

ListLocations 授予权限以检索此账户中的所有位置 列出
ListScripts 授予权限以检索当前区域中所有 Realtime Servers 脚本的属性 列出
ListTagsForResource 授予检索 GameLift 资源标签的权限 读取

alias

build

containerFleet

containerGroupDefinition

fleet

gameServerGroup

gameSessionQueue

location

matchmakingConfiguration

matchmakingRuleSet

script

PutScalingPolicy 授予权限以创建或更新队组自动伸缩策略 写入

containerFleet

fleet

RegisterCompute 授予权限以对实例集注册计算 写入

fleet*

RegisterGameServer 允许在新游戏服务器 GameLift 准备好托管游戏时通知 FleetiQ 写入

gameServerGroup*

RequestUploadCredentials 授予权限以检索在上传新游戏生成包时使用的全新上传凭证 Read

build*

ResolveAlias 授予权限以检索与别名关联的队组 ID Read

alias*

ResumeGameServerGroup 授予权限以恢复游戏服务器组的暂停 FleetIQ 活动 Write

gameServerGroup*

SearchGameSessions 授予权限以检索匹配一组搜索标准的游戏会话 读取
StartFleetActions 使用 StopFleetActions () 授予在队列暂停后恢复其自动缩放活动的权限 写入

containerFleet

fleet

StartGameSessionPlacement 授予权限以向游戏会话队列发送游戏会话放置请求 写入

gameSessionQueue*

StartMatchBackfill 授予请求 FlexMatch 配对以填补现有游戏会话中可用玩家位置的权限 写入
StartMatchmaking 授予为一个或一组玩家请求 FlexMatch 配对并启动游戏会话放置的权限 写入
StopFleetActions 授予权限以暂停队组的自动伸缩活动 Write

containerFleet

fleet

StopGameSessionPlacement 授予权限以取消正在进行的游戏会话放置请求 Write
StopMatchmaking 授予权限以取消正在进行的对战匹配或对战回填请求 Write
SuspendGameServerGroup 授予权限以暂时停止游戏服务器组的 FleetIQ 活动 写入

gameServerGroup*

TagResource 授予标记 GameLift 资源的权限 标记

alias

build

containerFleet

containerGroupDefinition

fleet

gameServerGroup

gameSessionQueue

location

matchmakingConfiguration

matchmakingRuleSet

script

aws:RequestTag/${TagKey}

aws:TagKeys

UntagResource 授予取消标记资源的 GameLift 权限 标记

alias

build

containerFleet

containerGroupDefinition

fleet

gameServerGroup

gameSessionQueue

location

matchmakingConfiguration

matchmakingRuleSet

script

aws:TagKeys

UpdateAlias 授予权限以更新现有别名的属性 Write

alias*

UpdateBuild 授予权限以更新现有生成包的元数据 写入

build*

UpdateContainerFleet 授予更新现有集装箱舰队的权限 写入

containerFleet*

UpdateContainerGroupDefinition 授予更新现有容器组定义属性的权限 写入

containerGroupDefinition*

ecr:BatchGetImage

ecr:DescribeImages

ecr:GetAuthorizationToken

ecr:GetDownloadUrlForLayer

UpdateFleetAttributes 授予权限以更新现有队组的常规属性 写入

fleet*

UpdateFleetCapacity 授予调整托管队列容量设置的权限 写入

containerFleet

fleet

UpdateFleetPortSettings 授予权限以调整队组的端口设置 Write

fleet*

UpdateGameServer 授予权限以更改游戏服务器属性、运行状况或利用率状态 Write

gameServerGroup*

UpdateGameServerGroup 授予权限以更新游戏服务器组的属性,包括允许的实例类型 Write

gameServerGroup*

iam:PassRole

UpdateGameSession 授予权限以更新现有游戏会话的属性 Write
UpdateGameSessionQueue 授予权限以更新现有游戏会话队列的属性 写入

gameSessionQueue*

UpdateMatchmakingConfiguration 授予更新现有 FlexMatch 配对配置属性的权限 写入

matchmakingConfiguration*

UpdateRuntimeConfiguration 授予权限以更新如何在现有队组的实例上配置服务器进程 Write

fleet*

UpdateScript 授予权限以更新现有 Realtime Servers 脚本的元数据和内容 写入

script*

iam:PassRole

s3:GetObject

ValidateMatchmakingRuleSet 授予验证 FlexMatch 配对规则集语法的权限 读取

Amazon 定义的资源类型 GameLift

以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在资源类型表的最后一列。有关下表中各列的详细信息,请参阅资源类型表

资源类型 ARN 条件键
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}

Amazon 的条件密钥 GameLift

Amazon GameLift 定义了以下可在IAM策略Condition元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表

要查看适用于所有服务的全局条件键,请参阅可用的全局条件键

条件键 描述 类型
aws:RequestTag/${TagKey} 按请求中传递的标签筛选访问权限 字符串
aws:ResourceTag/${TagKey} 按与资源关联的标签筛选访问权限 字符串
aws:TagKeys 按请求中传递的标签键筛选访问权限 ArrayOfString