本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS IAM 访问分析器
以下各部分介绍了如何在 AWS Toolkit for Visual Studio Code中执行 IAM 策略验证和自定义策略检查。有关更多详细信息,请参阅 AWS Identity and Access Management 用户指南中的以下主题:IAM Access Analyzer 策略验证和 I AM Access Analyzer 自定义策略检查。
先决条件
要在 Toolkit 中使用 IAM 访问权限分析器策略检查,就必须先满足以下先决条件。
安装 Python 版本 3.6 或更高版本。
安装适用于 CloudFormation的 IAM 策略验证器
或适用于 Terraform 的 IAM 策略验证器 ,这是 Python CLI 工具所必需的,并在“IAM 策略检查”窗口中指定。 配置您的 AWS 角色证书。
IAM 访问权限分析器策略检查
您可以使用对 CloudFormation 模板、Terraform 计划和 JSON 策略文档执行策略检查。 AWS Toolkit for Visual Studio Code您的检查结果可在 VS Code 问题面板中查看。下图显示的是 VS Code 问题面板。
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 安全最佳实践。
在 VS Code 中,在 VS Code 编辑器中打开一个包含 AWS IAM 策略的支持文件。
要打开 IAM 访问权限分析器策略检查,请在 VS Code 编辑器中按下
CRTL+Shift+P打开 VS Code 命令面板,搜索IAM Policy Checks并进行单击以打开 IAM 策略检查窗格。在 IAM 策略检查窗格中,从下拉菜单中选择您的文档类型。
从验证策略部分,选择运行策略验证按钮以运行“验证策略”检查。
在 VS Code 的问题面板中,查看策略检查结果。
更新策略并重复此过程,重新运行“验证策略”检查,直到策略检查结果不再显示安全警告或错误。
正在跑步 CheckAccessNotGranted
CheckAccessNotGranted 是一项自定义策略检查,用于验证您的策略是否不允许特定 IAM 操作。
注意
文件路径引用通常由管理员或安全团队提供,可以是系统文件路径或 Amazon S3 存储桶 URI。要使用 Amazon S3 存储桶 URI,您的当前角色必须可以访问 Amazon S3 存储桶。必须至少指定一个操作或资源,并且文件结构应遵循以下示例:
{"actions": ["action1", "action2", "action3"], "resources": ["resource1", "resource2", "resource3"]}
在 VS Code 中,在 VS Code 编辑器中打开一个包含 AWS IAM 策略的支持文件。
要打开 IAM 访问权限分析器策略检查,请在 VS Code 编辑器中按下
CRTL+Shift+P打开 VS Code 命令面板,搜索IAM Policy Checks并进行单击以打开 IAM 策略检查窗格。在 IAM 策略检查窗格中,从下拉菜单中选择您的文档类型。
从 “自定义策略检查” 部分,选择CheckAccessNotGranted。
在文本输入字段中,您可以输入以逗号分隔的列表,其中包含操作和资源。 ARNs必须至少提供一项操作或资源。
选择运行自定义策略检查按钮。
在 VS Code 的问题面板中,查看策略检查结果。自定义策略检查会返回
PASS或FAIL结果。更新您的政策并重复此过程,重新运行 CheckAccessNotGranted 支票直到它返回
PASS。
正在跑步 CheckNoNewAccess
CheckNoNewAccess 是一项自定义策略检查,用于验证与参考策略相比,您的策略是否授予了新的访问权限。
在 VS Code 中,在 VS Code 编辑器中打开一个包含 AWS IAM 策略的支持文件。
要打开 IAM 访问权限分析器策略检查,请在 VS Code 编辑器中按下
CRTL+Shift+P打开 VS Code 命令面板,搜索IAM Policy Checks并进行单击以打开 IAM 策略检查窗格。在 IAM 策略检查窗格中,从下拉菜单中选择您的文档类型。
从 “自定义策略检查” 部分,选择CheckNoNewAccess。
输入引用 JSON 策略文档。或者,您也可以提供引用 JSON 策略文档的文件路径。
选择与您的引用文档类型相匹配的引用策略类型。
选择运行自定义策略检查按钮。
在 VS Code 的问题面板中,查看策略检查结果。自定义策略检查会返回
PASS或FAIL结果。更新您的政策并重复此过程,重新运行 CheckNoNewAccess 支票直到它返回
PASS。
正在跑步 CheckNoPublicAccess
CheckNoPublicAccess 是一项自定义策略检查,用于验证您的策略是否授予对模板中支持的资源类型的公共访问权限。
有关支持的资源类型的具体信息,请参阅cloudformation-iam-policy-validator
在 VS Code 中,在 VS Code 编辑器中打开一个包含 AWS IAM 策略的支持文件。
要打开 IAM 访问权限分析器策略检查,请在 VS Code 编辑器中按下
CRTL+Shift+P打开 VS Code 命令面板,搜索IAM Policy Checks并进行单击以打开 IAM 策略检查窗格。在 IAM 策略检查窗格中,从下拉菜单中选择您的文档类型。
从 “自定义策略检查” 部分,选择CheckNoPublicAccess。
选择运行自定义策略检查按钮。
在 VS Code 的问题面板中,查看策略检查结果。自定义策略检查会返回
PASS或FAIL结果。更新您的政策并重复此过程,重新运行 CheckNoNewAccess 支票直到它返回
PASS。