Amazon API Gateway Management 的動作、資源和條件索引鍵 - 服務授權參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon API Gateway Management 的動作、資源和條件索引鍵

Amazon API Gateway Management (服務字首:apigateway) 提供下列服務特定的資源、動作和條件內容索引鍵,可用於 IAM 許可政策。

參考資料:

Amazon API Gateway Management 定義的動作

您可以在 IAM 政策陳述式的 Action元素中指定下列動作。使用政策來授予在 AWS中執行操作的許可。當您在政策中使用 動作時,通常會允許或拒絕存取具有相同名稱的 API 操作或 CLI 命令。不過,在某些情況下,單一動作可控制對多個操作的存取。或者,某些操作需要多種不同的動作。

「動作」資料表的資源類型欄會指出每個動作是否支援資源層級的許可。如果此欄沒有值,您必須在政策陳述式的 Resource 元素中指定政策適用的所有資源 ("*")。如果資料欄包含資源類型,則您可以在具有該動作的陳述式中指定該類型的 ARN。如果動作具有一或多個必要資源,呼叫者必須具有對這些資源使用動作的許可。表格中的必要資源會以星號 (*) 表示。如果您在 IAM 政策中使用 Resource元素限制資源存取,則必須為每個必要的資源類型包含 ARN 或模式。某些動作支援多種資源類型。如果資源類型是選用 (未顯示為必要),則您可以選擇使用其中一種選用資源類型。

「動作」資料表的條件索引鍵欄包含您可以在政策陳述式的 Condition 元素中指定的索引鍵。如需有關與服務資源相關聯之條件索引鍵的詳細資訊,請參閱「資源類型」資料表的條件索引鍵欄。

注意

資源條件索引鍵會列在資源類型資料表中。您可以在「動作」資料表的資源類型 (*必填) 欄中找到適用於動作的資源類型連結。「資源類型」資料表中的資源類型包括條件索引鍵欄,其中包含套用至「動作」資料表中動作的資源條件索引鍵。

如需下表各欄的詳細資訊,請參閱動作資料表

動作 描述 存取層級 資源類型 (*必填項目) 條件索引鍵 相依動作
AddCertificateToDomain 准許將相互 TLS 身分驗證的憑證新增至網域名稱。由於 m DomainName 的敏感性質,這是管理 TLS 資源的額外授權控制 許可管理

DomainName

DomainNames

DELETE 准許刪除特定資源 寫入

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 准許讀取特定資源 讀取

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 准許更新特定資源 寫入

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 准許建立特定資源 寫入

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 Gateway Management 定義的資源類型

下列資源類型由此服務定義,可用於 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 Gateway Management 的條件金鑰

Amazon API Gateway Management 定義下列條件索引鍵,可用於 IAM 政策的 Condition元素。您可以使用這些索引鍵來縮小套用政策陳述式的條件。如需下表各欄的詳細資訊,請參閱條件索引鍵表

若要檢視所有服務都可使用的全域條件鍵,請參閱可用全域條件鍵

條件索引鍵 描述 類型
apigateway:Request/AccessLoggingDestination 依存取記錄目標篩選存取權。在 CreateStage 和 UpdateStage 操作期間可用 字串
apigateway:Request/AccessLoggingFormat 依存取記錄格式篩選存取權。在 CreateStage 和 UpdateStage 操作期間可用 字串
apigateway:Request/ApiKeyRequired 依是否需要 API 金鑰來篩選存取權。在 CreateMethod 和 PutMethod 操作期間可用。在匯入和重新匯入期間也可用作集合 ArrayOfBool
apigateway:Request/ApiName 依 API 名稱篩選存取權。在 CreateRestApi 和 UpdateRestApi 操作期間可用 字串
apigateway:Request/AuthorizerType 依請求中的授權方類型篩選存取權,例如 TOKEN、REQUEST、JWT。在 CreateAuthorizer 和 UpdateAuthorizer 期間可用。在以 an ArrayOfString 匯入和重新匯入期間也可用 ArrayOfString
apigateway:Request/AuthorizerUri 依 Lambda 授權方函數的 URI 篩選存取權。在 CreateAuthorizer 和 UpdateAuthorizer 期間可用。在以 an ArrayOfString 匯入和重新匯入期間也可用 ArrayOfString
apigateway:Request/DisableExecuteApiEndpoint 依預設執行 API 端點的狀態篩選存取權。在 CreateRestApi 和 DeleteRestApi 操作期間可用 Bool
apigateway:Request/EndpointType 依端點類型篩選存取權。在 CreateDomainName、 UpdateDomainName、 CreateRestApi 和 UpdateRestApi 操作期間可用 ArrayOfString
apigateway:Request/MtlsTrustStoreUri 依用於相互 URI 身分驗證的信任存放區 TLS 篩選存取權。在 CreateDomainName 和 UpdateDomainName 操作期間可用 字串
apigateway:Request/MtlsTrustStoreVersion 依用於相互 TLS 身分驗證的信任存放區版本篩選存取權。在 CreateDomainName 和 UpdateDomainName 操作期間可用 字串
apigateway:Request/RouteAuthorizationType 依授權類型篩選存取權,例如 NONE、 AWS_IAM、CUSTOM、JWT、COGNITO_USER_POOLS。在 CreateMethod 和 PutMethod Word 操作期間可用 也可以在匯入期間作為集合使用 ArrayOfString
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 依現有方法資源是否需要 API 金鑰來篩選存取權。在 PutMethod 和 DeleteMethod 操作期間可用。在重新匯入期間也可用作集合 ArrayOfBool
apigateway:Resource/ApiName 依現有API 資源的 RestApi 名稱篩選存取權。在 UpdateRestApi 和 DeleteRestApi 操作期間可用 字串
apigateway:Resource/AuthorizerType 依目前的授權方類型篩選存取權,例如 TOKEN、REQUEST、JWT。在 UpdateAuthorizer 和 DeleteAuthorizer 操作期間可用。在重新匯入期間也可用為 a ArrayOfString ArrayOfString
apigateway:Resource/AuthorizerUri 依 Lambda 授權方函數的 URI 篩選存取權。在 UpdateAuthorizer 和 DeleteAuthorizer 操作期間可用。在重新匯入期間也可以作為 a ArrayOfString 使用 ArrayOfString
apigateway:Resource/DisableExecuteApiEndpoint 依目前 RestApi 資源的預設 execute-api 端點狀態篩選存取權。在 UpdateRestApi 和 DeleteRestApi 操作期間可用 Bool
apigateway:Resource/EndpointType 依端點類型篩選存取權。在 UpdateDomainName、 DeleteDomainName、 UpdateRestApi 和 DeleteRestApi 操作期間可用 ArrayOfString
apigateway:Resource/MtlsTrustStoreUri 依用於相互 URI 身分驗證的信任存放區 TLS 篩選存取權。在 UpdateDomainName 和 DeleteDomainName 操作期間可用 字串
apigateway:Resource/MtlsTrustStoreVersion 依用於相互 TLS 身分驗證的信任存放區版本篩選存取權。在 UpdateDomainName 和 DeleteDomainName 操作期間可用 字串
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} 依連接到資源的標籤篩選存取權 字串
aws:TagKeys 依請求中的標籤索引鍵篩選存取權 ArrayOfString