iam-policy-validator 1.1.2__tar.gz → 1.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (594) hide show
  1. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/.github/workflows/release.yml +30 -30
  2. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/DOCS.md +12 -3
  3. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/Makefile +10 -2
  4. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/PKG-INFO +176 -64
  5. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/README.md +175 -63
  6. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/action.yaml +131 -6
  7. iam_policy_validator-1.2.0/aws_services/_manifest.json +7 -0
  8. iam_policy_validator-1.2.0/aws_services/_services.json +1722 -0
  9. iam_policy_validator-1.2.0/aws_services/a2c.json +66 -0
  10. iam_policy_validator-1.2.0/aws_services/a4b.json +1945 -0
  11. iam_policy_validator-1.2.0/aws_services/access-analyzer.json +717 -0
  12. iam_policy_validator-1.2.0/aws_services/account.json +409 -0
  13. iam_policy_validator-1.2.0/aws_services/acm-pca.json +511 -0
  14. iam_policy_validator-1.2.0/aws_services/acm.json +401 -0
  15. iam_policy_validator-1.2.0/aws_services/action-recommendations.json +21 -0
  16. iam_policy_validator-1.2.0/aws_services/activate.json +126 -0
  17. iam_policy_validator-1.2.0/aws_services/aiops.json +694 -0
  18. iam_policy_validator-1.2.0/aws_services/airflow.json +301 -0
  19. iam_policy_validator-1.2.0/aws_services/amplify.json +917 -0
  20. iam_policy_validator-1.2.0/aws_services/amplifybackend.json +797 -0
  21. iam_policy_validator-1.2.0/aws_services/amplifyuibuilder.json +698 -0
  22. iam_policy_validator-1.2.0/aws_services/aoss.json +787 -0
  23. iam_policy_validator-1.2.0/aws_services/apigateway.json +1812 -0
  24. iam_policy_validator-1.2.0/aws_services/app-integrations.json +860 -0
  25. iam_policy_validator-1.2.0/aws_services/appconfig.json +1212 -0
  26. iam_policy_validator-1.2.0/aws_services/appfabric.json +691 -0
  27. iam_policy_validator-1.2.0/aws_services/appflow.json +671 -0
  28. iam_policy_validator-1.2.0/aws_services/application-autoscaling.json +337 -0
  29. iam_policy_validator-1.2.0/aws_services/application-signals.json +453 -0
  30. iam_policy_validator-1.2.0/aws_services/application-transformation.json +216 -0
  31. iam_policy_validator-1.2.0/aws_services/applicationinsights.json +543 -0
  32. iam_policy_validator-1.2.0/aws_services/appmesh-preview.json +855 -0
  33. iam_policy_validator-1.2.0/aws_services/appmesh.json +1045 -0
  34. iam_policy_validator-1.2.0/aws_services/apprunner.json +1057 -0
  35. iam_policy_validator-1.2.0/aws_services/appstream.json +1800 -0
  36. iam_policy_validator-1.2.0/aws_services/appstudio.json +101 -0
  37. iam_policy_validator-1.2.0/aws_services/appsync.json +1621 -0
  38. iam_policy_validator-1.2.0/aws_services/apptest.json +540 -0
  39. iam_policy_validator-1.2.0/aws_services/aps.json +1267 -0
  40. iam_policy_validator-1.2.0/aws_services/arc-region-switch.json +493 -0
  41. iam_policy_validator-1.2.0/aws_services/arc-zonal-shift.json +405 -0
  42. iam_policy_validator-1.2.0/aws_services/arsenal.json +21 -0
  43. iam_policy_validator-1.2.0/aws_services/artifact.json +299 -0
  44. iam_policy_validator-1.2.0/aws_services/athena.json +1600 -0
  45. iam_policy_validator-1.2.0/aws_services/auditmanager.json +1228 -0
  46. iam_policy_validator-1.2.0/aws_services/autoscaling-plans.json +96 -0
  47. iam_policy_validator-1.2.0/aws_services/autoscaling.json +1600 -0
  48. iam_policy_validator-1.2.0/aws_services/aws-marketplace-management.json +201 -0
  49. iam_policy_validator-1.2.0/aws_services/aws-marketplace.json +1031 -0
  50. iam_policy_validator-1.2.0/aws_services/aws-portal.json +141 -0
  51. iam_policy_validator-1.2.0/aws_services/awsconnector.json +51 -0
  52. iam_policy_validator-1.2.0/aws_services/b2bi.json +693 -0
  53. iam_policy_validator-1.2.0/aws_services/backup-gateway.json +606 -0
  54. iam_policy_validator-1.2.0/aws_services/backup-search.json +296 -0
  55. iam_policy_validator-1.2.0/aws_services/backup-storage.json +231 -0
  56. iam_policy_validator-1.2.0/aws_services/backup.json +2196 -0
  57. iam_policy_validator-1.2.0/aws_services/batch.json +1071 -0
  58. iam_policy_validator-1.2.0/aws_services/bcm-dashboards.json +162 -0
  59. iam_policy_validator-1.2.0/aws_services/bcm-data-exports.json +307 -0
  60. iam_policy_validator-1.2.0/aws_services/bcm-pricing-calculator.json +723 -0
  61. iam_policy_validator-1.2.0/aws_services/bcm-recommended-actions.json +21 -0
  62. iam_policy_validator-1.2.0/aws_services/bedrock-agentcore.json +2283 -0
  63. iam_policy_validator-1.2.0/aws_services/bedrock.json +5189 -0
  64. iam_policy_validator-1.2.0/aws_services/billing.json +570 -0
  65. iam_policy_validator-1.2.0/aws_services/billingconductor.json +729 -0
  66. iam_policy_validator-1.2.0/aws_services/braket.json +347 -0
  67. iam_policy_validator-1.2.0/aws_services/budgets.json +326 -0
  68. iam_policy_validator-1.2.0/aws_services/bugbust.json +421 -0
  69. iam_policy_validator-1.2.0/aws_services/cases.json +1053 -0
  70. iam_policy_validator-1.2.0/aws_services/cassandra.json +536 -0
  71. iam_policy_validator-1.2.0/aws_services/ce.json +1143 -0
  72. iam_policy_validator-1.2.0/aws_services/chatbot.json +772 -0
  73. iam_policy_validator-1.2.0/aws_services/chime.json +6165 -0
  74. iam_policy_validator-1.2.0/aws_services/cleanrooms-ml.json +1501 -0
  75. iam_policy_validator-1.2.0/aws_services/cleanrooms.json +2193 -0
  76. iam_policy_validator-1.2.0/aws_services/cloud9.json +667 -0
  77. iam_policy_validator-1.2.0/aws_services/clouddirectory.json +1385 -0
  78. iam_policy_validator-1.2.0/aws_services/cloudformation.json +2024 -0
  79. iam_policy_validator-1.2.0/aws_services/cloudfront-keyvaluestore.json +134 -0
  80. iam_policy_validator-1.2.0/aws_services/cloudfront.json +3023 -0
  81. iam_policy_validator-1.2.0/aws_services/cloudhsm.json +415 -0
  82. iam_policy_validator-1.2.0/aws_services/cloudsearch.json +654 -0
  83. iam_policy_validator-1.2.0/aws_services/cloudshell.json +249 -0
  84. iam_policy_validator-1.2.0/aws_services/cloudtrail-data.json +57 -0
  85. iam_policy_validator-1.2.0/aws_services/cloudtrail.json +1361 -0
  86. iam_policy_validator-1.2.0/aws_services/cloudwatch.json +1139 -0
  87. iam_policy_validator-1.2.0/aws_services/codeartifact.json +1096 -0
  88. iam_policy_validator-1.2.0/aws_services/codebuild.json +2400 -0
  89. iam_policy_validator-1.2.0/aws_services/codecatalyst.json +708 -0
  90. iam_policy_validator-1.2.0/aws_services/codecommit.json +1853 -0
  91. iam_policy_validator-1.2.0/aws_services/codeconnections.json +893 -0
  92. iam_policy_validator-1.2.0/aws_services/codedeploy-commands-secure.json +66 -0
  93. iam_policy_validator-1.2.0/aws_services/codedeploy.json +972 -0
  94. iam_policy_validator-1.2.0/aws_services/codeguru-profiler.json +493 -0
  95. iam_policy_validator-1.2.0/aws_services/codeguru-reviewer.json +391 -0
  96. iam_policy_validator-1.2.0/aws_services/codeguru-security.json +319 -0
  97. iam_policy_validator-1.2.0/aws_services/codeguru.json +21 -0
  98. iam_policy_validator-1.2.0/aws_services/codepipeline.json +928 -0
  99. iam_policy_validator-1.2.0/aws_services/codestar-connections.json +893 -0
  100. iam_policy_validator-1.2.0/aws_services/codestar-notifications.json +340 -0
  101. iam_policy_validator-1.2.0/aws_services/codestar.json +478 -0
  102. iam_policy_validator-1.2.0/aws_services/codewhisperer.json +455 -0
  103. iam_policy_validator-1.2.0/aws_services/cognito-identity.json +518 -0
  104. iam_policy_validator-1.2.0/aws_services/cognito-idp.json +2177 -0
  105. iam_policy_validator-1.2.0/aws_services/cognito-sync.json +401 -0
  106. iam_policy_validator-1.2.0/aws_services/comprehend.json +2071 -0
  107. iam_policy_validator-1.2.0/aws_services/comprehendmedical.json +389 -0
  108. iam_policy_validator-1.2.0/aws_services/compute-optimizer.json +446 -0
  109. iam_policy_validator-1.2.0/aws_services/config.json +1936 -0
  110. iam_policy_validator-1.2.0/aws_services/connect-campaigns.json +768 -0
  111. iam_policy_validator-1.2.0/aws_services/connect.json +7821 -0
  112. iam_policy_validator-1.2.0/aws_services/consoleapp.json +49 -0
  113. iam_policy_validator-1.2.0/aws_services/consolidatedbilling.json +36 -0
  114. iam_policy_validator-1.2.0/aws_services/controlcatalog.json +132 -0
  115. iam_policy_validator-1.2.0/aws_services/controltower.json +1158 -0
  116. iam_policy_validator-1.2.0/aws_services/cost-optimization-hub.json +111 -0
  117. iam_policy_validator-1.2.0/aws_services/cur.json +261 -0
  118. iam_policy_validator-1.2.0/aws_services/customer-verification.json +81 -0
  119. iam_policy_validator-1.2.0/aws_services/databrew.json +984 -0
  120. iam_policy_validator-1.2.0/aws_services/dataexchange.json +956 -0
  121. iam_policy_validator-1.2.0/aws_services/datapipeline.json +514 -0
  122. iam_policy_validator-1.2.0/aws_services/datasync.json +1441 -0
  123. iam_policy_validator-1.2.0/aws_services/datazone.json +3021 -0
  124. iam_policy_validator-1.2.0/aws_services/dax.json +579 -0
  125. iam_policy_validator-1.2.0/aws_services/dbqms.json +201 -0
  126. iam_policy_validator-1.2.0/aws_services/deadline.json +2639 -0
  127. iam_policy_validator-1.2.0/aws_services/deepcomposer.json +442 -0
  128. iam_policy_validator-1.2.0/aws_services/deepracer.json +1302 -0
  129. iam_policy_validator-1.2.0/aws_services/detective.json +733 -0
  130. iam_policy_validator-1.2.0/aws_services/devicefarm.json +1751 -0
  131. iam_policy_validator-1.2.0/aws_services/devops-guru.json +503 -0
  132. iam_policy_validator-1.2.0/aws_services/directconnect.json +1424 -0
  133. iam_policy_validator-1.2.0/aws_services/discovery.json +452 -0
  134. iam_policy_validator-1.2.0/aws_services/dlm.json +198 -0
  135. iam_policy_validator-1.2.0/aws_services/dms.json +2544 -0
  136. iam_policy_validator-1.2.0/aws_services/docdb-elastic.json +481 -0
  137. iam_policy_validator-1.2.0/aws_services/drs.json +1937 -0
  138. iam_policy_validator-1.2.0/aws_services/ds-data.json +478 -0
  139. iam_policy_validator-1.2.0/aws_services/ds.json +1810 -0
  140. iam_policy_validator-1.2.0/aws_services/dsql.json +567 -0
  141. iam_policy_validator-1.2.0/aws_services/dynamodb.json +1640 -0
  142. iam_policy_validator-1.2.0/aws_services/ebs.json +203 -0
  143. iam_policy_validator-1.2.0/aws_services/ec2-instance-connect.json +139 -0
  144. iam_policy_validator-1.2.0/aws_services/ec2.json +25565 -0
  145. iam_policy_validator-1.2.0/aws_services/ec2messages.json +118 -0
  146. iam_policy_validator-1.2.0/aws_services/ecr-public.json +516 -0
  147. iam_policy_validator-1.2.0/aws_services/ecr.json +1016 -0
  148. iam_policy_validator-1.2.0/aws_services/ecs.json +1832 -0
  149. iam_policy_validator-1.2.0/aws_services/eks-auth.json +45 -0
  150. iam_policy_validator-1.2.0/aws_services/eks.json +1597 -0
  151. iam_policy_validator-1.2.0/aws_services/elasticache.json +2402 -0
  152. iam_policy_validator-1.2.0/aws_services/elasticbeanstalk.json +1331 -0
  153. iam_policy_validator-1.2.0/aws_services/elasticfilesystem.json +866 -0
  154. iam_policy_validator-1.2.0/aws_services/elasticloadbalancing.json +1911 -0
  155. iam_policy_validator-1.2.0/aws_services/elasticmapreduce.json +1690 -0
  156. iam_policy_validator-1.2.0/aws_services/elastictranscoder.json +339 -0
  157. iam_policy_validator-1.2.0/aws_services/elemental-activations.json +201 -0
  158. iam_policy_validator-1.2.0/aws_services/elemental-appliances-software.json +239 -0
  159. iam_policy_validator-1.2.0/aws_services/elemental-support-cases.json +363 -0
  160. iam_policy_validator-1.2.0/aws_services/elemental-support-content.json +21 -0
  161. iam_policy_validator-1.2.0/aws_services/emr-containers.json +596 -0
  162. iam_policy_validator-1.2.0/aws_services/emr-serverless.json +440 -0
  163. iam_policy_validator-1.2.0/aws_services/entityresolution.json +840 -0
  164. iam_policy_validator-1.2.0/aws_services/es.json +2084 -0
  165. iam_policy_validator-1.2.0/aws_services/events.json +1451 -0
  166. iam_policy_validator-1.2.0/aws_services/evidently.json +819 -0
  167. iam_policy_validator-1.2.0/aws_services/evs.json +300 -0
  168. iam_policy_validator-1.2.0/aws_services/execute-api.json +94 -0
  169. iam_policy_validator-1.2.0/aws_services/finspace-api.json +34 -0
  170. iam_policy_validator-1.2.0/aws_services/finspace.json +1400 -0
  171. iam_policy_validator-1.2.0/aws_services/firehose.json +283 -0
  172. iam_policy_validator-1.2.0/aws_services/fis.json +713 -0
  173. iam_policy_validator-1.2.0/aws_services/fms.json +851 -0
  174. iam_policy_validator-1.2.0/aws_services/forecast.json +1757 -0
  175. iam_policy_validator-1.2.0/aws_services/frauddetector.json +1878 -0
  176. iam_policy_validator-1.2.0/aws_services/freertos.json +379 -0
  177. iam_policy_validator-1.2.0/aws_services/freetier.json +111 -0
  178. iam_policy_validator-1.2.0/aws_services/fsx.json +1400 -0
  179. iam_policy_validator-1.2.0/aws_services/gamelift.json +2421 -0
  180. iam_policy_validator-1.2.0/aws_services/gameliftstreams.json +531 -0
  181. iam_policy_validator-1.2.0/aws_services/geo-maps.json +54 -0
  182. iam_policy_validator-1.2.0/aws_services/geo-places.json +154 -0
  183. iam_policy_validator-1.2.0/aws_services/geo-routes.json +114 -0
  184. iam_policy_validator-1.2.0/aws_services/geo.json +1402 -0
  185. iam_policy_validator-1.2.0/aws_services/glacier.json +669 -0
  186. iam_policy_validator-1.2.0/aws_services/globalaccelerator.json +1142 -0
  187. iam_policy_validator-1.2.0/aws_services/glue.json +6633 -0
  188. iam_policy_validator-1.2.0/aws_services/grafana.json +538 -0
  189. iam_policy_validator-1.2.0/aws_services/greengrass.json +2532 -0
  190. iam_policy_validator-1.2.0/aws_services/groundstation.json +810 -0
  191. iam_policy_validator-1.2.0/aws_services/groundtruthlabeling.json +246 -0
  192. iam_policy_validator-1.2.0/aws_services/guardduty.json +1615 -0
  193. iam_policy_validator-1.2.0/aws_services/health.json +256 -0
  194. iam_policy_validator-1.2.0/aws_services/healthlake.json +779 -0
  195. iam_policy_validator-1.2.0/aws_services/honeycode.json +542 -0
  196. iam_policy_validator-1.2.0/aws_services/iam.json +3720 -0
  197. iam_policy_validator-1.2.0/aws_services/identity-sync.json +284 -0
  198. iam_policy_validator-1.2.0/aws_services/identitystore-auth.json +51 -0
  199. iam_policy_validator-1.2.0/aws_services/identitystore.json +567 -0
  200. iam_policy_validator-1.2.0/aws_services/imagebuilder.json +1791 -0
  201. iam_policy_validator-1.2.0/aws_services/importexport.json +96 -0
  202. iam_policy_validator-1.2.0/aws_services/inspector-scan.json +21 -0
  203. iam_policy_validator-1.2.0/aws_services/inspector.json +561 -0
  204. iam_policy_validator-1.2.0/aws_services/inspector2.json +1325 -0
  205. iam_policy_validator-1.2.0/aws_services/internetmonitor.json +388 -0
  206. iam_policy_validator-1.2.0/aws_services/invoicing.json +329 -0
  207. iam_policy_validator-1.2.0/aws_services/iot-device-tester.json +81 -0
  208. iam_policy_validator-1.2.0/aws_services/iot.json +6181 -0
  209. iam_policy_validator-1.2.0/aws_services/iotanalytics.json +768 -0
  210. iam_policy_validator-1.2.0/aws_services/iotdeviceadvisor.json +330 -0
  211. iam_policy_validator-1.2.0/aws_services/iotevents.json +833 -0
  212. iam_policy_validator-1.2.0/aws_services/iotfleethub.json +198 -0
  213. iam_policy_validator-1.2.0/aws_services/iotfleetwise.json +1313 -0
  214. iam_policy_validator-1.2.0/aws_services/iotjobsdata.json +108 -0
  215. iam_policy_validator-1.2.0/aws_services/iotmanagedintegrations.json +1548 -0
  216. iam_policy_validator-1.2.0/aws_services/iotsitewise.json +2388 -0
  217. iam_policy_validator-1.2.0/aws_services/iottwinmaker.json +990 -0
  218. iam_policy_validator-1.2.0/aws_services/iotwireless.json +2459 -0
  219. iam_policy_validator-1.2.0/aws_services/iq-permission.json +194 -0
  220. iam_policy_validator-1.2.0/aws_services/iq.json +1295 -0
  221. iam_policy_validator-1.2.0/aws_services/ivs.json +1696 -0
  222. iam_policy_validator-1.2.0/aws_services/ivschat.json +415 -0
  223. iam_policy_validator-1.2.0/aws_services/kafka-cluster.json +423 -0
  224. iam_policy_validator-1.2.0/aws_services/kafka.json +1116 -0
  225. iam_policy_validator-1.2.0/aws_services/kafkaconnect.json +452 -0
  226. iam_policy_validator-1.2.0/aws_services/kendra-ranking.json +218 -0
  227. iam_policy_validator-1.2.0/aws_services/kendra.json +1576 -0
  228. iam_policy_validator-1.2.0/aws_services/kinesis.json +925 -0
  229. iam_policy_validator-1.2.0/aws_services/kinesisanalytics.json +713 -0
  230. iam_policy_validator-1.2.0/aws_services/kinesisvideo.json +942 -0
  231. iam_policy_validator-1.2.0/aws_services/kms.json +2213 -0
  232. iam_policy_validator-1.2.0/aws_services/lakeformation.json +902 -0
  233. iam_policy_validator-1.2.0/aws_services/lambda.json +1616 -0
  234. iam_policy_validator-1.2.0/aws_services/launchwizard.json +643 -0
  235. iam_policy_validator-1.2.0/aws_services/lex.json +3086 -0
  236. iam_policy_validator-1.2.0/aws_services/license-manager-linux-subscriptions.json +238 -0
  237. iam_policy_validator-1.2.0/aws_services/license-manager-user-subscriptions.json +440 -0
  238. iam_policy_validator-1.2.0/aws_services/license-manager.json +1007 -0
  239. iam_policy_validator-1.2.0/aws_services/lightsail.json +3142 -0
  240. iam_policy_validator-1.2.0/aws_services/logs.json +2007 -0
  241. iam_policy_validator-1.2.0/aws_services/lookoutequipment.json +1138 -0
  242. iam_policy_validator-1.2.0/aws_services/lookoutmetrics.json +689 -0
  243. iam_policy_validator-1.2.0/aws_services/lookoutvision.json +494 -0
  244. iam_policy_validator-1.2.0/aws_services/m2.json +775 -0
  245. iam_policy_validator-1.2.0/aws_services/machinelearning.json +614 -0
  246. iam_policy_validator-1.2.0/aws_services/macie2.json +1464 -0
  247. iam_policy_validator-1.2.0/aws_services/managedblockchain-query.json +141 -0
  248. iam_policy_validator-1.2.0/aws_services/managedblockchain.json +780 -0
  249. iam_policy_validator-1.2.0/aws_services/mapcredits.json +74 -0
  250. iam_policy_validator-1.2.0/aws_services/marketplacecommerceanalytics.json +36 -0
  251. iam_policy_validator-1.2.0/aws_services/mechanicalturk.json +591 -0
  252. iam_policy_validator-1.2.0/aws_services/mediaconnect.json +960 -0
  253. iam_policy_validator-1.2.0/aws_services/mediaconvert.json +733 -0
  254. iam_policy_validator-1.2.0/aws_services/mediaimport.json +21 -0
  255. iam_policy_validator-1.2.0/aws_services/medialive.json +2777 -0
  256. iam_policy_validator-1.2.0/aws_services/mediapackage-vod.json +402 -0
  257. iam_policy_validator-1.2.0/aws_services/mediapackage.json +442 -0
  258. iam_policy_validator-1.2.0/aws_services/mediapackagev2.json +921 -0
  259. iam_policy_validator-1.2.0/aws_services/mediastore.json +570 -0
  260. iam_policy_validator-1.2.0/aws_services/mediatailor.json +974 -0
  261. iam_policy_validator-1.2.0/aws_services/medical-imaging.json +638 -0
  262. iam_policy_validator-1.2.0/aws_services/memorydb.json +1259 -0
  263. iam_policy_validator-1.2.0/aws_services/mgh.json +932 -0
  264. iam_policy_validator-1.2.0/aws_services/mgn.json +2644 -0
  265. iam_policy_validator-1.2.0/aws_services/migrationhub-orchestrator.json +711 -0
  266. iam_policy_validator-1.2.0/aws_services/migrationhub-strategy.json +471 -0
  267. iam_policy_validator-1.2.0/aws_services/mobileanalytics.json +51 -0
  268. iam_policy_validator-1.2.0/aws_services/mobiletargeting.json +2802 -0
  269. iam_policy_validator-1.2.0/aws_services/monitron.json +398 -0
  270. iam_policy_validator-1.2.0/aws_services/mpa.json +534 -0
  271. iam_policy_validator-1.2.0/aws_services/mq.json +560 -0
  272. iam_policy_validator-1.2.0/aws_services/neptune-db.json +697 -0
  273. iam_policy_validator-1.2.0/aws_services/neptune-graph.json +956 -0
  274. iam_policy_validator-1.2.0/aws_services/network-firewall.json +1370 -0
  275. iam_policy_validator-1.2.0/aws_services/network-security-director.json +141 -0
  276. iam_policy_validator-1.2.0/aws_services/networkflowmonitor.json +570 -0
  277. iam_policy_validator-1.2.0/aws_services/networkmanager-chat.json +111 -0
  278. iam_policy_validator-1.2.0/aws_services/networkmanager.json +2143 -0
  279. iam_policy_validator-1.2.0/aws_services/networkmonitor.json +288 -0
  280. iam_policy_validator-1.2.0/aws_services/nimble.json +1265 -0
  281. iam_policy_validator-1.2.0/aws_services/notifications-contacts.json +213 -0
  282. iam_policy_validator-1.2.0/aws_services/notifications.json +813 -0
  283. iam_policy_validator-1.2.0/aws_services/oam.json +387 -0
  284. iam_policy_validator-1.2.0/aws_services/observabilityadmin.json +628 -0
  285. iam_policy_validator-1.2.0/aws_services/odb.json +1076 -0
  286. iam_policy_validator-1.2.0/aws_services/omics.json +2088 -0
  287. iam_policy_validator-1.2.0/aws_services/one.json +675 -0
  288. iam_policy_validator-1.2.0/aws_services/opensearch.json +120 -0
  289. iam_policy_validator-1.2.0/aws_services/opsworks-cm.json +305 -0
  290. iam_policy_validator-1.2.0/aws_services/opsworks.json +1454 -0
  291. iam_policy_validator-1.2.0/aws_services/organizations.json +1311 -0
  292. iam_policy_validator-1.2.0/aws_services/osis.json +497 -0
  293. iam_policy_validator-1.2.0/aws_services/outposts.json +729 -0
  294. iam_policy_validator-1.2.0/aws_services/panorama.json +727 -0
  295. iam_policy_validator-1.2.0/aws_services/partnercentral-account-management.json +51 -0
  296. iam_policy_validator-1.2.0/aws_services/partnercentral.json +940 -0
  297. iam_policy_validator-1.2.0/aws_services/payment-cryptography.json +777 -0
  298. iam_policy_validator-1.2.0/aws_services/payments.json +428 -0
  299. iam_policy_validator-1.2.0/aws_services/pca-connector-ad.json +564 -0
  300. iam_policy_validator-1.2.0/aws_services/pca-connector-scep.json +282 -0
  301. iam_policy_validator-1.2.0/aws_services/pcs.json +510 -0
  302. iam_policy_validator-1.2.0/aws_services/personalize.json +1661 -0
  303. iam_policy_validator-1.2.0/aws_services/pi.json +335 -0
  304. iam_policy_validator-1.2.0/aws_services/pipes.json +264 -0
  305. iam_policy_validator-1.2.0/aws_services/polly.json +174 -0
  306. iam_policy_validator-1.2.0/aws_services/pricing.json +81 -0
  307. iam_policy_validator-1.2.0/aws_services/private-networks.json +646 -0
  308. iam_policy_validator-1.2.0/aws_services/profile.json +1988 -0
  309. iam_policy_validator-1.2.0/aws_services/proton.json +2482 -0
  310. iam_policy_validator-1.2.0/aws_services/purchase-orders.json +341 -0
  311. iam_policy_validator-1.2.0/aws_services/q.json +699 -0
  312. iam_policy_validator-1.2.0/aws_services/qapps.json +1017 -0
  313. iam_policy_validator-1.2.0/aws_services/qbusiness.json +2236 -0
  314. iam_policy_validator-1.2.0/aws_services/qdeveloper.json +183 -0
  315. iam_policy_validator-1.2.0/aws_services/qldb.json +816 -0
  316. iam_policy_validator-1.2.0/aws_services/quicksight.json +5593 -0
  317. iam_policy_validator-1.2.0/aws_services/ram.json +877 -0
  318. iam_policy_validator-1.2.0/aws_services/rbin.json +287 -0
  319. iam_policy_validator-1.2.0/aws_services/rds-data.json +176 -0
  320. iam_policy_validator-1.2.0/aws_services/rds-db.json +34 -0
  321. iam_policy_validator-1.2.0/aws_services/rds.json +4376 -0
  322. iam_policy_validator-1.2.0/aws_services/redshift-data.json +296 -0
  323. iam_policy_validator-1.2.0/aws_services/redshift-serverless.json +1335 -0
  324. iam_policy_validator-1.2.0/aws_services/redshift.json +3367 -0
  325. iam_policy_validator-1.2.0/aws_services/refactor-spaces.json +655 -0
  326. iam_policy_validator-1.2.0/aws_services/rekognition.json +1503 -0
  327. iam_policy_validator-1.2.0/aws_services/repostspace.json +422 -0
  328. iam_policy_validator-1.2.0/aws_services/resiliencehub.json +1325 -0
  329. iam_policy_validator-1.2.0/aws_services/resource-explorer-2.json +705 -0
  330. iam_policy_validator-1.2.0/aws_services/resource-explorer.json +51 -0
  331. iam_policy_validator-1.2.0/aws_services/resource-groups.json +607 -0
  332. iam_policy_validator-1.2.0/aws_services/rhelkb.json +21 -0
  333. iam_policy_validator-1.2.0/aws_services/robomaker.json +1335 -0
  334. iam_policy_validator-1.2.0/aws_services/rolesanywhere.json +661 -0
  335. iam_policy_validator-1.2.0/aws_services/route53-recovery-cluster.json +103 -0
  336. iam_policy_validator-1.2.0/aws_services/route53-recovery-control-config.json +627 -0
  337. iam_policy_validator-1.2.0/aws_services/route53-recovery-readiness.json +713 -0
  338. iam_policy_validator-1.2.0/aws_services/route53.json +1418 -0
  339. iam_policy_validator-1.2.0/aws_services/route53domains.json +516 -0
  340. iam_policy_validator-1.2.0/aws_services/route53profiles.json +357 -0
  341. iam_policy_validator-1.2.0/aws_services/route53resolver.json +1540 -0
  342. iam_policy_validator-1.2.0/aws_services/rtbfabric.json +632 -0
  343. iam_policy_validator-1.2.0/aws_services/rum.json +438 -0
  344. iam_policy_validator-1.2.0/aws_services/s3-object-lambda.json +697 -0
  345. iam_policy_validator-1.2.0/aws_services/s3-outposts.json +1445 -0
  346. iam_policy_validator-1.2.0/aws_services/s3.json +5374 -0
  347. iam_policy_validator-1.2.0/aws_services/s3express.json +845 -0
  348. iam_policy_validator-1.2.0/aws_services/s3tables.json +788 -0
  349. iam_policy_validator-1.2.0/aws_services/s3vectors.json +353 -0
  350. iam_policy_validator-1.2.0/aws_services/sagemaker-data-science-assistant.json +21 -0
  351. iam_policy_validator-1.2.0/aws_services/sagemaker-geospatial.json +479 -0
  352. iam_policy_validator-1.2.0/aws_services/sagemaker-mlflow.json +1247 -0
  353. iam_policy_validator-1.2.0/aws_services/sagemaker.json +9855 -0
  354. iam_policy_validator-1.2.0/aws_services/savingsplans.json +245 -0
  355. iam_policy_validator-1.2.0/aws_services/scheduler.json +307 -0
  356. iam_policy_validator-1.2.0/aws_services/schemas.json +705 -0
  357. iam_policy_validator-1.2.0/aws_services/scn.json +813 -0
  358. iam_policy_validator-1.2.0/aws_services/sdb.json +209 -0
  359. iam_policy_validator-1.2.0/aws_services/secretsmanager.json +756 -0
  360. iam_policy_validator-1.2.0/aws_services/security-ir.json +506 -0
  361. iam_policy_validator-1.2.0/aws_services/securityhub.json +2313 -0
  362. iam_policy_validator-1.2.0/aws_services/securitylake.json +638 -0
  363. iam_policy_validator-1.2.0/aws_services/serverlessrepo.json +325 -0
  364. iam_policy_validator-1.2.0/aws_services/servicecatalog.json +2287 -0
  365. iam_policy_validator-1.2.0/aws_services/servicediscovery.json +768 -0
  366. iam_policy_validator-1.2.0/aws_services/serviceextract.json +21 -0
  367. iam_policy_validator-1.2.0/aws_services/servicequotas.json +423 -0
  368. iam_policy_validator-1.2.0/aws_services/ses.json +5172 -0
  369. iam_policy_validator-1.2.0/aws_services/shield.json +755 -0
  370. iam_policy_validator-1.2.0/aws_services/signer.json +437 -0
  371. iam_policy_validator-1.2.0/aws_services/signin.json +36 -0
  372. iam_policy_validator-1.2.0/aws_services/simspaceweaver.json +353 -0
  373. iam_policy_validator-1.2.0/aws_services/sms-voice.json +2083 -0
  374. iam_policy_validator-1.2.0/aws_services/sms.json +561 -0
  375. iam_policy_validator-1.2.0/aws_services/snow-device-management.json +298 -0
  376. iam_policy_validator-1.2.0/aws_services/snowball.json +411 -0
  377. iam_policy_validator-1.2.0/aws_services/sns.json +754 -0
  378. iam_policy_validator-1.2.0/aws_services/social-messaging.json +479 -0
  379. iam_policy_validator-1.2.0/aws_services/sqlworkbench.json +1553 -0
  380. iam_policy_validator-1.2.0/aws_services/sqs.json +443 -0
  381. iam_policy_validator-1.2.0/aws_services/ssm-contacts.json +868 -0
  382. iam_policy_validator-1.2.0/aws_services/ssm-guiconnect.json +111 -0
  383. iam_policy_validator-1.2.0/aws_services/ssm-incidents.json +717 -0
  384. iam_policy_validator-1.2.0/aws_services/ssm-quicksetup.json +309 -0
  385. iam_policy_validator-1.2.0/aws_services/ssm-sap.json +573 -0
  386. iam_policy_validator-1.2.0/aws_services/ssm.json +3613 -0
  387. iam_policy_validator-1.2.0/aws_services/ssmmessages.json +84 -0
  388. iam_policy_validator-1.2.0/aws_services/sso-directory.json +861 -0
  389. iam_policy_validator-1.2.0/aws_services/sso-oauth.json +74 -0
  390. iam_policy_validator-1.2.0/aws_services/sso.json +2493 -0
  391. iam_policy_validator-1.2.0/aws_services/states.json +914 -0
  392. iam_policy_validator-1.2.0/aws_services/storagegateway.json +2120 -0
  393. iam_policy_validator-1.2.0/aws_services/sts.json +728 -0
  394. iam_policy_validator-1.2.0/aws_services/support-console.json +171 -0
  395. iam_policy_validator-1.2.0/aws_services/support.json +471 -0
  396. iam_policy_validator-1.2.0/aws_services/supportapp.json +201 -0
  397. iam_policy_validator-1.2.0/aws_services/supportplans.json +81 -0
  398. iam_policy_validator-1.2.0/aws_services/sustainability.json +21 -0
  399. iam_policy_validator-1.2.0/aws_services/swf.json +1250 -0
  400. iam_policy_validator-1.2.0/aws_services/synthetics.json +545 -0
  401. iam_policy_validator-1.2.0/aws_services/tag.json +126 -0
  402. iam_policy_validator-1.2.0/aws_services/tax.json +351 -0
  403. iam_policy_validator-1.2.0/aws_services/textract.json +490 -0
  404. iam_policy_validator-1.2.0/aws_services/thinclient.json +463 -0
  405. iam_policy_validator-1.2.0/aws_services/timestream-influxdb.json +423 -0
  406. iam_policy_validator-1.2.0/aws_services/timestream.json +767 -0
  407. iam_policy_validator-1.2.0/aws_services/tiros.json +81 -0
  408. iam_policy_validator-1.2.0/aws_services/tnb.json +831 -0
  409. iam_policy_validator-1.2.0/aws_services/transcribe.json +1073 -0
  410. iam_policy_validator-1.2.0/aws_services/transfer.json +1607 -0
  411. iam_policy_validator-1.2.0/aws_services/transform.json +271 -0
  412. iam_policy_validator-1.2.0/aws_services/translate.json +426 -0
  413. iam_policy_validator-1.2.0/aws_services/trustedadvisor.json +829 -0
  414. iam_policy_validator-1.2.0/aws_services/ts.json +223 -0
  415. iam_policy_validator-1.2.0/aws_services/user-subscriptions.json +107 -0
  416. iam_policy_validator-1.2.0/aws_services/uxc.json +51 -0
  417. iam_policy_validator-1.2.0/aws_services/vendor-insights.json +570 -0
  418. iam_policy_validator-1.2.0/aws_services/verified-access.json +21 -0
  419. iam_policy_validator-1.2.0/aws_services/verifiedpermissions.json +579 -0
  420. iam_policy_validator-1.2.0/aws_services/voiceid.json +648 -0
  421. iam_policy_validator-1.2.0/aws_services/vpc-lattice-svcs.json +134 -0
  422. iam_policy_validator-1.2.0/aws_services/vpc-lattice.json +1876 -0
  423. iam_policy_validator-1.2.0/aws_services/vpce.json +21 -0
  424. iam_policy_validator-1.2.0/aws_services/waf-regional.json +1706 -0
  425. iam_policy_validator-1.2.0/aws_services/waf.json +1617 -0
  426. iam_policy_validator-1.2.0/aws_services/wafv2.json +1355 -0
  427. iam_policy_validator-1.2.0/aws_services/wam.json +21 -0
  428. iam_policy_validator-1.2.0/aws_services/wellarchitected.json +1665 -0
  429. iam_policy_validator-1.2.0/aws_services/wickr.json +185 -0
  430. iam_policy_validator-1.2.0/aws_services/wisdom.json +2122 -0
  431. iam_policy_validator-1.2.0/aws_services/workdocs.json +934 -0
  432. iam_policy_validator-1.2.0/aws_services/worklink.json +726 -0
  433. iam_policy_validator-1.2.0/aws_services/workmail.json +2548 -0
  434. iam_policy_validator-1.2.0/aws_services/workmailmessageflow.json +54 -0
  435. iam_policy_validator-1.2.0/aws_services/workspaces-instances.json +292 -0
  436. iam_policy_validator-1.2.0/aws_services/workspaces-web.json +1652 -0
  437. iam_policy_validator-1.2.0/aws_services/workspaces.json +2038 -0
  438. iam_policy_validator-1.2.0/aws_services/xray.json +813 -0
  439. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/default-config.yaml +92 -46
  440. iam_policy_validator-1.2.0/docs/README.md +41 -0
  441. iam_policy_validator-1.2.0/docs/aws-services-backup.md +159 -0
  442. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/docs/development/PUBLISHING.md +1 -1
  443. iam_policy_validator-1.1.2/examples/policies/test-cases/README-privilege-escalation.md → iam_policy_validator-1.2.0/docs/privilege-escalation.md +2 -2
  444. iam_policy_validator-1.2.0/docs/smart-filtering.md +381 -0
  445. iam_policy_validator-1.2.0/examples/README.md +214 -0
  446. iam_policy_validator-1.2.0/examples/configs/basic-config.yaml +32 -0
  447. iam_policy_validator-1.2.0/examples/configs/offline-validation.yaml +29 -0
  448. iam_policy_validator-1.2.0/examples/configs/strict-security.yaml +104 -0
  449. iam_policy_validator-1.2.0/examples/github-actions/README.md +99 -0
  450. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/github-actions/access-analyzer-only.yaml +2 -3
  451. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/github-actions/basic-validation.yaml +7 -4
  452. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/github-actions/multi-region-validation.yaml +2 -3
  453. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/github-actions/resource-policy-validation.yaml +3 -4
  454. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/github-actions/sequential-validation.yaml +6 -3
  455. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/github-actions/two-step-validation.yaml +4 -6
  456. iam_policy_validator-1.2.0/examples/github-actions/validate-changed-files.yaml +54 -0
  457. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/insecure_policy.json +11 -0
  458. iam_policy_validator-1.2.0/examples/iam-test-policies/insecure_policy.yaml +37 -0
  459. iam_policy_validator-1.2.0/examples/iam-test-policies/lambda_developer.yaml +53 -0
  460. iam_policy_validator-1.2.0/examples/iam-test-policies/s3_bucket_access.yaml +58 -0
  461. iam_policy_validator-1.2.0/examples/iam-test-policies/sample_policy.yaml +17 -0
  462. iam_policy_validator-1.2.0/examples/iam-test-policies/wildcard_examples.yaml +47 -0
  463. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/__version__.py +1 -1
  464. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/security_best_practices.py +72 -52
  465. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/sid_uniqueness.py +3 -1
  466. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/utils/wildcard_expansion.py +1 -3
  467. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/commands/cache.py +2 -12
  468. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/aws_fetcher.py +134 -12
  469. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/defaults.py +36 -4
  470. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/formatters/enhanced.py +4 -3
  471. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/policy_checks.py +10 -2
  472. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/report.py +7 -3
  473. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/pyproject.toml +1 -1
  474. iam_policy_validator-1.2.0/scripts/download_aws_services.py +213 -0
  475. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_security_best_practices.py +3 -2
  476. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_sensitive_action_wildcard_expansion.py +1 -5
  477. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_sid_uniqueness_check.py +4 -4
  478. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/uv.lock +1 -1
  479. iam_policy_validator-1.1.2/docs/README.md +0 -23
  480. iam_policy_validator-1.1.2/examples/README.md +0 -206
  481. iam_policy_validator-1.1.2/examples/configs/action-condition-enforcement-advanced.yaml +0 -243
  482. iam_policy_validator-1.1.2/examples/configs/config-privilege-escalation.yaml +0 -36
  483. iam_policy_validator-1.1.2/examples/configs/custom-business-rules.yaml +0 -84
  484. iam_policy_validator-1.1.2/examples/configs/custom-wildcard-config.yaml +0 -44
  485. iam_policy_validator-1.1.2/examples/configs/none_of_example.yaml +0 -54
  486. iam_policy_validator-1.1.2/examples/configs/unified-condition-enforcement.yaml +0 -286
  487. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/.github/dependabot.yml +0 -0
  488. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/.github/workflows/ci.yml +0 -0
  489. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/.gitignore +0 -0
  490. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/.python-version +0 -0
  491. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/CONTRIBUTING.md +0 -0
  492. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/LICENSE +0 -0
  493. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/docs/configuration.md +0 -0
  494. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/docs/custom-checks.md +0 -0
  495. /iam_policy_validator-1.1.2/examples/github-actions/action-examples.md → /iam_policy_validator-1.2.0/docs/github-actions-examples.md +0 -0
  496. /iam_policy_validator-1.1.2/examples/github-actions/README.md → /iam_policy_validator-1.2.0/docs/github-actions-workflows.md +0 -0
  497. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/access-analyzer/example1.json +0 -0
  498. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/access-analyzer/example2.json +0 -0
  499. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/custom_checks/README.md +0 -0
  500. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/custom_checks/advanced_multi_condition_validator.py +0 -0
  501. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/custom_checks/cross_account_external_id_check.py +0 -0
  502. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/custom_checks/domain_restriction_check.py +0 -0
  503. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/custom_checks/encryption_required_check.py +0 -0
  504. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/custom_checks/mfa_required_check.py +0 -0
  505. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/custom_checks/region_restriction_check.py +0 -0
  506. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/custom_checks/tag_enforcement_check.py +0 -0
  507. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/custom_checks/time_based_access_check.py +0 -0
  508. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/examples/github-actions/custom-policy-checks.yml +0 -0
  509. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/allowed-wildcard-resource.json +0 -0
  510. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/api_gateway_management.json +0 -0
  511. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/athena_query_access.json +0 -0
  512. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/backup_vault_access.json +0 -0
  513. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/cloudformation_deployer.json +0 -0
  514. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/cloudwatch_monitoring.json +0 -0
  515. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/cognito_user_pool.json +0 -0
  516. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/dynamodb_table_access.json +0 -0
  517. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/ecs_task_execution.json +0 -0
  518. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/eventbridge_rules.json +0 -0
  519. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/glue_etl_jobs.json +0 -0
  520. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/invalid-resource-constraint.json +0 -0
  521. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/invalid_policy.json +0 -0
  522. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/kms_encryption_keys.json +0 -0
  523. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/lambda_developer.json +0 -0
  524. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/maximum_size_policy.json +0 -0
  525. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/policy_missing_required_tags.json +0 -0
  526. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/policy_tag_enforcement_example.json +0 -0
  527. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/policy_with_wildcard_resources.json +0 -0
  528. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/privilege_escalation_scattered.json +0 -0
  529. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/rds_database_admin.json +0 -0
  530. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/sample_policy.json +0 -0
  531. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/secrets_manager_access.json +0 -0
  532. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/sensitive-action-wildcards.json +0 -0
  533. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/sns_sqs_messaging.json +0 -0
  534. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/step_functions_workflow.json +0 -0
  535. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/test_none_of_valid.json +0 -0
  536. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/test_none_of_violations.json +0 -0
  537. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/wildcard_examples.json +0 -0
  538. {iam_policy_validator-1.1.2/examples/policies/test-cases → iam_policy_validator-1.2.0/examples/iam-test-policies}/wrong-condition-key.json +0 -0
  539. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/__init__.py +0 -0
  540. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/__main__.py +0 -0
  541. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/__init__.py +0 -0
  542. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/action_condition_enforcement.py +0 -0
  543. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/action_resource_constraint.py +0 -0
  544. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/action_validation.py +0 -0
  545. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/condition_key_validation.py +0 -0
  546. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/policy_size.py +0 -0
  547. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/resource_validation.py +0 -0
  548. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/utils/__init__.py +0 -0
  549. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/utils/policy_level_checks.py +0 -0
  550. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/checks/utils/sensitive_action_matcher.py +0 -0
  551. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/commands/__init__.py +0 -0
  552. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/commands/analyze.py +0 -0
  553. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/commands/base.py +0 -0
  554. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/commands/post_to_pr.py +0 -0
  555. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/commands/validate.py +0 -0
  556. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/__init__.py +0 -0
  557. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/access_analyzer.py +0 -0
  558. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/access_analyzer_report.py +0 -0
  559. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/aws_global_conditions.py +0 -0
  560. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/check_registry.py +0 -0
  561. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/cli.py +0 -0
  562. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/config_loader.py +0 -0
  563. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/formatters/__init__.py +0 -0
  564. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/formatters/base.py +0 -0
  565. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/formatters/console.py +0 -0
  566. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/formatters/csv.py +0 -0
  567. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/formatters/html.py +0 -0
  568. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/formatters/json.py +0 -0
  569. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/formatters/markdown.py +0 -0
  570. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/formatters/sarif.py +0 -0
  571. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/models.py +0 -0
  572. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/policy_loader.py +0 -0
  573. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/core/pr_commenter.py +0 -0
  574. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/integrations/__init__.py +0 -0
  575. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/integrations/github_integration.py +0 -0
  576. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/iam_validator/integrations/ms_teams.py +0 -0
  577. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/scripts/sync_defaults_from_yaml.py +0 -0
  578. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/README.md +0 -0
  579. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/__init__.py +0 -0
  580. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_action_condition_enforcement.py +0 -0
  581. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_action_resource_constraint.py +0 -0
  582. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_action_validation_check.py +0 -0
  583. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_aws_fetcher_wildcards.py +0 -0
  584. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_aws_global_conditions.py +0 -0
  585. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_check_registry.py +0 -0
  586. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_comment_truncation.py +0 -0
  587. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_condition_key_validation_check.py +0 -0
  588. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_config_loader.py +0 -0
  589. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_custom_policy_checks.py +0 -0
  590. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_models.py +0 -0
  591. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_multipart_comments.py +0 -0
  592. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_policy_loader.py +0 -0
  593. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_policy_size_check.py +0 -0
  594. {iam_policy_validator-1.1.2 → iam_policy_validator-1.2.0}/tests/test_resource_validation_check.py +0 -0
