Amazon SQS Access Policy Language 中明確拒絕與預設拒絕之間的關係 - Amazon Simple Queue Service

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

Amazon SQS Access Policy Language 中明確拒絕與預設拒絕之間的關係

如果 Amazon SQS政策未直接套用至請求,則請求會產生 預設拒絕。例如,如果使用者請求使用 Amazon 的許可,SQS但唯一適用於使用者的政策可以使用 DynamoDB ,則請求會導致預設拒絕

如果不符合陳述式中的條件,請求會產生預設拒絕。如果符合陳述式中的所有條件,則請求會根據政策中的元素值,產生Allow明確拒絕效果政策未指定不符合條件時要做什麼,所以該狀況下的預設結果是預設拒絕。例如,您想要阻止來自南極的請求。您撰寫政策 A1,僅允許非來自南極的請求。下圖說明 Amazon SQS政策。

政策 A1,其中包含等於允許的效果,如果請求不是來自南極洲,則包含等於 的條件。

如果使用者從美國傳送請求,則符合條件 (請求非來自南極),請求會產生允許。不過,如果使用者從南極傳送請求,便不符合條件,請求預設為預設拒絕。您可以撰寫政策 A2 以明確拒絕來自南極的請求,將結果變更為明確拒絕。下圖說明該政策。

政策 A2,其中包含等於拒絕的效果,如果請求來自南極洲,則條件等於 。

如果使用者從南極傳送請求,便符合條件,請求會產生明確拒絕

預設拒絕明確拒絕之間的差異很重要,因為允許可以覆寫前者,但不能覆寫後者。例如,政策 B 允許在 2010 年 6 月 1 日到達的請求。下圖比較結合此政策與政策 A1 和政策 A2。

案例 side-by-side1 和案例 2 之間的比較。

在案例 1,政策 A1 產生預設拒絕,而政策 B 產生允許,因為政策允許在 2010 年 6 月 1 日傳入的請求。政策 B 的允許會覆寫政策 A1 的預設拒絕,請求因此而被允許。

在案例 2,政策 B2 會產生明確拒絕,而政策 B 會產生允許。政策 A2 的明確拒絕會覆寫政策 B 的允許,請求因此而被拒絕。