

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

# AWS IAM Access Analyzer
<a name="iam-access-analyzer"></a>

您可以使用 中的 [AWS IAM Access Analyzer，對範本、Terraform 計劃和 JSON 政策文件中撰寫的 IAM 政策執行 Identity and Access Management (IAM)](https://aws.amazon.com/iam/access-analyzer/) Access Analyzer 政策檢查 AWS Toolkit for Visual Studio Code。 CloudFormation 

IAM Access Analyzer 政策檢查包括政策驗證和自訂政策檢查。政策驗證可協助根據《 使用者指南》中 IAM [JSON 政策語言的語法和 IAM 主題中的安全最佳實務中詳述的標準驗證 IAM 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html)*AWS Identity and Access Management*。 AWS [https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)您的政策驗證調查結果包括安全警告、錯誤、一般警告和政策建議。

您也可以根據您的安全標準，針對新存取執行自訂政策檢查。每個自訂政策檢查是否有新存取都會產生費用。如需定價的詳細資訊，請參閱 [AWS IAM Access Analyzer 定價](https://aws.amazon.com/iam/access-analyzer/pricing/)網站。如需 IAM Access Analyzer 政策檢查的詳細資訊，請參閱*AWS Identity and Access Management*《 使用者指南》中的[驗證政策的檢查](https://docs.aws.amazon.com//IAM/latest/UserGuide/access-analyzer-checks-validating-policies.html)主題。

下列主題說明如何在 中使用 IAM Access Analyzer 政策檢查 AWS Toolkit for Visual Studio Code。

**Topics**
+ [使用 AWS IAM Access Analyzer](iam-access-analyzer-overview.md)

# 使用 AWS IAM Access Analyzer
<a name="iam-access-analyzer-overview"></a>

下列各節說明如何在 中執行 IAM 政策驗證和自訂政策檢查 AWS Toolkit for Visual Studio Code。如需其他詳細資訊，請參閱 AWS Identity and Access Management 《 使用者指南》中的下列主題：[IAM Access Analyzer 政策驗證](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)和 [IAM Access Analyzer 自訂政策檢查](https://docs.aws.amazon.com//IAM/latest/UserGuide/access-analyzer-custom-policy-checks.html)。

## 先決條件
<a name="w2aac17c39c13b5"></a>

您必須先符合下列先決條件，才能從 Toolkit 使用 IAM Access Analyzer 政策檢查。
+ 安裝 Python 3.6 版或更新版本。
+ 安裝 Python CLI 工具所需的適用於 [的 IAM 政策驗證器 CloudFormation](https://github.com/awslabs/aws-cloudformation-iam-policy-validator)或[適用於 Terraform 的 IAM 政策驗證器](https://github.com/awslabs/terraform-iam-policy-validator)，並在 IAM 政策檢查視窗中指定。
+ 設定您的 AWS 角色登入資料。

## IAM Access Analyzer 政策檢查
<a name="w2aac17c39c13b7"></a>

您可以使用 對 CloudFormation 範本、Terraform 計劃和 JSON 政策文件執行政策檢查 AWS Toolkit for Visual Studio Code。您可以在 VS 程式碼**問題面板**中檢視您的檢查問題清單。下圖顯示 VS **程式碼問題面板**。

![\[VS Code Problems Panel displaying security warnings and version recommendations.\]](http://docs.aws.amazon.com/zh_tw/toolkit-for-vscode/latest/userguide/images/vscproblemspanel2024.png)


IAM Access Analyzer 提供 4 種類型的檢查：
+ 驗證政策
+ CheckAccessNotGranted
+ CheckNoNewAccess
+ CheckNoPublicAccess

下列各節說明如何執行每種類型的檢查。

**注意**  
在執行任何類型的檢查之前，請先設定您的 AWS 角色登入資料。支援的檔案包括下列文件類型： CloudFormation 範本、Terraform 計劃和 JSON 政策文件  
檔案路徑參考通常由管理員或安全團隊提供，可以是系統檔案路徑或 Amazon S3 儲存貯體 URI。若要使用 Amazon S3 儲存貯體 URI，您目前的角色必須能夠存取 Amazon S3 儲存貯體。  
每次自訂政策檢查都會收取費用。如需自訂政策檢查定價的詳細資訊，請參閱 [AWS IAM Access Analyzer 定價](https://aws.amazon.com/iam/access-analyzer/pricing/)指南。

### 執行驗證政策
<a name="w2aac17c39c13b7c15"></a>

驗證政策檢查也稱為政策驗證，會根據 IAM 政策文法和 AWS 最佳實務來驗證您的政策。如需詳細資訊，請參閱《 *AWS Identity and Access Management*使用者指南》中的 [IAM JSON 政策語言的語法](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html)和 AWS [IAM 主題中的安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

1. 從 VS Code 中，在 VS Code 編輯器中開啟包含 AWS IAM 政策的支援檔案。

1. 若要開啟 IAM Access Analyzer 政策檢查，請按 開啟 VS Code Command Pallete**CRTL\$1Shift\$1P**、搜尋 **IAM Policy Checks**，然後按一下以在 VS Code 編輯器中開啟 **IAM 政策檢查**窗格。

1. 從 **IAM 政策檢查**窗格中，從下拉式選單中選取您的文件類型。

1. 從**驗證政策**區段中，選擇**執行政策驗證**按鈕來執行驗證政策檢查。

1. 在 VS 程式碼的問題**面板**中，檢閱您的政策檢查問題清單。

1. 更新您的政策並重複此程序，重新執行驗證政策檢查，直到您的政策檢查問題清單不再顯示安全警告或錯誤。

### 執行 CheckAccessNotGranted
<a name="w2aac17c39c13b7c17"></a>

CheckAccessNotGranted 是自訂政策檢查，確認您的政策不允許特定 IAM 動作。

**注意**  
檔案路徑參考通常由管理員或安全團隊提供，可以是系統檔案路徑或 Amazon S3 儲存貯體 URI。若要使用 Amazon S3 儲存貯體 URI，您目前的角色必須能夠存取 Amazon S3 儲存貯體。至少必須指定一個動作或資源，且檔案應在下列範例之後建構：  

```
              {"actions": ["action1", "action2", "action3"], "resources": ["resource1", "resource2", "resource3"]}
```

1. 從 VS Code 中，在 VS Code 編輯器中開啟包含 AWS IAM 政策的支援檔案。

1. 若要開啟 IAM Access Analyzer 政策檢查，請按 開啟 VS Code Command Pallete**CRTL\$1Shift\$1P**，搜尋 **IAM Policy Checks**，然後按一下 以在 VS Code 編輯器中開啟 **IAM 政策檢查**窗格。

1. 從 **IAM 政策檢查**窗格中，從下拉式選單中選取您的文件類型。

1. 從**自訂政策檢查**區段中，選取 **CheckAccessNotGranted**。

1. 在文字輸入欄位中，您可以輸入逗號分隔清單，其中包含動作和資源 ARNs。至少必須提供一個動作或資源。

1. 選擇**執行自訂政策檢查**按鈕。

1. 從 VS Code **中的問題面板**中，檢閱您的政策檢查問題清單。自訂政策檢查會傳回 `PASS`或 `FAIL`結果。

1. 更新您的政策並重複此程序，重新執行 CheckAccessNotGranted 檢查，直到傳回 為止`PASS`。

### 執行 CheckNoNewAccess
<a name="w2aac17c39c13b7c19"></a>

CheckNoNewAccess 是一種自訂政策檢查，以驗證您的政策是否授予與參考政策相比的新存取權。

1. 從 VS Code 中，在 VS Code 編輯器中開啟包含 AWS IAM 政策的支援檔案。

1. 若要開啟 IAM Access Analyzer 政策檢查，請按 開啟 VS Code Command Pallete**CRTL\$1Shift\$1P**，搜尋 **IAM Policy Checks**，然後按一下 以在 VS Code 編輯器中開啟 **IAM 政策檢查**窗格。

1. 從 **IAM 政策檢查**窗格中，從下拉式選單中選取您的文件類型。

1. 從**自訂政策檢查**區段中，選取 **CheckNoNewAccess**。

1. 輸入參考 JSON 政策文件。或者，您可以提供參考 JSON 政策文件的檔案路徑。

1. 選取符合您**參考文件類型的參考政策**類型。

1. 選擇**執行自訂政策檢查**按鈕。

1. 從 VS Code **中的問題面板**中，檢閱您的政策檢查問題清單。自訂政策檢查會傳回 `PASS`或 `FAIL`結果。

1. 更新您的政策並重複此程序，重新執行 CheckNoNewAccess 檢查，直到傳回 為止`PASS`。

### 執行 CheckNoPublicAccess
<a name="w2aac17c39c13b7c21"></a>

CheckNoPublicAccess 是一種自訂政策檢查，用於驗證您的政策是否授予範本中支援資源類型的公開存取權。

如需支援資源類型的特定資訊，請參閱 [cloudformation-iam-policy-validator](https://github.com/awslabs/aws-cloudformation-iam-policy-validator?tab=readme-ov-file#supported-resource-based-policies) 和 [terraform-iam-policy-validator](https://github.com/awslabs/terraform-iam-policy-validator) GitHub 儲存庫。

1. 從 VS Code 中，在 VS Code 編輯器中開啟包含 AWS IAM 政策的支援檔案。

1. 若要開啟 IAM Access Analyzer 政策檢查，請按 開啟 VS Code Command Pallete**CRTL\$1Shift\$1P**，搜尋 **IAM Policy Checks**，然後按一下 以在 VS Code 編輯器中開啟 **IAM 政策檢查**窗格。

1. 從 **IAM 政策檢查**窗格中，從下拉式選單中選取您的文件類型。

1. 從**自訂政策檢查**區段中，選取 **CheckNoPublicAccess**。

1. 選擇**執行自訂政策檢查**按鈕。

1. 從 VS Code **中的問題面板**中，檢閱您的政策檢查問題清單。自訂政策檢查會傳回 `PASS`或 `FAIL`結果。

1. 更新您的政策並重複此程序，重新執行 CheckNoNewAccess 檢查，直到傳回 為止`PASS`。