@@ -136,33 +136,33 @@ jobs:
136
136
  \`\`\`
137
137
  EOF
138
138
 
139
- update-action-versions:
140
- name: Update Major/Minor Tag References
141
- runs-on: ubuntu-latest
142
- needs: build-and-release
143
-
144
- steps:
145
- - name: Checkout code
146
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
147
-
148
- - name: Configure Git
149
- run: |
150
- git config user.name "github-actions[bot]"
151
- git config user.email "github-actions[bot]@users.noreply.github.com"
152
-
153
- - name: Update major and minor version tags
154
- run: |
155
- VERSION=${GITHUB_REF#refs/tags/v}
156
- MAJOR=$(echo $VERSION | cut -d. -f1)
157
- MINOR=$(echo $VERSION | cut -d. -f1-2)
158
-
159
- # Update vX tag (e.g., v1) - annotated (unsigned by bot)
160
- git tag -fa "v$MAJOR" -m "Update v$MAJOR to $VERSION"
161
- git push origin "v$MAJOR" --force
162
-
163
- # Update vX.Y tag (e.g., v1.2) - annotated (unsigned by bot)
164
- git tag -fa "v$MINOR" -m "Updated v$MINOR to $VERSION"
165
- git push origin "v$MINOR" --force
166
-
167
- echo "✅ Updated tags: v$MAJOR and v$MINOR to point to $VERSION"
168
- echo "ℹ️ Note: Automated tags are annotated but not signed by the bot."
139
+ # update-action-versions:
140
+ # name: Update Major/Minor Tag References
141
+ # runs-on: ubuntu-latest
142
+ # needs: build-and-release
143
+
144
+ # steps:
145
+ # - name: Checkout code
146
+ # uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
147
+
148
+ # - name: Configure Git
149
+ # run: |
150
+ # git config user.name "github-actions[bot]"
151
+ # git config user.email "github-actions[bot]@users.noreply.github.com"
152
+
153
+ # - name: Update major and minor version tags
154
+ # run: |
155
+ # VERSION=${GITHUB_REF#refs/tags/v}
156
+ # MAJOR=$(echo $VERSION | cut -d. -f1)
157
+ # MINOR=$(echo $VERSION | cut -d. -f1-2)
158
+
159
+ # # Update vX tag (e.g., v1) - annotated (unsigned by bot)
160
+ # git tag -fa "v$MAJOR" -m "Update v$MAJOR to $VERSION"
161
+ # git push origin "v$MAJOR" --force
162
+
163
+ # # Update vX.Y tag (e.g., v1.2) - annotated (unsigned by bot)
164
+ # git tag -fa "v$MINOR" -m "Updated v$MINOR to $VERSION"
165
+ # git push origin "v$MINOR" --force
166
+
167
+ # echo "✅ Updated tags: v$MAJOR and v$MINOR to point to $VERSION"
168
+ # echo "ℹ️ Note: Automated tags are annotated but not signed by the bot."
@@ -793,7 +793,12 @@ By default, validation fails on `error` and `critical` severities. Use `--fail-o
793
793
 
