Amazon API Gateway Management V2 的操作、资源和条件键 - 服务授权参考

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

Amazon API Gateway Management V2 的操作、资源和条件键

Amazon API Gateway Management V2(服务前缀:apigateway)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。

参考:

Amazon API Gateway Management V2 定义的操作

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

“操作” 表的 “访问级别” 列描述了如何对操作进行分类(列出、读取、权限管理或标记)。此分类可以帮助您了解当您在策略中使用操作时,相应操作授予的访问级别。有关访问级别的更多信息,请参阅策略摘要中的访问级别

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

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

注意

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

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

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
CreateRoutingRule 授予创建路由规则的权限 写入

RoutingRule*

apigateway:Request/Priority

apigateway:Request/ConditionBasePaths

aws:ResourceTag/${TagKey}

apigateway:Request/Priority

apigateway:Request/ConditionBasePaths

DELETE 授予删除特定资源的权限 写入

AccessLogSettings

Api

ApiMapping

Authorizer

AuthorizersCache

Cors

Deployment

Integration

IntegrationResponse

Model

Route

RouteRequestParameter

RouteResponse

RouteSettings

Stage

VpcLink

aws:RequestTag/${TagKey}

aws:TagKeys

DeleteRoutingRule 授予删除路由规则的权限 写入

RoutingRule*

apigateway:Resource/Priority

apigateway:Resource/ConditionBasePaths

aws:ResourceTag/${TagKey}

apigateway:Resource/Priority

apigateway:Resource/ConditionBasePaths

GET 授予读取特定资源的权限 读取

AccessLogSettings

Api

ApiMapping

ApiMappings

Apis

Authorizer

Authorizers

AuthorizersCache

Cors

Deployment

Deployments

ExportedAPI

Integration

IntegrationResponse

IntegrationResponses

Integrations

Model

ModelTemplate

Models

Route

RouteRequestParameter

RouteResponse

RouteResponses

RouteSettings

Routes

Stage

Stages

VpcLink

VpcLinks

GetRoutingRule 授予读取路由规则的权限 读取

RoutingRule*

aws:ResourceTag/${TagKey}

ListRoutingRule 授予在域名下列出路由规则的权限 列表

RoutingRule*

aws:ResourceTag/${TagKey}

PATCH 授予更新特定资源的权限 Write

Api

ApiMapping

Authorizer

Deployment

Integration

IntegrationResponse

Model

Route

RouteRequestParameter

RouteResponse

Stage

VpcLink

aws:RequestTag/${TagKey}

aws:TagKeys

POST 授予创建特定资源的权限 Write

ApiMappings

Apis

Authorizers

Deployments

IntegrationResponses

Integrations

Models

RouteResponses

Routes

Stages

VpcLinks

aws:RequestTag/${TagKey}

aws:TagKeys

PUT 授予更新特定资源的权限 写入

Api

Apis

aws:RequestTag/${TagKey}

aws:TagKeys

UpdateRoutingRule 授予使用 PutRoutingRule API 更新路由规则的权限 写入

RoutingRule*

apigateway:Request/Priority

apigateway:Request/ConditionBasePaths

apigateway:Resource/Priority

apigateway:Resource/ConditionBasePaths

aws:ResourceTag/${TagKey}

apigateway:Request/Priority

apigateway:Request/ConditionBasePaths

apigateway:Resource/Priority

apigateway:Resource/ConditionBasePaths

Amazon API Gateway Management V2 定义的资源类型

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

资源类型 ARN 条件键
AccessLogSettings arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/stages/${StageName}/accesslogsettings

aws:ResourceTag/${TagKey}

Api arn:${Partition}:apigateway:${Region}::/apis/${ApiId}

apigateway:Request/ApiKeyRequired

apigateway:Request/ApiName

apigateway:Request/AuthorizerType

apigateway:Request/AuthorizerUri

apigateway:Request/DisableExecuteApiEndpoint

apigateway:Request/EndpointType

apigateway:Request/RouteAuthorizationType

apigateway:Resource/ApiKeyRequired

apigateway:Resource/ApiName

apigateway:Resource/AuthorizerType

apigateway:Resource/AuthorizerUri

apigateway:Resource/DisableExecuteApiEndpoint

apigateway:Resource/EndpointType

apigateway:Resource/RouteAuthorizationType

aws:ResourceTag/${TagKey}

Apis arn:${Partition}:apigateway:${Region}::/apis

apigateway:Request/ApiKeyRequired

apigateway:Request/ApiName

apigateway:Request/AuthorizerType

apigateway:Request/AuthorizerUri

apigateway:Request/DisableExecuteApiEndpoint

apigateway:Request/EndpointType

apigateway:Request/RouteAuthorizationType

aws:ResourceTag/${TagKey}

ApiMapping arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}/apimappings/${ApiMappingId}

aws:ResourceTag/${TagKey}

ApiMappings arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}/apimappings

aws:ResourceTag/${TagKey}

Authorizer arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/authorizers/${AuthorizerId}

apigateway:Request/AuthorizerType

apigateway:Request/AuthorizerUri

