Amazon API 网关管理的操作、资源和条件密钥 - 服务授权参考

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

Amazon API 网关管理的操作、资源和条件密钥

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

参考:

由 Amazon API Gateway 管理定义的操作

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

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

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

注意

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

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

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
AddCertificateToDomain 授予向域名添加用于相互TLS身份验证的证书的权限。由于 m 的敏感性质,这是用于管理 DomainName 资源的额外授权控件 TLS 权限管理

DomainName

DomainNames

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

ApiKey

Authorizer

BasePathMapping

ClientCertificate

Deployment

DocumentationPart

DocumentationVersion

DomainName

GatewayResponse

Integration

IntegrationResponse

Method

MethodResponse

Model

RequestValidator

Resource

RestApi

Stage

Tags

Template

UsagePlan

UsagePlanKey

VpcLink

aws:RequestTag/${TagKey}

aws:TagKeys

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

Account

ApiKey

ApiKeys

Authorizer

Authorizers

BasePathMapping

BasePathMappings

ClientCertificate

ClientCertificates

Deployment

Deployments

DocumentationPart

DocumentationParts

DocumentationVersion

DocumentationVersions

DomainName

DomainNames

GatewayResponse

GatewayResponses

Integration

IntegrationResponse

Method

MethodResponse

Model

Models

RequestValidator

RequestValidators

Resource

Resources

RestApi

RestApis

Sdk

Stage

Stages

Tags

UsagePlan

UsagePlanKey

UsagePlanKeys

UsagePlans

VpcLink

VpcLinks

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

Account

ApiKey

Authorizer

BasePathMapping

ClientCertificate

Deployment

DocumentationPart

DocumentationVersion

DomainName

GatewayResponse

Integration

IntegrationResponse

Method

MethodResponse

Model

RequestValidator

Resource

RestApi

Stage

Template

UsagePlan

UsagePlanKey

VpcLink

aws:RequestTag/${TagKey}

aws:TagKeys

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

ApiKeys

Authorizers

BasePathMappings

ClientCertificates

Deployments

DocumentationParts

DocumentationVersions

DomainNames

GatewayResponses

IntegrationResponse

MethodResponse

Models

RequestValidators

Resources

RestApis

Stages

UsagePlanKeys

UsagePlans

VpcLinks

aws:RequestTag/${TagKey}

aws:TagKeys

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

DocumentationPart

GatewayResponse

IntegrationResponse

MethodResponse

RestApi

Tags

aws:RequestTag/${TagKey}

aws:TagKeys

RemoveCertificateFromDomain 授予从域名中删除双向TLS认证证书的权限。由于 m 的敏感性质,这是用于管理 DomainName 资源的额外授权控件 TLS 权限管理

DomainName

DomainNames

SetWebACL 授予设置WAF访问控制列表 (ACL) 的权限。这是一种用于管理舞台资源的额外授权控件, WebAcl这是因为的敏感性质 权限管理

Stage

Stages

UpdateRestApiPolicy 授予管理IAM资源策略的权限API。API由于资源策略的敏感性,这是一种用于管理的额外授权控制 权限管理

RestApi

RestApis

由 Amazon API 网关管理定义的资源类型

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

资源类型 ARN 条件键
Account arn:${Partition}:apigateway:${Region}::/account
ApiKey arn:${Partition}:apigateway:${Region}::/apikeys/${ApiKeyId}

aws:ResourceTag/${TagKey}

ApiKeys arn:${Partition}:apigateway:${Region}::/apikeys

aws:ResourceTag/${TagKey}

Authorizer arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/authorizers/${AuthorizerId}

apigateway:Request/AuthorizerType

apigateway:Request/AuthorizerUri

apigateway:Resource/AuthorizerType

apigateway:Resource/AuthorizerUri

aws:ResourceTag/${TagKey}

Authorizers arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/authorizers

apigateway:Request/AuthorizerType

apigateway:Request/AuthorizerUri

aws:ResourceTag/${TagKey}

BasePathMapping arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}/basepathmappings/${BasePath}

aws:ResourceTag/${TagKey}

BasePathMappings arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}/basepathmappings

aws:ResourceTag/${TagKey}

ClientCertificate arn:${Partition}:apigateway:${Region}::/clientcertificates/${ClientCertificateId}

aws:ResourceTag/${TagKey}

ClientCertificates arn:${Partition}:apigateway:${Region}::/clientcertificates

aws:ResourceTag/${TagKey}

Deployment arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/deployments/${DeploymentId}

aws:ResourceTag/${TagKey}

Deployments arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/deployments

apigateway:Request/StageName

aws:ResourceTag/${TagKey}

DocumentationPart arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/parts/${DocumentationPartId}

