Repolode
aws-samples

aws-samples/sample-cloudwatch-logs-iam-policy-validator

一个 Python 脚本,用于模拟 IAM 策略对 CloudWatch Logs 操作的授权,检查其能否适配标准日志组 ARN 格式。

Star
5
Fork
2
未关闭 Issue
2
最近提交
上个月

这是什么?

该脚本针对每个 CloudWatch Logs API 操作,同时检查日志组和日志流两种 ARN 格式下 IAM 策略的授权结果。它为每个操作调用 aws iam simulate-custom-policy,并输出表格,显示各操作是被允许还是被隐式拒绝。

它服务于一个具体的迁移场景:CloudWatch Logs 正在对 IAM 授权强制使用标准日志组 ARN 格式(不带结尾的 :*)。强制生效后,使用旧格式编写的策略将不再作用于日志组级别的操作。在此之前运行脚本,可以看出策略仍授予了哪些操作,哪些需要更新 Resource 元素。

脚本接收本地 JSON 策略文件和日志组名称,并可选指定区域、账户 ID 以及分区(aws、aws-cn 或 aws-us-gov)。运行需要 Python 3.8 及以上、AWS CLI v2,以及 iam:SimulateCustomPolicy 权限。

核心功能

  • 01针对每个 CloudWatch Logs 操作,分别模拟日志组和日志流 ARN 下的 IAM 策略授权。
  • 02输出逐操作的结果表,显示 allowed 或 implicitDeny。
  • 03支持 aws、aws-cn 和 aws-us-gov 分区。
  • 04区域和账户 ID 可从环境变量或 AWS CLI 默认配置中获取。

适用场景

  • 在标准 ARN 格式强制生效前,检查现有 IAM 策略是否仍授予日志组操作权限。
  • 更新使用带结尾 :* 旧版日志组 ARN 的策略语句中的 Resource 元素。
  • 验证中国区或 GovCloud 账户中的 CloudWatch Logs 权限。

快速上手

  1. 1

    将 IAM 策略文档保存为本地 JSON 文件

  2. 2

    使用策略文件和日志组名称运行脚本

    python3 simulate_cloudwatch_logs_policy.py policy.json MyLogGroup --region us-east-1 --account-id 123456789012

使用前须知

  • 需要已安装并完成身份验证的 AWS CLI v2,并具有 iam:SimulateCustomPolicy 权限。

标签

#aws#iam#cloudwatch-logs#policy-validation#python#cloud-security

常见问题

sample-cloudwatch-logs-iam-policy-validator 是什么?
一个 Python 脚本,用于模拟 IAM 策略对 CloudWatch Logs 操作的授权,检查其能否适配标准日志组 ARN 格式。 该脚本针对每个 CloudWatch Logs API 操作,同时检查日志组和日志流两种 ARN 格式下 IAM 策略的授权结果。它为每个操作调用 aws iam simulate-custom-policy,并输出表格,显示各操作是被允许还是被隐式拒绝。
sample-cloudwatch-logs-iam-policy-validator 可以免费使用吗?用的什么许可证?
sample-cloudwatch-logs-iam-policy-validator 以 MIT-0 许可证开源。用于商业产品前,请先确认许可证条款。
sample-cloudwatch-logs-iam-policy-validator 还在维护吗?
半年内有更新。sample-cloudwatch-logs-iam-policy-validator 最近一次提交是在 2026年9月24日。
sample-cloudwatch-logs-iam-policy-validator 适合用来做什么?
在标准 ARN 格式强制生效前,检查现有 IAM 策略是否仍授予日志组操作权限。 更新使用带结尾 :* 旧版日志组 ARN 的策略语句中的 Resource 元素。 验证中国区或 GovCloud 账户中的 CloudWatch Logs 权限。
sample-cloudwatch-logs-iam-policy-validator 怎么安装和运行?
将 IAM 策略文档保存为本地 JSON 文件 使用策略文件和日志组名称运行脚本: python3 simulate_cloudwatch_logs_policy.py policy.json MyLogGroup --region us-east-1 --account-id 123456789012
在哪里获取 sample-cloudwatch-logs-iam-policy-validator?
源代码和安装说明在 GitHub 上:https://github.com/aws-samples/sample-cloudwatch-logs-iam-policy-validator

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目