794
794
  ### Example Configurations
795
795
 
796
- See `examples/configs/` directory:
796
+ See [examples/configs/](examples/configs/) directory for essential configurations:
797
+ - `basic-config.yaml` - Minimal configuration with defaults
798
+ - `offline-validation.yaml` - For environments without internet access
799
+ - `strict-security.yaml` - Enterprise-grade security enforcement
800
+
801
+ See [examples/configs-old/](examples/configs-old/) for additional example configurations:
797
802
  - `config-privilege-escalation.yaml` - Detect privilege escalation patterns
798
803
  - `custom-wildcard-config.yaml` - Custom wildcard action validation
799
804
 
@@ -1136,9 +1141,13 @@ iam-policy-auditor/
1136
1141
  │ ├── policy_loader.py # Policy loader
1137
1142
  │ ├── policy_checks.py # Validation logic
1138
1143
  │ └── report.py # Report generation
1144
+ ├── docs/ # Documentation
1145
+ │ ├── aws-services-backup.md # AWS services backup guide
1146
+ │ ├── configuration.md # Configuration reference
1147
+ │ └── custom-checks.md # Custom checks guide
1139
1148
  └── examples/
1140
- ├── policies/ # Example policies
1141
- ├── configs/ # Example configs
1149
+ ├── iam-test-policies/ # Test IAM policies
1150
+ ├── configs/ # Essential example configs (3 files)
1142
1151
  ├── custom_checks/ # Custom check examples
