

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

# Amazon SQS 存取政策語言中明確拒絕和預設拒絕之間的關係
<a name="sqs-creating-custom-policies-relationships-between-explicit-default-denials"></a>

如果 Amazon SQS 政策無法直接套用至請求，請求會產生 *[預設拒絕](sqs-creating-custom-policies-key-concepts.md#default-deny)*。例如，如果使用者請求使用 Amazon SQS 的許可，但套用至該使用者的唯一政策是可以使用 DynamoDB，則請求會產生**預設拒絕**。

如果不符合陳述式中的條件，請求會產生**預設拒絕**。如果符合陳述式中的所有條件，則請求會根據政策中的*元素值，產生[Allow](sqs-creating-custom-policies-key-concepts.md#allow)**或[明確拒絕](sqs-creating-custom-policies-key-concepts.md#explicit-deny)。**[效果](sqs-creating-custom-policies-key-concepts.md#effect)*政策未指定不符合條件時要做什麼，所以該狀況下的預設結果是**預設拒絕**。例如，您想要阻止來自南極的請求。您撰寫政策 A1，僅允許非來自南極的請求。下圖說明 Amazon SQS 政策。

![政策 A1，其中包含等於允許的效果，如果請求不是來自南極，則包含等於 的條件。](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-allow-request-if-not-from-antarctica.png)


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

![政策 A2，其中包含等於拒絕的效果，如果請求來自南極，則包含等於 的條件。](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-explicitly-deny-request-if-from-antarctica.png)


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

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

![案例 1 和案例 2 之間的side-by-side比較。](http://docs.aws.amazon.com/zh_tw/AWSSimpleQueueService/latest/SQSDeveloperGuide/images/sqs-security-custom-policy-compare-allow-request-deny-request-policies-override.png)


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

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