使用 AWS IAM 访问分析器 - AWS 适用于 VS Code 的工具包

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AWS IAM 访问分析器

以下各部分介绍了如何在 AWS Toolkit for Visual Studio Code中执行 IAM 策略验证和自定义策略检查。有关更多详细信息,请参阅 AWS Identity and Access Management 用户指南中的以下主题:IAM Access Analyzer 策略验证和 I AM Access Analyzer 自定义策略检查

先决条件

要在 Toolkit 中使用 IAM 访问权限分析器策略检查,就必须先满足以下先决条件。

IAM 访问权限分析器策略检查

您可以使用对 CloudFormation 模板、Terraform 计划和 JSON 策略文档执行策略检查。 AWS Toolkit for Visual Studio Code您的检查结果可在 VS Code 问题面板中查看。下图显示的是 VS Code 问题面板

VS Code Problems Panel displaying security warnings and version recommendations.

IAM 访问权限分析器提供 4 种类型的检查:

  • 验证策略

  • CheckAccessNotGranted

  • CheckNoNewAccess

  • CheckNoPublicAccess

以下各部分介绍了如何运行每种类型的检查。

注意

在运行任何类型的检查之前,请配置您的 AWS 角色证书。支持的文件包括以下文档类型: CloudFormation 模板、Terraform 计划和 JSON 策略文档

文件路径引用通常由管理员或安全团队提供,可以是系统文件路径或 Amazon S3 存储桶 URI。要使用 Amazon S3 存储桶 URI,您的当前角色必须可以访问 Amazon S3 存储桶。

每次自定义策略检查都会产生费用。有关自定义策略检查定价的详细信息,请参阅 AWS IAM 访问权限分析器定价指南。

运行验证策略

验证策略检查(也称为策略验证)可根据 IAM 策略语法和 AWS 最佳实践验证您的策略。有关更多信息,请参阅AWS Identity and Access Management用户指南中的 IAM JSON 策略语言语法IAM 主题中的 AWS 安全最佳实践

  1. 在 VS Code 中,在 VS Code 编辑器中打开一个包含 AWS IAM 策略的支持文件。

  2. 要打开 IAM 访问权限分析器策略检查,请在 VS Code 编辑器中按下 CRTL+Shift+P 打开 VS Code 命令面板,搜索 IAM Policy Checks 并进行单击以打开 IAM 策略检查窗格。

  3. IAM 策略检查窗格中,从下拉菜单中选择您的文档类型。

  4. 验证策略部分,选择运行策略验证按钮以运行“验证策略”检查。

  5. 在 VS Code 的问题面板中,查看策略检查结果。

  6. 更新策略并重复此过程,重新运行“验证策略”检查,直到策略检查结果不再显示安全警告或错误。

正在跑步 CheckAccessNotGranted

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 策略的支持文件。

  2. 要打开 IAM 访问权限分析器策略检查,请在 VS Code 编辑器中按下 CRTL+Shift+P 打开 VS Code 命令面板,搜索 IAM Policy Checks 并进行单击以打开 IAM 策略检查窗格。

  3. IAM 策略检查窗格中,从下拉菜单中选择您的文档类型。

  4. 从 “自定义策略检查” 部分,选择CheckAccessNotGranted

  5. 在文本输入字段中,您可以输入以逗号分隔的列表,其中包含操作和资源。 ARNs必须至少提供一项操作或资源。

  6. 选择运行自定义策略检查按钮。

  7. 在 VS Code 的问题面板中,查看策略检查结果。自定义策略检查会返回 PASSFAIL 结果。

  8. 更新您的政策并重复此过程,重新运行 CheckAccessNotGranted 支票直到它返回PASS

正在跑步 CheckNoNewAccess

CheckNoNewAccess 是一项自定义策略检查,用于验证与参考策略相比,您的策略是否授予了新的访问权限。

  1. 在 VS Code 中,在 VS Code 编辑器中打开一个包含 AWS IAM 策略的支持文件。

  2. 要打开 IAM 访问权限分析器策略检查,请在 VS Code 编辑器中按下 CRTL+Shift+P 打开 VS Code 命令面板,搜索 IAM Policy Checks 并进行单击以打开 IAM 策略检查窗格。

  3. IAM 策略检查窗格中,从下拉菜单中选择您的文档类型。

  4. 从 “自定义策略检查” 部分,选择CheckNoNewAccess

  5. 输入引用 JSON 策略文档。或者,您也可以提供引用 JSON 策略文档的文件路径。

  6. 选择与您的引用文档类型相匹配的引用策略类型

  7. 选择运行自定义策略检查按钮。

  8. 在 VS Code 的问题面板中,查看策略检查结果。自定义策略检查会返回 PASSFAIL 结果。

  9. 更新您的政策并重复此过程,重新运行 CheckNoNewAccess 支票直到它返回PASS

正在跑步 CheckNoPublicAccess

CheckNoPublicAccess 是一项自定义策略检查,用于验证您的策略是否授予对模板中支持的资源类型的公共访问权限。

有关支持的资源类型的具体信息,请参阅cloudformation-iam-policy-validatorterraform-iam-policy-validator GitHub 存储库。

  1. 在 VS Code 中,在 VS Code 编辑器中打开一个包含 AWS IAM 策略的支持文件。

  2. 要打开 IAM 访问权限分析器策略检查,请在 VS Code 编辑器中按下 CRTL+Shift+P 打开 VS Code 命令面板,搜索 IAM Policy Checks 并进行单击以打开 IAM 策略检查窗格。

  3. IAM 策略检查窗格中,从下拉菜单中选择您的文档类型。

  4. 从 “自定义策略检查” 部分,选择CheckNoPublicAccess

  5. 选择运行自定义策略检查按钮。

  6. 在 VS Code 的问题面板中,查看策略检查结果。自定义策略检查会返回 PASSFAIL 结果。

  7. 更新您的政策并重复此过程,重新运行 CheckNoNewAccess 支票直到它返回PASS