本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon API Gateway Management 的動作、資源和條件索引鍵
Amazon API Gateway Management (服務字首:apigateway
) 提供下列服務特定的資源、動作和條件內容索引鍵,可用於 IAM 許可政策。
參考資料:
-
了解如何設定此服務。
-
檢視此服務可用的 API 操作清單。
-
了解如何使用 IAM 許可政策來保護此服務及其資源。
主題
Amazon API Gateway Management 定義的動作
您可以在 IAM 政策陳述式的 Action
元素中指定下列動作。使用政策來授予在 AWS中執行操作的許可。當您在政策中使用 動作時,通常會允許或拒絕存取具有相同名稱的 API 操作或 CLI 命令。不過,在某些情況下,單一動作可控制對多個操作的存取。或者,某些操作需要多種不同的動作。
「動作」資料表的資源類型欄會指出每個動作是否支援資源層級的許可。如果此欄沒有值,您必須在政策陳述式的 Resource
元素中指定政策適用的所有資源 ("*")。如果資料欄包含資源類型,則您可以在具有該動作的陳述式中指定該類型的 ARN。如果動作具有一或多個必要資源,呼叫者必須具有對這些資源使用動作的許可。表格中的必要資源會以星號 (*) 表示。如果您在 IAM 政策中使用 Resource
元素限制資源存取,則必須為每個必要的資源類型包含 ARN 或模式。某些動作支援多種資源類型。如果資源類型是選用 (未顯示為必要),則您可以選擇使用其中一種選用資源類型。
「動作」資料表的條件索引鍵欄包含您可以在政策陳述式的 Condition
元素中指定的索引鍵。如需有關與服務資源相關聯之條件索引鍵的詳細資訊,請參閱「資源類型」資料表的條件索引鍵欄。
注意
資源條件索引鍵會列在資源類型資料表中。您可以在「動作」資料表的資源類型 (*必填) 欄中找到適用於動作的資源類型連結。「資源類型」資料表中的資源類型包括條件索引鍵欄,其中包含套用至「動作」資料表中動作的資源條件索引鍵。
如需下表各欄的詳細資訊,請參閱動作資料表。
動作 | 描述 | 存取層級 | 資源類型 (*必填項目) | 條件索引鍵 | 相依動作 |
---|---|---|---|---|---|
AddCertificateToDomain | 准許將相互 TLS 身分驗證的憑證新增至網域名稱。由於 m DomainName 的敏感性質,這是管理 TLS 資源的額外授權控制 | 許可管理 | |||
DELETE | 准許刪除特定資源 | 寫入 | |||
GET | 准許讀取特定資源 | 讀取 | |||
PATCH | 准許更新特定資源 | 寫入 | |||
POST | 准許建立特定資源 | 寫入 | |||
PUT | 准許更新特定資源 | 寫入 | |||
RemoveCertificateFromDomain | 准許從網域名稱移除相互 TLS 身分驗證的憑證。由於 m DomainName 的敏感性質,這是管理 TLS 資源的額外授權控制 | 許可管理 | |||
SetWebACL | 准許設定 WAF 存取控制清單 (ACL)。由於 WebAcl 的敏感性質,這是管理階段資源的額外授權控制 | 許可管理 | |||
UpdateRestApiPolicy | 准許管理 IAM 的 API 資源政策。由於資源政策的敏感性質,這是管理 API 的額外授權控制 | 許可管理 | |||
Amazon API Gateway Management 定義的資源類型
下列資源類型由此服務定義,可用於 IAM 許可政策陳述式的 Resource
元素。動作表格中的每個動作都代表可使用該動作指定的資源類型。資源類型也能定義您可以在政策中包含哪些條件索引鍵。這些索引鍵都會顯示在「資源類型」資料表的最後一欄。如需下表各欄的詳細資訊,請參閱資源類型資料表。
資源類型 | ARN | 條件索引鍵 |
---|---|---|
Account |
arn:${Partition}:apigateway:${Region}::/account
|
|
ApiKey |
arn:${Partition}:apigateway:${Region}::/apikeys/${ApiKeyId}
|
|
ApiKeys |
arn:${Partition}:apigateway:${Region}::/apikeys
|
|
Authorizer |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/authorizers/${AuthorizerId}
|
apigateway:Request/AuthorizerType apigateway:Request/AuthorizerUri apigateway:Resource/AuthorizerType |
Authorizers |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/authorizers
|
apigateway:Request/AuthorizerType |
BasePathMapping |
arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}/basepathmappings/${BasePath}
|
|
BasePathMappings |
arn:${Partition}:apigateway:${Region}::/domainnames/${DomainName}/basepathmappings
|
|
ClientCertificate |
arn:${Partition}:apigateway:${Region}::/clientcertificates/${ClientCertificateId}
|
|
ClientCertificates |
arn:${Partition}:apigateway:${Region}::/clientcertificates
|
|
Deployment |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/deployments/${DeploymentId}
|
|
Deployments |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/deployments
|
|
DocumentationPart |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/parts/${DocumentationPartId}
|
|
DocumentationParts |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/parts
|
|
DocumentationVersion |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/versions/${DocumentationVersionId}
|
|
DocumentationVersions |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/documentation/versions
|
|
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 |
DomainNames |
arn:${Partition}:apigateway:${Region}::/domainnames
|
apigateway:Request/EndpointType apigateway:Request/MtlsTrustStoreUri apigateway:Request/MtlsTrustStoreVersion |
GatewayResponse |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/gatewayresponses/${ResponseType}
|
|
GatewayResponses |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/gatewayresponses
|
|
Integration |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/integration
|
|
IntegrationResponse |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/integration/responses/${StatusCode}
|
|
Method |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}
|
apigateway:Request/ApiKeyRequired apigateway:Request/RouteAuthorizationType apigateway:Resource/ApiKeyRequired |
MethodResponse |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}/methods/${HttpMethodType}/responses/${StatusCode}
|
|
Model |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/models/${ModelName}
|
|
Models |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/models
|
|
RequestValidator |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/requestvalidators/${RequestValidatorId}
|
|
RequestValidators |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/requestvalidators
|
|
Resource |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources/${ResourceId}
|
|
Resources |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/resources
|
|
RestApi |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}
|
apigateway:Request/ApiKeyRequired apigateway:Request/AuthorizerType apigateway:Request/AuthorizerUri apigateway:Request/DisableExecuteApiEndpoint apigateway:Request/EndpointType apigateway:Request/RouteAuthorizationType apigateway:Resource/ApiKeyRequired apigateway:Resource/AuthorizerType apigateway:Resource/AuthorizerUri apigateway:Resource/DisableExecuteApiEndpoint apigateway:Resource/EndpointType |
RestApis |
arn:${Partition}:apigateway:${Region}::/restapis
|
apigateway:Request/ApiKeyRequired apigateway:Request/AuthorizerType apigateway:Request/AuthorizerUri apigateway:Request/DisableExecuteApiEndpoint apigateway:Request/EndpointType |
Sdk |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages/${StageName}/sdks/${SdkType}
|
|
Stage |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages/${StageName}
|
apigateway:Request/AccessLoggingDestination apigateway:Request/AccessLoggingFormat apigateway:Resource/AccessLoggingDestination |
Stages |
arn:${Partition}:apigateway:${Region}::/restapis/${RestApiId}/stages
|
apigateway:Request/AccessLoggingDestination |
Template |
arn:${Partition}:apigateway:${Region}::/restapis/models/${ModelName}/template
|
|
UsagePlan |
arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}
|
|
UsagePlans |
arn:${Partition}:apigateway:${Region}::/usageplans
|
|
UsagePlanKey |
arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}/keys/${Id}
|
|
UsagePlanKeys |
arn:${Partition}:apigateway:${Region}::/usageplans/${UsagePlanId}/keys
|
|
VpcLink |
arn:${Partition}:apigateway:${Region}::/vpclinks/${VpcLinkId}
|
|
VpcLinks |
arn:${Partition}:apigateway:${Region}::/vpclinks
|
|
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 |