Amazon API Gateway 的存取原則語言概觀
本頁說明 Amazon API Gateway 資源政策中使用的基本元素。
資源政策是使用與 IAM 政策相同的語法來進行指定。如需完整的政策語言資訊,請參閱 IAM 使用者指南中的 IAM 政策概觀和 AWS Identity and Access Management 政策參考。
如需有關 AWS 服務如何決定是否應該允許或拒絕特定要求的詳細資訊,請參閱決定是否允許或拒絕要求。
存取政策中的常用元素
就其最基本意義而言,資源政策包含下列元素:
-
資源 – API 是您可允許或拒絕許可的 Amazon API Gateway 資源。在政策中,您可以使用 Amazon Resource Name (ARN) 來識別資源。您也可以使用縮寫語法,當您儲存資源政策時,API Gateway 語法會自動將它展開為完整 ARN。如需進一步了解,請參閱API Gateway 資源政策範例。
如需完整
Resource
元素的格式,請參閱在 API Gateway 中執行 API 之許可的資源格式。 -
動作 - 針對每個資源,Amazon API Gateway 皆支援一組操作。您可使用動作關鍵字,來識別允許 (或拒絕) 資源操作。
例如,
execute-api:Invoke
許可讓使用者在使用者請求時有權叫用 API。如需
Action
元素的格式,請參閱 在 API Gateway 中執行 API 之許可的動作格式。 -
效果 - 當使用者請求特定動作時會有什麼效果,它可以是
Allow
或Deny
。您也可以明確拒絕存取資源,您可能會這樣做,以確保使用者無法存取資源,即使另有其他政策授予存取。注意
「隱含拒絕」與「預設拒絕」是相同的。
「隱含拒絕」與「明確拒絕」不同。如需詳細資訊,請參閱預設拒絕與明確拒絕間的差異。
-
委託人 - 允許存取陳述式中動作與資源的帳戶或使用者。在資源政策中,委託人是接收此許可的使用者或帳戶。
下列範例資源政策會顯示先前的常用政策元素。此政策會將指定區域
中指定 account-id
下 API 的存取權,授與其來源 IP 地址是在地址區塊 123.4.5.6/24
中的任何使用者。如果使用者的來源 IP 不在範圍內,則政策會拒絕所有對 API 的存取。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:
region
:account-id
:*" }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:region
:account-id
:*", "Condition": { "NotIpAddress": { "aws:SourceIp": "123.4.5.6/24
" } } } ] }