

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

# IAM JSON 政策元素：NotAction
<a name="reference_policies_elements_notaction"></a>

`NotAction` 是進階政策元素，明確符合「除了」**指定的動作清單外的所有內容。使用 `NotAction` 可以透過僅列出一些不相符的動作來產生較短的政策，而不是包括相符的長動作清單。在 `NotAction` 中指定的動作不受政策陳述式中的 `Allow` 或 `Deny` 效果的影響。反之，這表示如果使用 `Allow` 效果，則允許未列出的所有適用動作或服務。此外，如果您使用 `Deny` 效果，則會拒絕此類未列出的動作或服務。將 `NotAction` 與 `Resource` 元素一起使用時，可以為政策提供範圍。這是 AWS 決定哪些動作或服務適用的方式。如需詳細資訊，請參閱下列範例政策。

**帶允許的 NotAction** 

您可以使用 陳述式中的 `NotAction`元素`"Effect": "Allow"`來提供 AWS 服務中所有動作的存取權，但 中指定的動作除外`NotAction`。您可以將其與 `Resource` 元素一起使用，以便為政策提供範圍，將允許的動作限制為可以對指定資源執行的動作。

以下範例可讓使用者存取*除了*刪除儲存貯體之外可在任何 S3 資源上執行的所有 Amazon S3 動作。此政策也不允許在其他服務中執行動作，因為其他服務動作不適用於 S3 資源。

```
"Effect": "Allow",
"NotAction": "s3:DeleteBucket",
"Resource": "arn:aws:s3:::*",
```

有時，您可能想要允許存取大量動作。透過使用 `NotAction` 元素，您可以有效地反轉陳述式，從而產生更短的動作清單。例如，因為 AWS 有這麼多的服務，您可能想要建立一個政策，允許使用者執行除存取 IAM 動作以外的一切。

下列範例允許使用者存取每個 AWS 服務中的每個動作，IAM 除外。

```
"Effect": "Allow",
"NotAction": "iam:*",
"Resource": "*"
```

在相同陳述式中或在政策中的不同陳述式小心使用 `NotAction` 元素和 `"Effect": "Allow"`。`NotAction` 符合未明確列出或適用於指定資源的所有服務和動作，並可能導致授予使用者比您預期更多的許可。

**帶拒絕的 NotAction**

您可以在陳述式中使用 `NotAction` 元素 `"Effect": "Deny"` 拒絕存取除 `NotAction` 元素中指定的動作之外的所有列出的資源。此組合不允許列出的項目，而是明確拒絕未列出的動作。您仍必須允許您要允許的動作。

如果使用者未使用 MFA 登入，則以下條件範例拒絕存取非 IAM 動作。如果使用者使用 MFA 登入，則 `"Condition"` 測試失敗，最終的 `"Deny"` 陳述式沒有影響。但請注意，這不會授予使用者存取任何動作的許可；它只會明確拒絕除 IAM 動作以外的所有其他動作。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "DenyAllUsersNotUsingMFA",
        "Effect": "Deny",
        "NotAction": "iam:*",
        "Resource": "*",
        "Condition": {"BoolIfExists": {"aws:MultiFactorAuthPresent": "false"}}
    }]
}
```

------

如需拒絕特定區域以外動作存取 (特定服務除外) 的範例政策，請參閱 [AWS： AWS 根據請求的區域拒絕對 的存取](reference_policies_examples_aws_deny-requested-region.md)。