aws:ResourceTag/${TagKey}

DocumentationParts arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/parts

aws:ResourceTag/${TagKey}

DocumentationVersion arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/versions/${DocumentationVersionId}

aws:ResourceTag/${TagKey}

DocumentationVersions arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/versions

aws:ResourceTag/${TagKey}

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

apigateway:Request/EndpointType

apigateway:Request/MtlsTrustStoreUri

apigateway:Request/MtlsTrustStoreVersion

apigateway:Request/SecurityPolicy

apigateway:Resource/EndpointType

apigateway:Resource/MtlsTrustStoreUri

apigateway:Resource/MtlsTrustStoreVersion

apigateway:Resource/SecurityPolicy

aws:ResourceTag/${TagKey}

DomainNames arn:${Partition}:apigateway:${Region}::/domainnames

apigateway:Request/EndpointType

apigateway:Request/MtlsTrustStoreUri

apigateway:Request/MtlsTrustStoreVersion

apigateway:Request/SecurityPolicy

aws:ResourceTag/${TagKey}

GatewayResponse arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/gatewayresponses/${ResponseType}

aws:ResourceTag/${TagKey}

GatewayResponses arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/gatewayresponses

aws:ResourceTag/${TagKey}

Integration arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/integration

aws:ResourceTag/${TagKey}

IntegrationResponse arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/integration/responses/${StatusCode}

aws:ResourceTag/${TagKey}

Method arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}

apigateway:Request/ApiKeyRequired

apigateway:Request/RouteAuthorizationType

apigateway:Resource/ApiKeyRequired

apigateway:Resource/RouteAuthorizationType

aws:ResourceTag/${TagKey}

MethodResponse arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/responses/${StatusCode}

aws:ResourceTag/${TagKey}

Model arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/models/${ModelName}

aws:ResourceTag/${TagKey}

Models arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/models

aws:ResourceTag/${TagKey}

RequestValidator arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/requestvalidators/${RequestValidatorId}

aws:ResourceTag/${TagKey}

RequestValidators arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/requestvalidators

aws:ResourceTag/${TagKey}

Resource arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}

aws:ResourceTag/${TagKey}

Resources arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources

aws:ResourceTag/${TagKey}

RestApi arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}

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}

RestApis arn:${Partition}:apigateway:${Region}::/restapis

apigateway:Request/ApiKeyRequired

apigateway:Request/ApiName

apigateway:Request/AuthorizerType

apigateway:Request/AuthorizerUri

apigateway:Request/DisableExecuteApiEndpoint

apigateway:Request/EndpointType

apigateway:Request/RouteAuthorizationType

aws:ResourceTag/${TagKey}

Sdk arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages/${StageName}/sdks/${SdkType}

aws:ResourceTag/${TagKey}

Stage arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages/${StageName}

apigateway:Request/AccessLoggingDestination

apigateway:Request/AccessLoggingFormat

apigateway:Resource/AccessLoggingDestination

apigateway:Resource/AccessLoggingFormat

aws:ResourceTag/${TagKey}

Stages arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages

apigateway:Request/AccessLoggingDestination

apigateway:Request/AccessLoggingFormat

aws:ResourceTag/${TagKey}

Template arn:${Partition}:apigateway:${Region}::/restapis/models/${ModelName}/template

aws:ResourceTag/${TagKey}

UsagePlan arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}

aws:ResourceTag/${TagKey}

UsagePlans arn:${Partition}:apigateway:${Region}::/usageplans

aws:ResourceTag/${TagKey}

UsagePlanKey arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}/keys/${Id}

aws:ResourceTag/${TagKey}

UsagePlanKeys arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}/keys

aws:ResourceTag/${TagKey}

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

aws:ResourceTag/${TagKey}

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

aws:ResourceTag/${TagKey}

Tags arn:${Partition}:apigateway:${Region}::/tags/${UrlEncodedResourceARN}

Amazon API 网关管理的条件密钥

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

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