1143
1152
  └── github-actions/ # GitHub workflow examples
1144
1153
  ```
@@ -25,6 +25,9 @@ help:
25
25
  @echo ""
26
26
  @echo "Examples:"
27
27
  @echo " make validate-example Run validator on example policies"
28
+ @echo ""
29
+ @echo "AWS Services Backup:"
30
+ @echo " make download-aws-services Download all AWS service definitions"
28
31
 
29
32
  # Installation
30
33
  install:
@@ -96,10 +99,15 @@ publish: build
96
99
 
97
100
  # Example validation
98
101
  validate-example:
99
- uv run iam-validator --path examples/sample_policy.json
102
+ uv run iam-validator validate --path examples/iam-test-policies/sample_policy.json --config examples/configs/basic-config.yaml
100
103
 
101
104
  validate-invalid:
102
- uv run iam-validator --path examples/invalid_policy.json || true
105
+ uv run iam-validator validate --path examples/iam-test-policies/insecure_policy.json --config examples/configs/basic-config.yaml || true
106
+
107
+ # Download AWS service definitions for backup
108
+ download-aws-services:
109
+ @echo "Downloading AWS service definitions..."
110
+ @uv run python scripts/download_aws_services.py
103
111
 
104
112
  # CI/CD simulation
105
113
  ci: check build
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iam-policy-validator
3
- Version: 1.1.2
3
+ Version: 1.2.0
4
4
  Summary: Validate AWS IAM policies for correctness and security using AWS Service Reference API
5
5
  Project-URL: Homepage, https://github.com/boogy/iam-policy-validator
6
6
  Project-URL: Documentation, https://github.com/boogy/iam-policy-validator/tree/main/docs
@@ -42,47 +42,129 @@ Description-Content-Type: text/markdown
42
42
 
43
43
  # IAM Policy Validator
44
44
 
45
- A high-performance GitHub Action and Python CLI tool that validates AWS IAM policies for correctness and security by checking against the official AWS Service Reference API.
46
-
47
- ## ✨ Features
48
-
49
- ### Core Validation
50
- - **Real-time Validation**: Validates IAM actions against AWS's official service reference API
51
- - **AWS IAM Access Analyzer Integration**: Validate policies using AWS's official policy validation service
52
- - **Custom Policy Checks**: Verify policies don't grant specific actions, check for new access, and detect public exposure (29+ resource types supported)
53
- - **Condition Key Checking**: Verifies that condition keys are valid for each action
54
- - **ARN Format Validation**: Ensures resource ARNs follow proper AWS format with compiled regex patterns
55
- - **Security Best Practices**: Identifies overly permissive policies and security risks
56
-
57
- ### Performance Enhancements
58
- - **Service Pre-fetching**: Common AWS services cached at startup for faster validation
59
- - **LRU Memory Cache**: Recently accessed services cached with TTL support
60
- - **Request Coalescing**: Duplicate API requests automatically deduplicated
61
- - **Parallel Check Execution**: Multiple validation checks run concurrently
62
- - **HTTP/2 Support**: Multiplexed connections for better API performance
63
- - **Optimized Connection Pool**: 20 keepalive connections, 50 max connections
64
-
65
- ### GitHub Integration
66
- - **PR Comments**: Post detailed validation reports as PR comments
67
- - **Line-Specific Reviews**: Add review comments on exact policy lines
68
- - **Label Management**: Automatically add/remove PR labels based on results
69
- - **Commit Status**: Set commit status to pass/fail based on validation
70
- - **Comment Updates**: Update existing comments instead of creating duplicates
71
-
72
- ### Output Formats
73
- - **Console** (default): Clean terminal output with colors and tables
74
- - **Enhanced**: Modern visual output with progress bars, tree structure, and rich visuals
75
- - **JSON**: Structured format for programmatic processing
76
- - **Markdown**: GitHub-flavored markdown for PR comments
77
- - **SARIF**: GitHub code scanning integration format
78
- - **CSV**: Spreadsheet-compatible format for analysis
79
- - **HTML**: Interactive reports with filtering and search
80
-
81
- ### Extensibility
82
- - **Plugin System**: Easy-to-add custom validation checks
83
- - **Middleware Support**: Cross-cutting concerns like caching, timing, error handling
84
- - **Formatter Registry**: Pluggable output format system
85
- - **Configuration-Driven**: YAML-based configuration for all aspects
45
+ > **Catch IAM policy errors before they reach production** - A comprehensive security and validation tool for AWS IAM policies that combines AWS's official Access Analyzer with powerful custom security checks.
46
+
47
+ [![GitHub Actions](https://img.shields.io/badge/GitHub%20Actions-Ready-blue)](https://github.com/marketplace/actions/iam-policy-validator)
48
+ [![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
49
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
50
+
51
+ ## 🚀 Why IAM Policy Validator?
52
+
53
+ **IAM policy errors are costly and dangerous.** A single misconfigured policy can:
54
+ - Grant unintended admin access (privilege escalation)
55
+ - Expose sensitive data to the public
56
+ - ❌ Break production deployments with invalid syntax
57
+ - Create security vulnerabilities that persist for months
58
+
59
+ **This tool prevents these issues** by:
60
+ - **Validating early** - Catch errors in PRs before merge
61
+ - **Comprehensive checks** - AWS Access Analyzer + 15+ security checks
62
+ - **Smart filtering** - Auto-detects IAM policies from mixed JSON/YAML files
63
+ - **Developer-friendly** - Clear error messages with fix suggestions
64
+ - ✅ **Zero setup** - Works as a GitHub Action out of the box
65
+
66
+ ## Key Features
67
+
68
+ ### 🔍 Multi-Layer Validation
69
+ - **AWS IAM Access Analyzer** - Official AWS validation (syntax, permissions, security)
70
+ - **Custom Security Checks** - 15+ specialized checks for best practices
71
+ - **Policy Comparison** - Detect new permissions vs baseline (prevent scope creep)
72
+ - **Public Access Detection** - Check 29+ AWS resource types for public exposure
73
+ - **Privilege Escalation Detection** - Identify dangerous action combinations
74
+
75
+ ### 🎯 Smart & Efficient
76
+ - **Automatic IAM Policy Detection** - Scans mixed repos, filters non-IAM files automatically
77
+ - **Wildcard Expansion** - Expands `s3:Get*` patterns to validate specific actions
78
+ - **Offline Validation** - Download AWS service definitions for air-gapped environments
79
+ - **JSON + YAML Support** - Native support for both formats
80
+ - **Streaming Mode** - Memory-efficient processing for large policy sets
81
+
82
+ ### Performance Optimized
83
+ - **Service Pre-fetching** - Common AWS services cached at startup (faster validation)
84
+ - **LRU Memory Cache** - Recently accessed services cached with TTL
85
+ - **Request Coalescing** - Duplicate API requests automatically deduplicated
86
+ - **Parallel Execution** - Multiple checks run concurrently
87
+ - **HTTP/2 Support** - Multiplexed connections for better API performance
88
+
89
+ ### 📊 Output Formats
90
+ - **Console** (default) - Clean terminal output with colors and tables
91
+ - **Enhanced** - Modern visual output with progress bars and tree structure
92
+ - **JSON** - Structured format for programmatic processing
93
+ - **Markdown** - GitHub-flavored markdown for PR comments
94
+ - **SARIF** - GitHub code scanning integration format
95
+ - **CSV** - Spreadsheet-compatible for analysis
96
+ - **HTML** - Interactive reports with filtering and search
97
+
98
+ ### 🔌 Extensibility
99
+ - **Plugin System** - Easy-to-add custom validation checks
100
+ - **Configuration-Driven** - YAML-based configuration for all aspects
101
+ - **CI/CD Ready** - GitHub Actions, GitLab CI, Jenkins, CircleCI
102
+
103
+ ## 📈 Real-World Impact
104
+
105
+ ### Common IAM Policy Issues This Tool Catches
106
+
107
+ **Before IAM Policy Validator:**
108
+ ```json
109
+ {
110
+ "Statement": [{
111
+ "Effect": "Allow",
112
+ "Action": "s3:*", // ❌ Too permissive
113
+ "Resource": "*" // ❌ All buckets!
114
+ }]
115
+ }
116
+ ```
117
+ **Issue:** Grants full S3 access to ALL buckets (data breach risk)
118
+
119
+ **After IAM Policy Validator:**
120
+ ```
121
+ ❌ MEDIUM: Statement applies to all resources (*)
122
+ ❌ HIGH: Wildcard action 's3:*' with resource '*' is overly permissive
123
+ 💡 Suggestion: Specify exact actions and bucket ARNs
124
+ ```
125
+
126
+ ### Privilege Escalation Detection
127
+
128
+ **Dangerous combination across multiple statements:**
129
+ ```json
130
+ {
131
+ "Statement": [
132
+ {"Action": "iam:CreateUser"}, // Seems innocent
133
+ {"Action": "iam:AttachUserPolicy"} // Also seems innocent
134
+ ]
135
+ }
136
+ ```
137
+
138
+ **What the validator catches:**
139
+ ```
140
+ 🚨 CRITICAL: Privilege escalation risk detected!
141
+ Actions ['iam:CreateUser', 'iam:AttachUserPolicy'] allow:
142
+ 1. Create new IAM user
143
+ 2. Attach AdministratorAccess policy to that user
144
+ 3. Gain full AWS account access
145
+
146
+ 💡 Add conditions or separate these permissions
147
+ ```
148
+
149
+ ### Public Access Prevention
150
+
151
+ **Before merge:**
152
+ ```json
153
+ {
154
+ "Principal": "*", // ❌ Anyone on the internet!
155
+ "Action": "s3:GetObject",
156
+ "Resource": "arn:aws:s3:::my-private-data/*"
157
+ }
158
+ ```
159
+
160
+ **Blocked by validator:**
161
+ ```
162
+ 🛑 CRITICAL: Resource policy allows public access
163
+ 29 resource types checked: AWS::S3::Bucket
164
+ Principal "*" grants internet-wide access to private data
165
+
166
+ 💡 Use specific AWS principals or add IP restrictions
167
+ ```
86
168
 
87
169
  ## Quick Start
88
170
 
@@ -387,27 +469,56 @@ See [default-config.yaml](default-config.yaml) for a complete configuration exam
387
469
 
388
470
  ### GitHub Action Inputs
389
471
 
390
- | Input | Description | Required | Default |
391
- | ----------------------------- | ---------------------------------------------------------------------- | -------- | ----------------- |
392
- | `path` | Path(s) to IAM policy file or directory (newline-separated) | Yes | - |
393
- | `config-file` | Path to custom configuration file (iam-validator.yaml) | No | "" |
394
- | `fail-on-warnings` | Fail validation if warnings are found | No | `false` |
395
- | `post-comment` | Post validation results as PR comment | No | `true` |
396
- | `create-review` | Create line-specific review comments on PR | No | `true` |
397
- | `format` | Output format (console, enhanced, json, markdown, sarif, csv, html) | No | `console` |
398
- | `output-file` | Path to save output file | No | "" |
399
- | `recursive` | Recursively search directories for policy files | No | `true` |
400
- | `use-access-analyzer` | Use AWS IAM Access Analyzer for validation | No | `false` |
401
- | `access-analyzer-region` | AWS region for Access Analyzer | No | `us-east-1` |
402
- | `policy-type` | Policy type (IDENTITY_POLICY, RESOURCE_POLICY, SERVICE_CONTROL_POLICY) | No | `IDENTITY_POLICY` |
403
- | `run-all-checks` | Run custom checks after Access Analyzer | No | `false` |
404
- | `check-access-not-granted` | Actions that should NOT be granted (space-separated) | No | "" |
405
- | `check-access-resources` | Resources to check with check-access-not-granted | No | "" |
406
- | `check-no-new-access` | Path to baseline policy to compare against | No | "" |
407
- | `check-no-public-access` | Check that resource policies do not allow public access | No | `false` |
408
- | `public-access-resource-type` | Resource type(s) for public access check | No | `AWS::S3::Bucket` |
409
-
410
- See [examples/github-actions/](examples/github-actions/) for more workflow examples.
472
+ #### Core Options
473
+ | Input | Description | Required | Default |
474
+ | ------------------ | ----------------------------------------------------------- | -------- | ------- |
475
+ | `path` | Path(s) to IAM policy file or directory (newline-separated) | Yes | - |
476
+ | `config-file` | Path to custom configuration file (.yaml) | No | `""` |
477
+ | `fail-on-warnings` | Fail validation if warnings are found | No | `false` |
478
+ | `recursive` | Recursively search directories for policy files | No | `true` |
479
+
480
+ #### GitHub Integration
481
+ | Input | Description | Required | Default |
482
+ | --------------- | ------------------------------------------ | -------- | ------- |
483
+ | `post-comment` | Post validation results as PR comment | No | `true` |
484
+ | `create-review` | Create line-specific review comments on PR | No | `true` |
485
+
486
+ #### Output Options
487
+ | Input | Description | Required | Default |
488
+ | ------------- | -------------------------------------------------------------------------------- | -------- | --------- |
489
+ | `format` | Output format: `console`, `enhanced`, `json`, `markdown`, `sarif`, `csv`, `html` | No | `console` |
490
+ | `output-file` | Path to save output file (for non-console formats) | No | `""` |
491
+
492
+ #### AWS Access Analyzer
493
+ | Input | Description | Required | Default |
494
+ | ------------------------ | --------------------------------------------------------------------------- | -------- | ----------------- |
495
+ | `use-access-analyzer` | Use AWS IAM Access Analyzer for validation | No | `false` |
496
+ | `access-analyzer-region` | AWS region for Access Analyzer | No | `us-east-1` |
497
+ | `policy-type` | Policy type: `IDENTITY_POLICY`, `RESOURCE_POLICY`, `SERVICE_CONTROL_POLICY` | No | `IDENTITY_POLICY` |
498
+ | `run-all-checks` | Run custom checks after Access Analyzer (sequential mode) | No | `false` |
499
+
500
+ #### Custom Policy Checks (Access Analyzer)
501
+ | Input | Description | Required | Default |
502
+ | ----------------------------- | --------------------------------------------------------------------------- | -------- | ----------------- |
503
+ | `check-access-not-granted` | Actions that should NOT be granted (space-separated, max 100) | No | `""` |
504
+ | `check-access-resources` | Resources to check with check-access-not-granted (space-separated, max 100) | No | `""` |
505
+ | `check-no-new-access` | Path to baseline policy to compare against (detect new permissions) | No | `""` |
506
+ | `check-no-public-access` | Check that resource policies do not allow public access | No | `false` |
507
+ | `public-access-resource-type` | Resource type(s) for public access check (29+ types supported, or `all`) | No | `AWS::S3::Bucket` |
508
+
509
+ #### Advanced Options
510
+ | Input | Description | Required | Default |
511
+ | ------------------- | -------------------------------------------------------------- | -------- | --------- |
512
+ | `custom-checks-dir` | Path to directory containing custom validation checks | No | `""` |
513
+ | `log-level` | Logging level: `debug`, `info`, `warning`, `error`, `critical` | No | `warning` |
514
+
515
+ **💡 Pro Tips:**
516
+ - Use `custom-checks-dir` to add organization-specific validation rules
517
+ - Set `log-level: debug` when troubleshooting workflow issues
518
+ - Configure `aws-services-dir` in your config file for offline validation
519
+ - The action automatically filters IAM policies from mixed JSON/YAML files
520
+
521
+ See [examples/github-actions/](examples/github-actions/) for 8 ready-to-use workflow examples.
411
522
 
412
523
  ### As a CLI Tool
413
524
 
@@ -712,7 +823,8 @@ The comprehensive [DOCS.md](DOCS.md) file contains everything you need:
712
823
  - [GitHub Actions Workflows](examples/github-actions/)
713
824
  - [Custom Checks](examples/custom_checks/)
714
825
  - [Configuration Files](examples/configs/)
715
- - [Sample Policies](examples/policies/)
826
+ - [Test IAM Policies](examples/iam-test-policies/)
827
+ - **[AWS Services Backup Guide](docs/aws-services-backup.md)** - Offline validation
716
828
  - **[Contributing Guide](CONTRIBUTING.md)** - Contribution guidelines
717
829
  - **[Publishing Guide](docs/development/PUBLISHING.md)** - Release process
718
830