apigateway:Resource/AuthorizerType

apigateway:Resource/AuthorizerUri

aws:ResourceTag/${TagKey}

Authorizers arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/authorizers

apigateway:Request/AuthorizerType

apigateway:Request/AuthorizerUri

aws:ResourceTag/${TagKey}

AuthorizersCache arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/stages/${StageName}/cache/authorizers

aws:ResourceTag/${TagKey}

Cors arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/cors

aws:ResourceTag/${TagKey}

Deployment arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/deployments/${DeploymentId}

aws:ResourceTag/${TagKey}

Deployments arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/deployments

apigateway:Request/StageName

aws:ResourceTag/${TagKey}

ExportedAPI arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/exports/${Specification}

aws:ResourceTag/${TagKey}

Integration arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/integrations/${IntegrationId}

aws:ResourceTag/${TagKey}

Integrations arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/integrations

aws:ResourceTag/${TagKey}

IntegrationResponse arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/integrations/${IntegrationId}/integrationresponses/${IntegrationResponseId}

aws:ResourceTag/${TagKey}

IntegrationResponses arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/integrations/${IntegrationId}/integrationresponses

aws:ResourceTag/${TagKey}

Model arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/models/${ModelId}

aws:ResourceTag/${TagKey}

Models arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/models

aws:ResourceTag/${TagKey}

ModelTemplate arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/models/${ModelId}/template

aws:ResourceTag/${TagKey}

Route arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/routes/${RouteId}

apigateway:Request/ApiKeyRequired

apigateway:Request/RouteAuthorizationType

apigateway:Resource/ApiKeyRequired

apigateway:Resource/RouteAuthorizationType

aws:ResourceTag/${TagKey}

Routes arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/routes

apigateway:Request/ApiKeyRequired

apigateway:Request/RouteAuthorizationType

aws:ResourceTag/${TagKey}

RouteResponse arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/routes/${RouteId}/routeresponses/${RouteResponseId}

aws:ResourceTag/${TagKey}

RouteResponses arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/routes/${RouteId}/routeresponses

aws:ResourceTag/${TagKey}

RouteRequestParameter arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/routes/${RouteId}/requestparameters/${RequestParameterKey}

aws:ResourceTag/${TagKey}

RouteSettings arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/stages/${StageName}/routesettings/${RouteKey}

aws:ResourceTag/${TagKey}

RoutingRule arn:${Partition}:apigateway:${Region}:${Account}:/domainnames/${DomainName}/routingrules/${RoutingRuleId}

apigateway:Resource/ConditionBasePaths

apigateway:Resource/Priority

aws:ResourceTag/${TagKey}

Stage arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/stages/${StageName}

apigateway:Request/AccessLoggingDestination

apigateway:Request/AccessLoggingFormat

apigateway:Resource/AccessLoggingDestination

apigateway:Resource/AccessLoggingFormat

aws:ResourceTag/${TagKey}

Stages arn:${Partition}:apigateway:${Region}::/apis/${ApiId}/stages

apigateway:Request/AccessLoggingDestination

apigateway:Request/AccessLoggingFormat

aws:ResourceTag/${TagKey}

arn:${Partition}:apigateway:${Region}::/vpclinks/${VpcLinkId}

aws:ResourceTag/${TagKey}

arn:${Partition}:apigateway:${Region}::/vpclinks

aws:ResourceTag/${TagKey}

Amazon API Gateway Management V2 的条件键

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

要查看适用于所有服务的全局条件密钥,请参阅AWS 全局条件上下文密钥