条件键 描述 类型
apigateway:Request/AccessLoggingDestination 按访问日志目标筛选访问权限。在 CreateStage 和 UpdateStage 操作期间可用 String
apigateway:Request/AccessLoggingFormat 按访问日志格式筛选访问权限。在 CreateStage 和 UpdateStage 操作期间可用 String
apigateway:Request/ApiKeyRequired 根据是否需要密API钥来筛选访问权限。在 CreateMethod 和 PutMethod 操作期间可用。在导入和重新导入期间也可作为集合使用 ArrayOfBool
apigateway:Request/ApiName 按API名称筛选访问权限。在 CreateRestApi 和 UpdateRestApi 操作期间可用 String
apigateway:Request/AuthorizerType 按请求中的授权者类型筛选访问权限,例如 TOKENREQUEST,JWT。在 CreateAuthorizer 和期间可用 UpdateAuthorizer。在导入和重新导入期间也可以 ArrayOfString ArrayOfString
apigateway:Request/AuthorizerUri 筛选 Lambda 授权URI方函数的访问权限。在 CreateAuthorizer 和期间可用 UpdateAuthorizer。在导入和重新导入期间也可以 ArrayOfString ArrayOfString
apigateway:Request/DisableExecuteApiEndpoint 按默认 execute-api 终端节点的状态筛选访问权限。在 CreateRestApi 和 DeleteRestApi 操作期间可用 布尔型
apigateway:Request/EndpointType 按终端节点类型筛选访问权限。在 CreateDomainName、 UpdateDomainName CreateRestApi、和 UpdateRestApi 操作期间可用 ArrayOfString
apigateway:Request/MtlsTrustStoreUri 筛选用于相互TLS身份验证URI的信任库的访问权限。在 CreateDomainName 和 UpdateDomainName 操作期间可用 String
apigateway:Request/MtlsTrustStoreVersion 按用于相互TLS身份验证的信任库版本筛选访问权限。在 CreateDomainName 和 UpdateDomainName 操作期间可用 String
apigateway:Request/RouteAuthorizationType 按授权类型筛选访问权限NONE,例如 AWS_IAM、CUSTOMJWT、、COGNITO USER _ POOLS。在 CreateMethod 和 PutMethod 操作期间可用也可在导入期间作为集合使用 ArrayOfString
apigateway:Request/SecurityPolicy 按TLS版本筛选访问权限。在 CreateDomain 和 UpdateDomain 操作期间可用 ArrayOfString
apigateway:Request/StageName 按您尝试创建的部署的阶段名称筛选访问权限。 CreateDeployment 手术期间可用 String
apigateway:Resource/AccessLoggingDestination 按当前 Stage 资源的访问日志目标筛选访问权限。在 UpdateStage 和 DeleteStage 操作期间可用 String
apigateway:Resource/AccessLoggingFormat 按当前 Stage 资源的访问日志格式筛选访问权限。在 UpdateStage 和 DeleteStage 操作期间可用 String
apigateway:Resource/ApiKeyRequired 根据现有方法资源是否需要API密钥来筛选访问权限。在 PutMethod 和 DeleteMethod 操作期间可用。在重新导入期间也可作为集合使用 ArrayOfBool
apigateway:Resource/ApiName 按现有 RestApi 资源的API名称筛选访问权限。在 UpdateRestApi 和 DeleteRestApi 操作期间可用 String
apigateway:Resource/AuthorizerType 按当前类型的授权者筛选访问权限,例如 TOKENREQUEST,JWT。在 UpdateAuthorizer 和 DeleteAuthorizer 操作期间可用。在重新导入期间也可以作为 ArrayOfString ArrayOfString
apigateway:Resource/AuthorizerUri 筛选 Lambda 授权URI方函数的访问权限。在 UpdateAuthorizer 和 DeleteAuthorizer 操作期间可用。在重新导入期间也可以作为 ArrayOfString ArrayOfString
apigateway:Resource/DisableExecuteApiEndpoint 按当前 RestApi 资源的默认 execute-api 端点的状态筛选访问权限。在 UpdateRestApi 和 DeleteRestApi 操作期间可用 布尔型
apigateway:Resource/EndpointType 按终端节点类型筛选访问权限。在 UpdateDomainName、 DeleteDomainName UpdateRestApi、和 DeleteRestApi 操作期间可用 ArrayOfString
apigateway:Resource/MtlsTrustStoreUri 筛选用于相互TLS身份验证URI的信任库的访问权限。在 UpdateDomainName 和 DeleteDomainName 操作期间可用 String
apigateway:Resource/MtlsTrustStoreVersion 按用于相互TLS身份验证的信任库版本筛选访问权限。在 UpdateDomainName 和 DeleteDomainName 操作期间可用 String
apigateway:Resource/RouteAuthorizationType 按现有方法资源的授权类型筛选访问权限,例如NONE AWS_IAM、CUSTOM、JWT、COGNITO USER _ POOLS。在 PutMethod 和 DeleteMethod 操作期间可用。在重新导入期间也可作为集合使用 ArrayOfString
apigateway:Resource/SecurityPolicy 按TLS版本筛选访问权限。在 UpdateDomain 和 DeleteDomain 操作期间可用 ArrayOfString
aws:RequestTag/${TagKey} 按请求中的标签键值对筛选访问 字符串
aws:ResourceTag/${TagKey} 按附加到资源的标签筛选访问 String
aws:TagKeys 按请求中的标签键筛选访问权限 ArrayOfString