条件键 描述 类型
apigateway:Request/AccessLoggingDestination 按访问日志目标筛选访问权限。在 CreateStage 和 UpdateStage 操作期间可用 字符串
apigateway:Request/AccessLoggingFormat 按访问日志格式筛选访问权限。在 CreateStage 和 UpdateStage 操作期间可用 字符串
apigateway:Request/ApiKeyRequired 按照 API 的要求筛选访问。在 CreateRoute 和 UpdateRoute 操作期间可用。在导入和重新导入期间也可作为集合使用 ArrayOfBool
apigateway:Request/ApiName 按 API 名称筛选访问权限。在 CreateApi 和 UpdateApi 操作期间可用 字符串
apigateway:Request/AuthorizerType 按请求中的授权者类型筛选访问权限,例如 REQUEST 或 JWT。在 CreateAuthorizer 和期间可用 UpdateAuthorizer。在导入和重新导入期间也可以 ArrayOfString ArrayOfString
apigateway:Request/AuthorizerUri 按 Lambda 授权者函数的 URI 筛选访问权限。在 CreateAuthorizer 和期间可用 UpdateAuthorizer。在导入和重新导入期间也可以 ArrayOfString ArrayOfString
apigateway:Request/ConditionBasePaths 按根据路由规则的条件定义的基本路径筛选访问权限。在 CreateRoutingRule 和 UpdateRoutingRule 操作期间可用 ArrayOfString
apigateway:Request/DisableExecuteApiEndpoint 按默认 execute-api 终端节点的状态筛选访问权限。在 CreateApi 和 UpdateApi 操作期间可用 布尔型
apigateway:Request/EndpointType 按终端节点类型筛选访问权限。在 CreateDomainName、 UpdateDomainName CreateApi、和 UpdateApi 操作期间可用 ArrayOfString
apigateway:Request/MtlsTrustStoreUri 按用于双向 TLS 身份验证的 truststore 的 URI 筛选访问权限。在 CreateDomainName 和 UpdateDomainName 操作期间可用 字符串
apigateway:Request/MtlsTrustStoreVersion 按用于双向 TLS 身份验证的 truststore 的版本筛选访问权限。在 CreateDomainName 和 UpdateDomainName 操作期间可用 字符串
apigateway:Request/Priority 按路由规则的优先级筛选访问权限。在 CreateRoutingRule 和 UpdateRoutingRule 操作期间可用 数值
apigateway:Request/RouteAuthorizationType 按授权类型筛选访问权限,例如 “无”、“自定义” AWS_IAM、“JWT”。在 CreateRoute 和 UpdateRoute 操作期间可用。在导入期间也可作为集合使用 ArrayOfString
apigateway:Request/RoutingMode 按域名的路由模式筛选访问权限。在 CreateDomainName 和 UpdateDomainName 操作期间可用 字符串
apigateway:Request/SecurityPolicy 按 TLS 版本筛选访问权限。在 CreateDomain 和 UpdateDomain 操作期间可用 ArrayOfString
apigateway:Request/StageName 按您尝试创建的部署的阶段名称筛选访问权限。在 CreateDeployment 手术期间可用 字符串
apigateway:Resource/AccessLoggingDestination 按当前 Stage 资源的访问日志目标筛选访问权限。在 UpdateStage 和 DeleteStage 操作期间可用 字符串
apigateway:Resource/AccessLoggingFormat 按当前 Stage 资源的访问日志格式筛选访问权限。在 UpdateStage 和 DeleteStage 操作期间可用 字符串
apigateway:Resource/ApiKeyRequired 按现有 Route 资源的 API 密钥的要求筛选访问。在 UpdateRoute 和 DeleteRoute 操作期间可用。在重新导入期间也可作为集合使用 ArrayOfBool
apigateway:Resource/ApiName 按 API 名称筛选访问权限。在 UpdateApi 和 DeleteApi 操作期间可用 字符串
apigateway:Resource/AuthorizerType 按授权者的当前类型筛选访问权限,例如 REQUEST 或 JWT。在 UpdateAuthorizer 和 DeleteAuthorizer 操作期间可用。在导入和重新导入期间也可以 ArrayOfString ArrayOfString
apigateway:Resource/AuthorizerUri 按当前 API 相关联的当前 Lambda 授权者的 URI 筛选访问权限。在 UpdateAuthorizer 和期间可用 DeleteAuthorizer。在重新导入期间也可作为集合使用 ArrayOfString
apigateway:Resource/ConditionBasePaths 根据现有路由规则的条件定义的基本路径筛选访问权限。在 UpdateRoutingRule 和 DeleteRoutingRule 操作期间可用 ArrayOfString
apigateway:Resource/DisableExecuteApiEndpoint 按默认 execute-api 终端节点的状态筛选访问权限。在 UpdateApi 和 DeleteApi 操作期间可用 布尔型
apigateway:Resource/EndpointType 按终端节点类型筛选访问权限。在 UpdateDomainName、 DeleteDomainName UpdateApi、和 DeleteApi 操作期间可用 ArrayOfString
apigateway:Resource/MtlsTrustStoreUri 按用于双向 TLS 身份验证的 truststore 的 URI 筛选访问权限。在 UpdateDomainName 和 DeleteDomainName 操作期间可用 字符串
apigateway:Resource/MtlsTrustStoreVersion 按用于双向 TLS 身份验证的 truststore 的版本筛选访问权限。在 UpdateDomainName 和 DeleteDomainName 操作期间可用 字符串
apigateway:Resource/Priority 按现有路由规则的优先级筛选访问权限。在 UpdateRoutingRule 和 DeleteRoutingRule 操作期间可用 数值
apigateway:Resource/RouteAuthorizationType 按现有路径资源的授权类型筛选访问权限,例如 NONE AWS_IAM、CUSTOM。在 UpdateRoute 和 DeleteRoute 操作期间可用。在重新导入期间也可作为集合使用 ArrayOfString
apigateway:Resource/RoutingMode 按现有域名的路由模式筛选访问权限。在 UpdateDomainName 和 DeleteDomainName 操作期间可用 字符串
apigateway:Resource/SecurityPolicy 按 TLS 版本筛选访问权限。在 UpdateDomainName 和 DeleteDomainName 操作期间可用 ArrayOfString
aws:RequestTag/${TagKey} 根据在请求中是否具有标签键值对来筛选访问权限 字符串
aws:ResourceTag/${TagKey} 按附加到资源的标签键值对筛选操作 字符串
aws:TagKeys 根据在请求中是否具有标签键来筛选访问 ArrayOfString