iam-policy-validator 1.10.2__tar.gz → 1.10.3__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 (755) hide show
  1. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/.github/workflows/ci.yml +4 -4
  2. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/.github/workflows/cleanup-prereleases.yml +1 -1
  3. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/.github/workflows/codeql.yml +4 -4
  4. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/.github/workflows/pre-release.yml +1 -1
  5. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/.github/workflows/release.yml +2 -2
  6. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/.github/workflows/scorecard.yml +2 -2
  7. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/PKG-INFO +1 -1
  8. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/check-reference.md +53 -15
  9. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/full-reference-config.yaml +51 -2
  10. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/__version__.py +1 -1
  11. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/wildcard_resource.py +29 -7
  12. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/config/defaults.py +28 -0
  13. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/pyproject.toml +1 -1
  14. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_wildcard_resource_check.py +135 -0
  15. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/uv.lock +107 -107
  16. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/.github/dependabot.yml +0 -0
  17. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/.gitignore +0 -0
  18. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/.python-version +0 -0
  19. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/CONTRIBUTING.md +0 -0
  20. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/DOCS.md +0 -0
  21. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/LICENSE +0 -0
  22. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/Makefile +0 -0
  23. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/README.md +0 -0
  24. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/SECURITY.md +0 -0
  25. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/action.yaml +0 -0
  26. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/_manifest.json +0 -0
  27. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/_services.json +0 -0
  28. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/a2c.json +0 -0
  29. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/a4b.json +0 -0
  30. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/access-analyzer.json +0 -0
  31. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/account.json +0 -0
  32. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/acm-pca.json +0 -0
  33. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/acm.json +0 -0
  34. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/action-recommendations.json +0 -0
  35. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/activate.json +0 -0
  36. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/aiops.json +0 -0
  37. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/airflow.json +0 -0
  38. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/amplify.json +0 -0
  39. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/amplifybackend.json +0 -0
  40. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/amplifyuibuilder.json +0 -0
  41. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/aoss.json +0 -0
  42. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/apigateway.json +0 -0
  43. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/app-integrations.json +0 -0
  44. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/appconfig.json +0 -0
  45. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/appfabric.json +0 -0
  46. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/appflow.json +0 -0
  47. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/application-autoscaling.json +0 -0
  48. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/application-signals.json +0 -0
  49. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/application-transformation.json +0 -0
  50. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/applicationinsights.json +0 -0
  51. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/appmesh-preview.json +0 -0
  52. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/appmesh.json +0 -0
  53. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/apprunner.json +0 -0
  54. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/appstream.json +0 -0
  55. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/appstudio.json +0 -0
  56. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/appsync.json +0 -0
  57. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/apptest.json +0 -0
  58. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/aps.json +0 -0
  59. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/arc-region-switch.json +0 -0
  60. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/arc-zonal-shift.json +0 -0
  61. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/arsenal.json +0 -0
  62. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/artifact.json +0 -0
  63. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/athena.json +0 -0
  64. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/auditmanager.json +0 -0
  65. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/autoscaling-plans.json +0 -0
  66. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/autoscaling.json +0 -0
  67. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/aws-marketplace-management.json +0 -0
  68. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/aws-marketplace.json +0 -0
  69. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/aws-portal.json +0 -0
  70. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/awsconnector.json +0 -0
  71. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/b2bi.json +0 -0
  72. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/backup-gateway.json +0 -0
  73. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/backup-search.json +0 -0
  74. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/backup-storage.json +0 -0
  75. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/backup.json +0 -0
  76. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/batch.json +0 -0
  77. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/bcm-dashboards.json +0 -0
  78. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/bcm-data-exports.json +0 -0
  79. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/bcm-pricing-calculator.json +0 -0
  80. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/bcm-recommended-actions.json +0 -0
  81. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/bedrock-agentcore.json +0 -0
  82. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/bedrock.json +0 -0
  83. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/billing.json +0 -0
  84. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/billingconductor.json +0 -0
  85. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/braket.json +0 -0
  86. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/budgets.json +0 -0
  87. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/bugbust.json +0 -0
  88. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cases.json +0 -0
  89. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cassandra.json +0 -0
  90. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ce.json +0 -0
  91. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/chatbot.json +0 -0
  92. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/chime.json +0 -0
  93. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cleanrooms-ml.json +0 -0
  94. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cleanrooms.json +0 -0
  95. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cloud9.json +0 -0
  96. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/clouddirectory.json +0 -0
  97. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cloudformation.json +0 -0
  98. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cloudfront-keyvaluestore.json +0 -0
  99. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cloudfront.json +0 -0
  100. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cloudhsm.json +0 -0
  101. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cloudsearch.json +0 -0
  102. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cloudshell.json +0 -0
  103. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cloudtrail-data.json +0 -0
  104. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cloudtrail.json +0 -0
  105. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cloudwatch.json +0 -0
  106. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codeartifact.json +0 -0
  107. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codebuild.json +0 -0
  108. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codecatalyst.json +0 -0
  109. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codecommit.json +0 -0
  110. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codeconnections.json +0 -0
  111. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codedeploy-commands-secure.json +0 -0
  112. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codedeploy.json +0 -0
  113. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codeguru-profiler.json +0 -0
  114. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codeguru-reviewer.json +0 -0
  115. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codeguru-security.json +0 -0
  116. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codeguru.json +0 -0
  117. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codepipeline.json +0 -0
  118. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codestar-connections.json +0 -0
  119. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codestar-notifications.json +0 -0
  120. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codestar.json +0 -0
  121. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/codewhisperer.json +0 -0
  122. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cognito-identity.json +0 -0
  123. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cognito-idp.json +0 -0
  124. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cognito-sync.json +0 -0
  125. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/comprehend.json +0 -0
  126. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/comprehendmedical.json +0 -0
  127. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/compute-optimizer.json +0 -0
  128. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/config.json +0 -0
  129. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/connect-campaigns.json +0 -0
  130. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/connect.json +0 -0
  131. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/consoleapp.json +0 -0
  132. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/consolidatedbilling.json +0 -0
  133. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/controlcatalog.json +0 -0
  134. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/controltower.json +0 -0
  135. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cost-optimization-hub.json +0 -0
  136. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/cur.json +0 -0
  137. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/customer-verification.json +0 -0
  138. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/databrew.json +0 -0
  139. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/dataexchange.json +0 -0
  140. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/datapipeline.json +0 -0
  141. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/datasync.json +0 -0
  142. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/datazone.json +0 -0
  143. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/dax.json +0 -0
  144. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/dbqms.json +0 -0
  145. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/deadline.json +0 -0
  146. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/deepcomposer.json +0 -0
  147. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/deepracer.json +0 -0
  148. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/detective.json +0 -0
  149. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/devicefarm.json +0 -0
  150. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/devops-guru.json +0 -0
  151. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/directconnect.json +0 -0
  152. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/discovery.json +0 -0
  153. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/dlm.json +0 -0
  154. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/dms.json +0 -0
  155. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/docdb-elastic.json +0 -0
  156. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/drs.json +0 -0
  157. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ds-data.json +0 -0
  158. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ds.json +0 -0
  159. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/dsql.json +0 -0
  160. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/dynamodb.json +0 -0
  161. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ebs.json +0 -0
  162. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ec2-instance-connect.json +0 -0
  163. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ec2.json +0 -0
  164. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ec2messages.json +0 -0
  165. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ecr-public.json +0 -0
  166. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ecr.json +0 -0
  167. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ecs.json +0 -0
  168. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/eks-auth.json +0 -0
  169. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/eks.json +0 -0
  170. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/elasticache.json +0 -0
  171. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/elasticbeanstalk.json +0 -0
  172. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/elasticfilesystem.json +0 -0
  173. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/elasticloadbalancing.json +0 -0
  174. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/elasticmapreduce.json +0 -0
  175. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/elastictranscoder.json +0 -0
  176. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/elemental-activations.json +0 -0
  177. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/elemental-appliances-software.json +0 -0
  178. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/elemental-support-cases.json +0 -0
  179. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/elemental-support-content.json +0 -0
  180. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/emr-containers.json +0 -0
  181. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/emr-serverless.json +0 -0
  182. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/entityresolution.json +0 -0
  183. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/es.json +0 -0
  184. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/events.json +0 -0
  185. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/evidently.json +0 -0
  186. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/evs.json +0 -0
  187. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/execute-api.json +0 -0
  188. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/finspace-api.json +0 -0
  189. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/finspace.json +0 -0
  190. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/firehose.json +0 -0
  191. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/fis.json +0 -0
  192. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/fms.json +0 -0
  193. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/forecast.json +0 -0
  194. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/frauddetector.json +0 -0
  195. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/freertos.json +0 -0
  196. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/freetier.json +0 -0
  197. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/fsx.json +0 -0
  198. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/gamelift.json +0 -0
  199. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/gameliftstreams.json +0 -0
  200. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/geo-maps.json +0 -0
  201. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/geo-places.json +0 -0
  202. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/geo-routes.json +0 -0
  203. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/geo.json +0 -0
  204. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/glacier.json +0 -0
  205. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/globalaccelerator.json +0 -0
  206. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/glue.json +0 -0
  207. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/grafana.json +0 -0
  208. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/greengrass.json +0 -0
  209. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/groundstation.json +0 -0
  210. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/groundtruthlabeling.json +0 -0
  211. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/guardduty.json +0 -0
  212. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/health.json +0 -0
  213. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/healthlake.json +0 -0
  214. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/honeycode.json +0 -0
  215. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iam.json +0 -0
  216. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/identity-sync.json +0 -0
  217. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/identitystore-auth.json +0 -0
  218. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/identitystore.json +0 -0
  219. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/imagebuilder.json +0 -0
  220. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/importexport.json +0 -0
  221. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/inspector-scan.json +0 -0
  222. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/inspector.json +0 -0
  223. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/inspector2.json +0 -0
  224. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/internetmonitor.json +0 -0
  225. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/invoicing.json +0 -0
  226. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iot-device-tester.json +0 -0
  227. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iot.json +0 -0
  228. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iotanalytics.json +0 -0
  229. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iotdeviceadvisor.json +0 -0
  230. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iotevents.json +0 -0
  231. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iotfleethub.json +0 -0
  232. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iotfleetwise.json +0 -0
  233. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iotjobsdata.json +0 -0
  234. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iotmanagedintegrations.json +0 -0
  235. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iotsitewise.json +0 -0
  236. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iottwinmaker.json +0 -0
  237. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iotwireless.json +0 -0
  238. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iq-permission.json +0 -0
  239. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/iq.json +0 -0
  240. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ivs.json +0 -0
  241. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ivschat.json +0 -0
  242. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/kafka-cluster.json +0 -0
  243. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/kafka.json +0 -0
  244. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/kafkaconnect.json +0 -0
  245. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/kendra-ranking.json +0 -0
  246. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/kendra.json +0 -0
  247. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/kinesis.json +0 -0
  248. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/kinesisanalytics.json +0 -0
  249. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/kinesisvideo.json +0 -0
  250. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/kms.json +0 -0
  251. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/lakeformation.json +0 -0
  252. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/lambda.json +0 -0
  253. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/launchwizard.json +0 -0
  254. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/lex.json +0 -0
  255. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/license-manager-linux-subscriptions.json +0 -0
  256. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/license-manager-user-subscriptions.json +0 -0
  257. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/license-manager.json +0 -0
  258. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/lightsail.json +0 -0
  259. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/logs.json +0 -0
  260. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/lookoutequipment.json +0 -0
  261. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/lookoutmetrics.json +0 -0
  262. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/lookoutvision.json +0 -0
  263. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/m2.json +0 -0
  264. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/machinelearning.json +0 -0
  265. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/macie2.json +0 -0
  266. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/managedblockchain-query.json +0 -0
  267. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/managedblockchain.json +0 -0
  268. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mapcredits.json +0 -0
  269. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/marketplacecommerceanalytics.json +0 -0
  270. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mechanicalturk.json +0 -0
  271. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mediaconnect.json +0 -0
  272. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mediaconvert.json +0 -0
  273. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mediaimport.json +0 -0
  274. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/medialive.json +0 -0
  275. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mediapackage-vod.json +0 -0
  276. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mediapackage.json +0 -0
  277. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mediapackagev2.json +0 -0
  278. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mediastore.json +0 -0
  279. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mediatailor.json +0 -0
  280. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/medical-imaging.json +0 -0
  281. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/memorydb.json +0 -0
  282. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mgh.json +0 -0
  283. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mgn.json +0 -0
  284. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/migrationhub-orchestrator.json +0 -0
  285. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/migrationhub-strategy.json +0 -0
  286. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mobileanalytics.json +0 -0
  287. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mobiletargeting.json +0 -0
  288. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/monitron.json +0 -0
  289. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mpa.json +0 -0
  290. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/mq.json +0 -0
  291. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/neptune-db.json +0 -0
  292. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/neptune-graph.json +0 -0
  293. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/network-firewall.json +0 -0
  294. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/network-security-director.json +0 -0
  295. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/networkflowmonitor.json +0 -0
  296. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/networkmanager-chat.json +0 -0
  297. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/networkmanager.json +0 -0
  298. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/networkmonitor.json +0 -0
  299. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/nimble.json +0 -0
  300. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/notifications-contacts.json +0 -0
  301. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/notifications.json +0 -0
  302. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/oam.json +0 -0
  303. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/observabilityadmin.json +0 -0
  304. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/odb.json +0 -0
  305. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/omics.json +0 -0
  306. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/one.json +0 -0
  307. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/opensearch.json +0 -0
  308. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/opsworks-cm.json +0 -0
  309. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/opsworks.json +0 -0
  310. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/organizations.json +0 -0
  311. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/osis.json +0 -0
  312. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/outposts.json +0 -0
  313. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/panorama.json +0 -0
  314. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/partnercentral-account-management.json +0 -0
  315. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/partnercentral.json +0 -0
  316. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/payment-cryptography.json +0 -0
  317. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/payments.json +0 -0
  318. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/pca-connector-ad.json +0 -0
  319. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/pca-connector-scep.json +0 -0
  320. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/pcs.json +0 -0
  321. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/personalize.json +0 -0
  322. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/pi.json +0 -0
  323. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/pipes.json +0 -0
  324. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/polly.json +0 -0
  325. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/pricing.json +0 -0
  326. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/private-networks.json +0 -0
  327. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/profile.json +0 -0
  328. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/proton.json +0 -0
  329. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/purchase-orders.json +0 -0
  330. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/q.json +0 -0
  331. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/qapps.json +0 -0
  332. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/qbusiness.json +0 -0
  333. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/qdeveloper.json +0 -0
  334. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/qldb.json +0 -0
  335. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/quicksight.json +0 -0
  336. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ram.json +0 -0
  337. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/rbin.json +0 -0
  338. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/rds-data.json +0 -0
  339. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/rds-db.json +0 -0
  340. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/rds.json +0 -0
  341. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/redshift-data.json +0 -0
  342. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/redshift-serverless.json +0 -0
  343. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/redshift.json +0 -0
  344. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/refactor-spaces.json +0 -0
  345. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/rekognition.json +0 -0
  346. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/repostspace.json +0 -0
  347. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/resiliencehub.json +0 -0
  348. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/resource-explorer-2.json +0 -0
  349. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/resource-explorer.json +0 -0
  350. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/resource-groups.json +0 -0
  351. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/rhelkb.json +0 -0
  352. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/robomaker.json +0 -0
  353. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/rolesanywhere.json +0 -0
  354. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/route53-recovery-cluster.json +0 -0
  355. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/route53-recovery-control-config.json +0 -0
  356. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/route53-recovery-readiness.json +0 -0
  357. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/route53.json +0 -0
  358. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/route53domains.json +0 -0
  359. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/route53profiles.json +0 -0
  360. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/route53resolver.json +0 -0
  361. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/rtbfabric.json +0 -0
  362. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/rum.json +0 -0
  363. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/s3-object-lambda.json +0 -0
  364. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/s3-outposts.json +0 -0
  365. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/s3.json +0 -0
  366. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/s3express.json +0 -0
  367. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/s3tables.json +0 -0
  368. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/s3vectors.json +0 -0
  369. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sagemaker-data-science-assistant.json +0 -0
  370. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sagemaker-geospatial.json +0 -0
  371. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sagemaker-mlflow.json +0 -0
  372. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sagemaker.json +0 -0
  373. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/savingsplans.json +0 -0
  374. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/scheduler.json +0 -0
  375. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/schemas.json +0 -0
  376. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/scn.json +0 -0
  377. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sdb.json +0 -0
  378. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/secretsmanager.json +0 -0
  379. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/security-ir.json +0 -0
  380. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/securityhub.json +0 -0
  381. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/securitylake.json +0 -0
  382. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/serverlessrepo.json +0 -0
  383. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/servicecatalog.json +0 -0
  384. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/servicediscovery.json +0 -0
  385. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/serviceextract.json +0 -0
  386. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/servicequotas.json +0 -0
  387. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ses.json +0 -0
  388. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/shield.json +0 -0
  389. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/signer.json +0 -0
  390. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/signin.json +0 -0
  391. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/simspaceweaver.json +0 -0
  392. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sms-voice.json +0 -0
  393. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sms.json +0 -0
  394. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/snow-device-management.json +0 -0
  395. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/snowball.json +0 -0
  396. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sns.json +0 -0
  397. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/social-messaging.json +0 -0
  398. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sqlworkbench.json +0 -0
  399. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sqs.json +0 -0
  400. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ssm-contacts.json +0 -0
  401. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ssm-guiconnect.json +0 -0
  402. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ssm-incidents.json +0 -0
  403. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ssm-quicksetup.json +0 -0
  404. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ssm-sap.json +0 -0
  405. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ssm.json +0 -0
  406. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ssmmessages.json +0 -0
  407. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sso-directory.json +0 -0
  408. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sso-oauth.json +0 -0
  409. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sso.json +0 -0
  410. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/states.json +0 -0
  411. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/storagegateway.json +0 -0
  412. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sts.json +0 -0
  413. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/support-console.json +0 -0
  414. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/support.json +0 -0
  415. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/supportapp.json +0 -0
  416. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/supportplans.json +0 -0
  417. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/sustainability.json +0 -0
  418. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/swf.json +0 -0
  419. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/synthetics.json +0 -0
  420. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/tag.json +0 -0
  421. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/tax.json +0 -0
  422. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/textract.json +0 -0
  423. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/thinclient.json +0 -0
  424. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/timestream-influxdb.json +0 -0
  425. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/timestream.json +0 -0
  426. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/tiros.json +0 -0
  427. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/tnb.json +0 -0
  428. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/transcribe.json +0 -0
  429. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/transfer.json +0 -0
  430. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/transform.json +0 -0
  431. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/translate.json +0 -0
  432. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/trustedadvisor.json +0 -0
  433. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/ts.json +0 -0
  434. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/user-subscriptions.json +0 -0
  435. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/uxc.json +0 -0
  436. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/vendor-insights.json +0 -0
  437. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/verified-access.json +0 -0
  438. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/verifiedpermissions.json +0 -0
  439. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/voiceid.json +0 -0
  440. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/vpc-lattice-svcs.json +0 -0
  441. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/vpc-lattice.json +0 -0
  442. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/vpce.json +0 -0
  443. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/waf-regional.json +0 -0
  444. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/waf.json +0 -0
  445. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/wafv2.json +0 -0
  446. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/wam.json +0 -0
  447. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/wellarchitected.json +0 -0
  448. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/wickr.json +0 -0
  449. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/wisdom.json +0 -0
  450. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/workdocs.json +0 -0
  451. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/worklink.json +0 -0
  452. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/workmail.json +0 -0
  453. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/workmailmessageflow.json +0 -0
  454. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/workspaces-instances.json +0 -0
  455. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/workspaces-web.json +0 -0
  456. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/workspaces.json +0 -0
  457. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/aws_services/xray.json +0 -0
  458. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/README.md +0 -0
  459. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/ROADMAP.md +0 -0
  460. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/SDK.md +0 -0
  461. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/aws-api-configuration.md +0 -0
  462. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/aws-services-backup.md +0 -0
  463. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/condition-requirements.md +0 -0
  464. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/configuration.md +0 -0
  465. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/custom-checks.md +0 -0
  466. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/development/PUBLISHING.md +0 -0
  467. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/development/pre-release-guide.md +0 -0
  468. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/github-actions-examples.md +0 -0
  469. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/github-actions-workflows.md +0 -0
  470. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/modular-configuration.md +0 -0
  471. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/privilege-escalation.md +0 -0
  472. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/python-library-usage.md +0 -0
  473. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/docs/smart-filtering.md +0 -0
  474. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/README.md +0 -0
  475. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/access-analyzer/example1.json +0 -0
  476. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/access-analyzer/example2.json +0 -0
  477. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/README.md +0 -0
  478. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/basic-config.yaml +0 -0
  479. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/ci-cd-config.yaml +0 -0
  480. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/development-config.yaml +0 -0
  481. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/github-labels-config.yaml +0 -0
  482. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/ignore-patterns-list-example.yaml +0 -0
  483. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/minimal-validation-config.yaml +0 -0
  484. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/offline-validation.yaml +0 -0
  485. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/policy-level-condition-enforcement-config.yaml +0 -0
  486. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/principal-condition-enforcement.yaml +0 -0
  487. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/principal-validation-public-with-conditions.yaml +0 -0
  488. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/principal-validation-relaxed.yaml +0 -0
  489. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/principal-validation-strict.yaml +0 -0
  490. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/privilege-escalation-focus-config.yaml +0 -0
  491. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/resource-policy-config.yaml +0 -0
  492. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/security-audit-config.yaml +0 -0
  493. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/configs/strict-security.yaml +0 -0
  494. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/custom_checks/README.md +0 -0
  495. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/custom_checks/advanced_multi_condition_validator.py +0 -0
  496. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/custom_checks/cross_account_external_id_check.py +0 -0
  497. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/custom_checks/domain_restriction_check.py +0 -0
  498. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/custom_checks/encryption_required_check.py +0 -0
  499. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/custom_checks/mfa_required_check.py +0 -0
  500. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/custom_checks/region_restriction_check.py +0 -0
  501. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/custom_checks/tag_enforcement_check.py +0 -0
  502. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/custom_checks/time_based_access_check.py +0 -0
  503. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/github-actions/README.md +0 -0
  504. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/github-actions/access-analyzer-only.yaml +0 -0
  505. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/github-actions/basic-validation.yaml +0 -0
  506. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/github-actions/custom-policy-checks.yaml +0 -0
  507. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/github-actions/multi-region-validation.yaml +0 -0
  508. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/github-actions/resource-policy-validation.yaml +0 -0
  509. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/github-actions/sarif-code-scanning.yaml +0 -0
  510. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/github-actions/sequential-validation.yaml +0 -0
  511. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/github-actions/two-step-validation.yaml +0 -0
  512. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/github-actions/validate-changed-files.yaml +0 -0
  513. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/README.md +0 -0
  514. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/allowed-wildcard-resource.json +0 -0
  515. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/api_gateway_management.json +0 -0
  516. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/athena_query_access.json +0 -0
  517. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/backup_vault_access.json +0 -0
  518. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/cloudformation_deployer.json +0 -0
  519. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/cloudwatch_monitoring.json +0 -0
  520. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/cognito_user_pool.json +0 -0
  521. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/dynamodb_table_access.json +0 -0
  522. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/ecs_task_execution.json +0 -0
  523. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/eventbridge_rules.json +0 -0
  524. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/glue_etl_jobs.json +0 -0
  525. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/insecure_policy.json +0 -0
  526. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/insecure_policy.yaml +0 -0
  527. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/invalid-resource-constraint.json +0 -0
  528. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/invalid-sid-special-chars.json +0 -0
  529. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/invalid-sid-with-spaces.json +0 -0
  530. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/invalid_policy.json +0 -0
  531. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/kms_encryption_keys.json +0 -0
  532. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/lambda_developer.json +0 -0
  533. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/lambda_developer.yaml +0 -0
  534. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/maximum_size_policy.json +0 -0
  535. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/policy_missing_required_tags.json +0 -0
  536. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/policy_tag_enforcement_example.json +0 -0
  537. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/policy_with_wildcard_resources.json +0 -0
  538. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/privilege_escalation_scattered.json +0 -0
  539. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/rds_database_admin.json +0 -0
  540. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/s3_bucket_access.yaml +0 -0
  541. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/sample_policy.json +0 -0
  542. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/sample_policy.yaml +0 -0
  543. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/secrets_manager_access.json +0 -0
  544. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/sensitive-action-wildcards.json +0 -0
  545. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/sns_sqs_messaging.json +0 -0
  546. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/step_functions_workflow.json +0 -0
  547. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/terraform-template-policy.json +0 -0
  548. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/test_none_of_valid.json +0 -0
  549. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/test_none_of_violations.json +0 -0
  550. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/valid-sid-formats.json +0 -0
  551. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/wildcard_examples.json +0 -0
  552. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/wildcard_examples.yaml +0 -0
  553. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/wrong-condition-key.json +0 -0
  554. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/identity-policies/wrong-s3-condition.json +0 -0
  555. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-control-policies/rcp-invalid-allow-effect.json +0 -0
  556. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-control-policies/rcp-invalid-not-action.json +0 -0
  557. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-control-policies/rcp-invalid-specific-principal.json +0 -0
  558. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-control-policies/rcp-invalid-unsupported-service.json +0 -0
  559. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-control-policies/rcp-invalid-wildcard-action.json +0 -0
  560. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-control-policies/rcp-valid-enforce-encryption.json +0 -0
  561. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/README.md +0 -0
  562. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/backup-vault-policy-org-access.json +0 -0
  563. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/ecr-repository-policy-org-restricted.json +0 -0
  564. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/ecr-repository-policy-public.json +0 -0
  565. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/efs-filesystem-policy-vpc-only.json +0 -0
  566. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/glacier-vault-policy-cross-account.json +0 -0
  567. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/kms-key-policy-cross-account.json +0 -0
  568. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/kms-key-policy-insecure.json +0 -0
  569. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/kms-key-policy-org-restricted.json +0 -0
  570. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/kms-key-policy-service-specific.json +0 -0
  571. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/lambda-permission-api-gateway.json +0 -0
  572. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/lambda-permission-cross-account-invoke.json +0 -0
  573. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/lambda-permission-eventbridge-multiple.json +0 -0
  574. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/lambda-permission-public-url.json +0 -0
  575. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/lambda-permission-s3-trigger.json +0 -0
  576. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/opensearch-domain-policy-ip-restricted.json +0 -0
  577. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/s3-bucket-policy-cloudfront.json +0 -0
  578. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/s3-bucket-policy-cross-account-org.json +0 -0
  579. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/s3-bucket-policy-insecure-transport.json +0 -0
  580. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/s3-bucket-policy-ip-restriction.json +0 -0
  581. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/s3-bucket-policy-public-with-conditions.json +0 -0
  582. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/s3-bucket-policy-public.json +0 -0
  583. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/s3-bucket-policy-specific-account.json +0 -0
  584. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/s3-bucket-policy-vpc-endpoint.json +0 -0
  585. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/s3-bucket-policy-wildcard-actions.json +0 -0
  586. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/secrets-manager-policy-cross-account.json +0 -0
  587. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account-mfa.json +0 -0
  588. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account.json +0 -0
  589. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/sns-topic-policy-eventbridge.json +0 -0
  590. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/sns-topic-policy-org-wide.json +0 -0
  591. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/sns-topic-policy-public-no-conditions.json +0 -0
  592. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/sqs-queue-policy-cross-account-role.json +0 -0
  593. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/sqs-queue-policy-iam-users-mfa.json +0 -0
  594. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/sqs-queue-policy-public.json +0 -0
  595. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/resource-policies/sqs-queue-policy-sns-subscription.json +0 -0
  596. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/service-control-policies/deny-root-account-usage.json +0 -0
  597. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/service-control-policies/require-mfa.json +0 -0
  598. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/service-control-policies/restrict-regions.json +0 -0
  599. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/wrong_actions_mismatch/README.md +0 -0
  600. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/wrong_actions_mismatch/correct-condition-wrong-key.json +0 -0
  601. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/wrong_actions_mismatch/dynamodb-wrong-resources.json +0 -0
  602. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/wrong_actions_mismatch/ec2-wrong-resources.json +0 -0
  603. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/wrong_actions_mismatch/iam-wrong-resources.json +0 -0
  604. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/wrong_actions_mismatch/lambda-wrong-resources.json +0 -0
  605. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/wrong_actions_mismatch/s3-wrong-resources.json +0 -0
  606. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/wrong_actions_mismatch/sqs-sns-wrong-resources.json +0 -0
  607. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/iam-test-policies/wrong_actions_mismatch/typo-condition-field.json +0 -0
  608. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/README.md +0 -0
  609. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/example1_basic_usage.py +0 -0
  610. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/example1_basic_usage_new.py +0 -0
  611. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/example2_config_file.py +0 -0
  612. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/example2_context_manager.py +0 -0
  613. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/example3_policy_manipulation.py +0 -0
  614. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/example3_programmatic_config.py +0 -0
  615. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/example4_custom_condition_requirements.py +0 -0
  616. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/policies/my-policy.json +0 -0
  617. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/policies/policy1.json +0 -0
  618. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/policies/policy2.json +0 -0
  619. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/library-usage/quick_reference.py +0 -0
  620. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/trust-policies/INVALID-wrong-principal-type.json +0 -0
  621. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/trust-policies/README.md +0 -0
  622. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/trust-policies/cross-account-trust-policy.json +0 -0
  623. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/trust-policies/github-actions-oidc-trust-policy.json +0 -0
  624. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/trust-policies/lambda-service-role-trust-policy.json +0 -0
  625. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/examples/trust-policies/saml-federated-trust-policy.json +0 -0
  626. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/__init__.py +0 -0
  627. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/__main__.py +0 -0
  628. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/__init__.py +0 -0
  629. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/action_condition_enforcement.py +0 -0
  630. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/action_resource_matching.py +0 -0
  631. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/action_validation.py +0 -0
  632. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/condition_key_validation.py +0 -0
  633. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/condition_type_mismatch.py +0 -0
  634. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/full_wildcard.py +0 -0
  635. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/mfa_condition_check.py +0 -0
  636. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/policy_size.py +0 -0
  637. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/policy_structure.py +0 -0
  638. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/policy_type_validation.py +0 -0
  639. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/principal_validation.py +0 -0
  640. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/resource_validation.py +0 -0
  641. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/sensitive_action.py +0 -0
  642. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/service_wildcard.py +0 -0
  643. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/set_operator_validation.py +0 -0
  644. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/sid_uniqueness.py +0 -0
  645. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/trust_policy_validation.py +0 -0
  646. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/utils/__init__.py +0 -0
  647. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/utils/policy_level_checks.py +0 -0
  648. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/utils/sensitive_action_matcher.py +0 -0
  649. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/utils/wildcard_expansion.py +0 -0
  650. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/checks/wildcard_action.py +0 -0
  651. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/commands/__init__.py +0 -0
  652. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/commands/analyze.py +0 -0
  653. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/commands/base.py +0 -0
  654. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/commands/cache.py +0 -0
  655. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/commands/download_services.py +0 -0
  656. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/commands/post_to_pr.py +0 -0
  657. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/commands/validate.py +0 -0
  658. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/__init__.py +0 -0
  659. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/access_analyzer.py +0 -0
  660. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/access_analyzer_report.py +0 -0
  661. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/aws_fetcher.py +0 -0
  662. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/aws_service/__init__.py +0 -0
  663. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/aws_service/cache.py +0 -0
  664. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/aws_service/client.py +0 -0
  665. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/aws_service/fetcher.py +0 -0
  666. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/aws_service/parsers.py +0 -0
  667. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/aws_service/patterns.py +0 -0
  668. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/aws_service/storage.py +0 -0
  669. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/aws_service/validators.py +0 -0
  670. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/check_registry.py +0 -0
  671. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/cli.py +0 -0
  672. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/condition_validators.py +0 -0
  673. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/config/__init__.py +0 -0
  674. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/config/aws_api.py +0 -0
  675. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/config/aws_global_conditions.py +0 -0
  676. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/config/category_suggestions.py +0 -0
  677. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/config/condition_requirements.py +0 -0
  678. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/config/config_loader.py +0 -0
  679. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/config/principal_requirements.py +0 -0
  680. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/config/sensitive_actions.py +0 -0
  681. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/config/service_principals.py +0 -0
  682. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/config/wildcards.py +0 -0
  683. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/constants.py +0 -0
  684. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/formatters/__init__.py +0 -0
  685. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/formatters/base.py +0 -0
  686. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/formatters/console.py +0 -0
  687. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/formatters/csv.py +0 -0
  688. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/formatters/enhanced.py +0 -0
  689. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/formatters/html.py +0 -0
  690. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/formatters/json.py +0 -0
  691. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/formatters/markdown.py +0 -0
  692. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/formatters/sarif.py +0 -0
  693. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/ignore_patterns.py +0 -0
  694. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/label_manager.py +0 -0
  695. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/models.py +0 -0
  696. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/policy_checks.py +0 -0
  697. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/policy_loader.py +0 -0
  698. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/pr_commenter.py +0 -0
  699. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/core/report.py +0 -0
  700. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/integrations/__init__.py +0 -0
  701. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/integrations/github_integration.py +0 -0
  702. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/integrations/ms_teams.py +0 -0
  703. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/sdk/__init__.py +0 -0
  704. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/sdk/arn_matching.py +0 -0
  705. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/sdk/context.py +0 -0
  706. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/sdk/exceptions.py +0 -0
  707. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/sdk/helpers.py +0 -0
  708. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/sdk/policy_utils.py +0 -0
  709. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/sdk/shortcuts.py +0 -0
  710. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/utils/__init__.py +0 -0
  711. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/utils/cache.py +0 -0
  712. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/utils/regex.py +0 -0
  713. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/iam_validator/utils/terminal.py +0 -0
  714. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/scripts/download_aws_services.py +0 -0
  715. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/scripts/sync_defaults_from_yaml.py +0 -0
  716. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/README.md +0 -0
  717. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/__init__.py +0 -0
  718. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_action_condition_enforcement.py +0 -0
  719. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_action_condition_enforcement_policy_level.py +0 -0
  720. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_action_resource_matching.py +0 -0
  721. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_action_validation_check.py +0 -0
  722. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_aws_api_config.py +0 -0
  723. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_aws_fetcher_wildcards.py +0 -0
  724. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_aws_global_conditions.py +0 -0
  725. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_check_id_in_comments.py +0 -0
  726. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_check_id_injection.py +0 -0
  727. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_check_registry.py +0 -0
  728. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_comment_truncation.py +0 -0
  729. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_condition_key_validation_check.py +0 -0
  730. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_condition_type_mismatch.py +0 -0
  731. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_config_loader.py +0 -0
  732. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_custom_policy_checks.py +0 -0
  733. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_full_wildcard_check.py +0 -0
  734. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_ignore_patterns.py +0 -0
  735. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_label_manager.py +0 -0
  736. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_mfa_condition_check.py +0 -0
  737. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_models.py +0 -0
  738. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_multipart_comments.py +0 -0
  739. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_policy_loader.py +0 -0
  740. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_policy_size_check.py +0 -0
  741. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_policy_type_validation.py +0 -0
  742. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_principal_validation_check.py +0 -0
  743. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_regex_utils.py +0 -0
  744. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_resource_validation_check.py +0 -0
  745. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_sensitive_action_wildcard_expansion.py +0 -0
  746. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_service_principal_wildcard.py +0 -0
  747. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_service_wildcard_check.py +0 -0
  748. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_set_operator_validation.py +0 -0
  749. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_sid_uniqueness_check.py +0 -0
  750. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_trust_policy_detection.py +0 -0
  751. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_trust_policy_detection.py.bak4 +0 -0
  752. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_trust_policy_multiple_statements.py +0 -0
  753. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_trust_policy_oidc_aud_required.py +0 -0
  754. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_trust_policy_validation.py +0 -0
  755. {iam_policy_validator-1.10.2 → iam_policy_validator-1.10.3}/tests/test_wildcard_action_check.py +0 -0
@@ -18,7 +18,7 @@ jobs:
18
18
  runs-on: ubuntu-latest
19
19
  steps:
20
20
  - name: Checkout code
21
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
21
+ uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
22
22
 
23
23
  - name: Set up Python
24
24
  uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
@@ -48,7 +48,7 @@ jobs:
48
48
  python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
49
49
  steps:
50
50
  - name: Checkout code
51
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
51
+ uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
52
52
 
53
53
  - name: Set up Python ${{ matrix.python-version }}
54
54
  uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
@@ -72,7 +72,7 @@ jobs:
72
72
  needs: [lint, test]
73
73
  steps:
74
74
  - name: Checkout code
75
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
75
+ uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
76
76
 
77
77
  - name: Set up Python
78
78
  uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
@@ -96,7 +96,7 @@ jobs:
96
96
  needs: [lint, test]
97
97
  steps:
98
98
  - name: Checkout code
99
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
99
+ uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
100
100
 
101
101
  - name: Set up Python
102
102
  uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
@@ -28,7 +28,7 @@ jobs:
28
28
 
29
29
  steps:
30
30
  - name: Checkout code
31
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
31
+ uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
32
32
 
33
33
  - name: Cleanup old pre-releases
34
34
  env:
@@ -26,18 +26,18 @@ jobs:
26
26
 
27
27
  steps:
28
28
  - name: Checkout repository
29
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
29
+ uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
30
30
 
31
31
  - name: Initialize CodeQL
32
- uses: github/codeql-action/init@0499de31b99561a6d14a36a5f662c2a54f91beee # v4
32
+ uses: github/codeql-action/init@014f16e7ab1402f30e7c3329d33797e7948572db # v4
33
33
  with:
34
34
  languages: ${{ matrix.language }}
35
35
  queries: security-extended,security-and-quality
36
36
 
37
37
  - name: Autobuild
38
- uses: github/codeql-action/autobuild@0499de31b99561a6d14a36a5f662c2a54f91beee # v4
38
+ uses: github/codeql-action/autobuild@014f16e7ab1402f30e7c3329d33797e7948572db # v4
39
39
 
40
40
  - name: Perform CodeQL Analysis
41
- uses: github/codeql-action/analyze@0499de31b99561a6d14a36a5f662c2a54f91beee # v4
41
+ uses: github/codeql-action/analyze@014f16e7ab1402f30e7c3329d33797e7948572db # v4
42
42
  with:
43
43
  category: "/language:${{matrix.language}}"
@@ -69,7 +69,7 @@ jobs:
69
69
  echo "✅ PR #${{ inputs.pr_number }}: $TITLE (branch: $BRANCH)"
70
70
 
71
71
  - name: Checkout PR branch
72
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
72
+ uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
73
73
  with:
74
74
  ref: ${{ steps.pr_info.outputs.branch }}
75
75
  fetch-depth: 0
@@ -21,7 +21,7 @@ jobs:
21
21
 
22
22
  steps:
23
23
  - name: Checkout code
24
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
24
+ uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
25
25
  with:
26
26
  fetch-depth: 0 # Full history for changelog generation
27
27
 
@@ -147,7 +147,7 @@ jobs:
147
147
 
148
148
  # steps:
149
149
  # - name: Checkout code
150
- # uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
150
+ # uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
151
151
 
152
152
  # - name: Configure Git
153
153
  # run: |
@@ -34,7 +34,7 @@ jobs:
34
34
 
35
35
  steps:
36
36
  - name: "Checkout code"
37
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
37
+ uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
38
38
  with:
39
39
  persist-credentials: false
40
40
 
@@ -57,6 +57,6 @@ jobs:
57
57
  # Upload the results to GitHub's code scanning dashboard (optional).
58
58
  # Commenting out will disable upload of results to your repo's Code Scanning dashboard
59
59
  - name: "Upload to code-scanning"
60
- uses: github/codeql-action/upload-sarif@0499de31b99561a6d14a36a5f662c2a54f91beee # v4.31.2
60
+ uses: github/codeql-action/upload-sarif@014f16e7ab1402f30e7c3329d33797e7948572db # v4.31.3
61
61
  with:
62
62
  sarif_file: results.sarif
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iam-policy-validator
3
- Version: 1.10.2
3
+ Version: 1.10.3
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
@@ -1136,6 +1136,30 @@ wildcard_action:
1136
1136
 
1137
1137
  **Exception:** Allowed if ALL actions are in the allowed_wildcards list (read-only operations).
1138
1138
 
1139
+ #### Dual Matching Strategy
1140
+
1141
+ The check uses **two complementary matching strategies** for maximum flexibility:
1142
+
1143
+ **1. Literal Match (Fast Path - no AWS API calls)**
1144
+ - Policy actions match config patterns exactly as strings
1145
+ - Example: Policy `"iam:Get*"` matches config `"iam:Get*"` → ✅ PASS
1146
+ - Performance benefit: No AWS API expansion needed
1147
+
1148
+ **2. Expanded Match (Comprehensive Path - uses AWS API)**
1149
+ - Both policy actions and config patterns expand to actual AWS actions
1150
+ - Example: Policy `"iam:GetUser"` matches config `"iam:Get*"` (expanded) → ✅ PASS
1151
+ - Ensures semantic correctness
1152
+
1153
+ **Supported Scenarios:**
1154
+
1155
+ | Policy Action | Config Pattern | Match Type | Result |
1156
+ | ----------------------- | --------------------- | ---------- | ------ |
1157
+ | `iam:Get*` | `iam:Get*` | Literal | ✅ Pass |
1158
+ | `iam:GetUser` | `iam:Get*` | Expanded | ✅ Pass |
1159
+ | `iam:Get*, iam:List*` | `iam:Get*, iam:List*` | Literal | ✅ Pass |
1160
+ | `iam:Get*, iam:GetUser` | `iam:Get*` | Literal | ✅ Pass |
1161
+ | `iam:Delete*` | `iam:Get*` | None | ❌ Fail |
1162
+
1139
1163
  #### Configuration
1140
1164
 
1141
1165
  ```yaml
@@ -1143,10 +1167,17 @@ wildcard_resource:
1143
1167
  enabled: true
1144
1168
  severity: medium
1145
1169
  # Actions allowed with Resource: "*" (default from Python module)
1170
+ # Supports BOTH literal matching and pattern expansion
1146
1171
  allowed_wildcards:
1147
- - "ec2:Describe*"
1148
- - "s3:List*"
1149
- - "iam:Get*"
1172
+ # Wildcard patterns - match both literally and expanded
1173
+ - "ec2:Describe*" # Matches: ec2:Describe* OR ec2:DescribeInstances
1174
+ - "s3:List*" # Matches: s3:List* OR s3:ListBucket
1175
+ - "iam:Get*" # Matches: iam:Get* OR iam:GetUser
1176
+
1177
+ # Specific actions - match only via expansion
1178
+ - "iam:GetUser" # Matches: iam:GetUser only
1179
+ - "s3:ListBucket" # Matches: s3:ListBucket only
1180
+
1150
1181
  # ... 25 patterns by default
1151
1182
  ```
1152
1183
 
@@ -1165,16 +1196,31 @@ wildcard_resource:
1165
1196
  **Issue:** `Statement applies to all resources (*)`
1166
1197
  **Severity:** `medium`
1167
1198
 
1168
- ✅ **PASS: Wildcard with allowed read-only actions**
1199
+ ✅ **PASS: Wildcard actions with literal match (fast path)**
1200
+ ```json
1201
+ {
1202
+ "Statement": [{
1203
+ "Effect": "Allow",
1204
+ "Action": ["iam:Get*", "iam:List*"], // Wildcard actions
1205
+ "Resource": "*" // OK - matches config literally
1206
+ }]
1207
+ }
1208
+ ```
1209
+ **Config:** `allowed_wildcards: ["iam:Get*", "iam:List*"]`
1210
+ **Match:** Literal string match (no AWS API call needed)
1211
+
1212
+ ✅ **PASS: Specific actions with expanded match**
1169
1213
  ```json
1170
1214
  {
1171
1215
  "Statement": [{
1172
1216
  "Effect": "Allow",
1173
- "Action": ["ec2:DescribeInstances", "ec2:DescribeVolumes"], // All allowed
1174
- "Resource": "*" // OK for describe actions
1217
+ "Action": ["ec2:DescribeInstances", "ec2:DescribeVolumes"], // Specific actions
1218
+ "Resource": "*" // OK - all match when config expands
1175
1219
  }]
1176
1220
  }
1177
1221
  ```
1222
+ **Config:** `allowed_wildcards: ["ec2:Describe*"]`
1223
+ **Match:** Config expands to include these specific actions
1178
1224
 
1179
1225
  ✅ **PASS: Specific resource**
1180
1226
  ```json
@@ -1187,15 +1233,7 @@ wildcard_resource:
1187
1233
  }
1188
1234
  ```
1189
1235
 
1190
- **Customize allowed wildcards:**
1191
- ```yaml
1192
- wildcard_resource:
1193
- allowed_wildcards:
1194
- - "cloudwatch:Describe*"
1195
- - "cloudwatch:Get*"
1196
- - "cloudwatch:List*"
1197
- # Only these patterns allowed with Resource: "*"
1198
- ```
1236
+ **Performance Tip:** Use exact patterns in both policy and config for fastest validation (literal match path).
1199
1237
 
1200
1238
  ---
1201
1239
 
@@ -567,19 +567,68 @@ wildcard_action:
567
567
  # Check for wildcard resources (Resource: "*")
568
568
  # Flags statements that apply to all resources
569
569
  # Exception: Allowed if ALL actions are in allowed_wildcards list
570
+ #
571
+ # ⚡ DUAL MATCHING STRATEGY:
572
+ # The check uses two complementary matching strategies to maximize flexibility:
573
+ #
574
+ # 1. LITERAL MATCH (Fast Path - no AWS API calls):
575
+ # - Policy actions match config patterns exactly as strings
576
+ # - Example:
577
+ # Config: allowed_wildcards: ["iam:Get*", "iam:List*"]
578
+ # Policy: Action: ["iam:Get*", "iam:List*"], Resource: "*"
579
+ # Result: ✅ PASS (literal string match: "iam:Get*" == "iam:Get*")
580
+ #
581
+ # 2. EXPANDED MATCH (Comprehensive Path - uses AWS API):
582
+ # - Both policy actions and config patterns expand to actual AWS actions
583
+ # - Example:
584
+ # Config: allowed_wildcards: ["iam:Get*"]
585
+ # → expands to ["iam:GetUser", "iam:GetRole", "iam:GetPolicy", ...]
586
+ # Policy: Action: ["iam:GetUser"], Resource: "*"
587
+ # Result: ✅ PASS (iam:GetUser is in expanded list)
588
+ #
589
+ # SUPPORTED SCENARIOS:
590
+ # ┌─────────────────────────┬────────────────────────┬────────────┬────────────┐
591
+ # │ Policy Action │ Config Pattern │ Match Type │ Result │
592
+ # ├─────────────────────────┼────────────────────────┼────────────┼────────────┤
593
+ # │ iam:Get* │ iam:Get* │ Literal │ ✅ Pass │
594
+ # │ iam:GetUser │ iam:Get* │ Expanded │ ✅ Pass │
595
+ # │ iam:Get*, iam:List* │ iam:Get*, iam:List* │ Literal │ ✅ Pass │
596
+ # │ iam:Get*, iam:GetUser │ iam:Get* │ Literal │ ✅ Pass │
597
+ # │ iam:Delete* │ iam:Get* │ None │ ❌ Fail │
598
+ # └─────────────────────────┴────────────────────────┴────────────┴────────────┘
599
+ #
600
+ # PERFORMANCE TIP:
601
+ # - Literal matching is faster (no AWS API expansion)
602
+ # - Use exact patterns in both policy and config for best performance
603
+ #
570
604
  wildcard_resource:
571
605
  enabled: true
572
606
  severity: medium # Security issue: medium severity
573
607
  description: "Checks for wildcard resources (*)"
574
608
 
575
609
  # Allowed wildcard patterns for actions that can be used with Resource: "*"
610
+ # Supports BOTH literal matching and pattern expansion via AWS API
611
+ #
576
612
  # Defaults are loaded from Python (iam_validator/core/config/wildcards.py)
577
613
  # Override here to customize. Default includes describe/get/list patterns for:
578
614
  # - autoscaling, cloudwatch, dynamodb, ec2, elb, iam, kms, lambda
579
615
  # - logs, rds, route53, s3 (safe operations only), sqs, apigateway
616
+ #
617
+ # Examples:
580
618
  # allowed_wildcards:
581
- # - "ec2:Describe*"
582
- # - "s3:List*"
619
+ # # Option 1: Specific wildcard patterns (will match both literally and expanded)
620
+ # - "ec2:Describe*" # Matches: ec2:Describe* (literal) OR ec2:DescribeInstances (expanded)
621
+ # - "s3:List*" # Matches: s3:List* (literal) OR s3:ListBucket (expanded)
622
+ # - "iam:Get*" # Matches: iam:Get* (literal) OR iam:GetUser (expanded)
623
+ #
624
+ # # Option 2: Specific actions (will only match via expansion)
625
+ # - "iam:GetUser" # Only matches: iam:GetUser
626
+ # - "s3:ListBucket" # Only matches: s3:ListBucket
627
+ #
628
+ # # Option 3: Mix both approaches
629
+ # - "ec2:Describe*" # Wildcard pattern
630
+ # - "iam:GetUser" # Specific action
631
+ # - "s3:List*" # Wildcard pattern
583
632
 
584
633
  # Customize validation messages (optional)
585
634
  message: "Statement applies to all resources (*)"
@@ -3,7 +3,7 @@
3
3
  This file is the single source of truth for the package version.
4
4
  """
5
5
 
6
- __version__ = "1.10.2"
6
+ __version__ = "1.10.3"
7
7
  # Parse version, handling pre-release suffixes like -rc, -alpha, -beta
8
8
  _version_base = __version__.split("-", maxsplit=1)[0] # Remove pre-release suffix if present
9
9
  __version_info__ = tuple(int(part) for part in _version_base.split("."))
@@ -39,22 +39,44 @@ class WildcardResourceCheck(PolicyCheck):
39
39
  # to all matching AWS actions using the AWS API, then checking if the policy's
40
40
  # actions are in that expanded list. This ensures only validated AWS actions
41
41
  # are allowed with Resource: "*".
42
+ allowed_wildcards_config = config.config.get("allowed_wildcards", [])
42
43
  allowed_wildcards_expanded = await self._get_expanded_allowed_wildcards(config, fetcher)
43
44
 
44
45
  # Check if ALL actions (excluding full wildcard "*") are in the expanded list
45
46
  non_wildcard_actions = [a for a in actions if a != "*"]
46
47
 
47
- if allowed_wildcards_expanded and non_wildcard_actions:
48
- # Check if all actions are in the expanded allowed list (exact match)
49
- all_actions_allowed = all(
50
- action in allowed_wildcards_expanded for action in non_wildcard_actions
48
+ if (allowed_wildcards_config or allowed_wildcards_expanded) and non_wildcard_actions:
49
+ # Strategy 1: Check literal pattern match (fast path)
50
+ # If policy action matches config pattern literally, allow it
51
+ # Example: Policy has "iam:Get*", config has "iam:Get*" -> match
52
+ all_actions_allowed_literal = all(
53
+ action in allowed_wildcards_config for action in non_wildcard_actions
51
54
  )
52
55
 
53
- # If all actions are in the expanded list, skip the wildcard resource warning
54
- if all_actions_allowed:
55
- # All actions are safe, Resource: "*" is acceptable
56
+ if all_actions_allowed_literal:
57
+ # All actions match literally, Resource: "*" is acceptable
56
58
  return issues
57
59
 
60
+ # Strategy 2: Check expanded pattern match (comprehensive path)
61
+ # Expand both policy actions and config patterns, then compare
62
+ # Example: Policy has "iam:Get*" -> ["iam:GetUser", ...],
63
+ # config has "iam:Get*" -> ["iam:GetUser", ...] -> all match
64
+ if allowed_wildcards_expanded:
65
+ expanded_statement_actions = await expand_wildcard_actions(
66
+ non_wildcard_actions, fetcher
67
+ )
68
+
69
+ # Check if all expanded actions are in the expanded allowed list (exact match)
70
+ all_actions_allowed_expanded = all(
71
+ action in allowed_wildcards_expanded
72
+ for action in expanded_statement_actions
73
+ )
74
+
75
+ # If all actions are in the expanded list, skip the wildcard resource warning
76
+ if all_actions_allowed_expanded:
77
+ # All actions are safe, Resource: "*" is acceptable
78
+ return issues
79
+
58
80
  # Flag the issue if actions are not all allowed or no allowed_wildcards configured
59
81
  message = config.config.get(
60
82
  "message", 'Statement applies to all resources `"*"` (wildcard resource).'
@@ -344,13 +344,41 @@ DEFAULT_CONFIG = {
344
344
  # Check for wildcard resources (Resource: "*")
345
345
  # Flags statements that apply to all resources
346
346
  # Exception: Allowed if ALL actions are in allowed_wildcards list
347
+ #
348
+ # DUAL MATCHING STRATEGY:
349
+ # The check uses two complementary matching strategies for maximum flexibility:
350
+ #
351
+ # 1. LITERAL MATCH (Fast Path - no AWS API calls):
352
+ # Policy actions match config patterns exactly as strings
353
+ # Example: Policy "iam:Get*" matches config "iam:Get*" → PASS
354
+ #
355
+ # 2. EXPANDED MATCH (Comprehensive Path - uses AWS API):
356
+ # Both policy actions and config patterns expand to actual AWS actions
357
+ # Example: Policy "iam:GetUser" matches config "iam:Get*" (expanded) → PASS
358
+ #
359
+ # SUPPORTED SCENARIOS:
360
+ # Policy Action Config Pattern Match Type Result
361
+ # iam:Get* iam:Get* Literal ✅ Pass
362
+ # iam:GetUser iam:Get* Expanded ✅ Pass
363
+ # iam:Get*, iam:List* iam:Get*, iam:List* Literal ✅ Pass
364
+ # iam:Get*, iam:GetUser iam:Get* Literal ✅ Pass
365
+ # iam:Delete* iam:Get* None ❌ Fail
366
+ #
367
+ # PERFORMANCE TIP: Literal matching is faster (no AWS API expansion)
347
368
  "wildcard_resource": {
348
369
  "enabled": True,
349
370
  "severity": "medium", # Security issue
350
371
  "description": "Checks for wildcard resources (*)",
351
372
  # Allowed wildcard patterns for actions that can be used with Resource: "*"
373
+ # Supports BOTH literal matching and pattern expansion via AWS API
374
+ #
352
375
  # Default: 25 read-only patterns (Describe*, List*, Get*)
353
376
  # See: iam_validator/core/config/wildcards.py
377
+ #
378
+ # Examples:
379
+ # ["ec2:Describe*"] # Matches: ec2:Describe* (literal) OR ec2:DescribeInstances (expanded)
380
+ # ["iam:GetUser"] # Matches: iam:GetUser only
381
+ # ["s3:List*"] # Matches: s3:List* (literal) OR s3:ListBucket (expanded)
354
382
  "allowed_wildcards": list(DEFAULT_ALLOWED_WILDCARDS),
355
383
  "message": "Statement applies to all resources (*)",
356
384
  "suggestion": "Replace wildcard with specific resource ARNs",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "iam-policy-validator"
3
- version = "1.10.2"
3
+ version = "1.10.3"
4
4
  description = "Validate AWS IAM policies for correctness and security using AWS Service Reference API"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -347,3 +347,138 @@ class TestWildcardResourceCheck:
347
347
 
348
348
  # ARN with wildcard pattern is not the same as Resource: "*"
349
349
  assert len(issues) == 0
350
+
351
+ @pytest.mark.asyncio
352
+ async def test_wildcard_actions_in_policy_with_allowed_wildcards(self, check, fetcher):
353
+ """Test that wildcard actions in policy match against allowed_wildcards config.
354
+
355
+ This is a regression test for the bug where policy actions like "iam:Get*"
356
+ were not being expanded before comparison with the expanded allowed_wildcards list.
357
+
358
+ Config: allowed_wildcards: ["iam:Get*", "iam:List*"]
359
+ Policy: Action: ["iam:Get*", "iam:List*"], Resource: "*"
360
+ Expected: No issues (wildcards should be allowed)
361
+ """
362
+ config = CheckConfig(
363
+ check_id="wildcard_resource",
364
+ enabled=True,
365
+ config={"allowed_wildcards": ["iam:Get*", "iam:List*"]},
366
+ )
367
+
368
+ statement = Statement(
369
+ Sid="GeneralReadOnly",
370
+ Effect="Allow",
371
+ Action=["iam:Get*", "iam:List*"],
372
+ Resource=["*"],
373
+ )
374
+
375
+ issues = await check.execute(statement, 0, fetcher, config)
376
+
377
+ # Both wildcard actions should be allowed because they match the allowed patterns
378
+ assert len(issues) == 0
379
+
380
+ @pytest.mark.asyncio
381
+ async def test_wildcard_actions_partial_match_with_allowed_wildcards(self, check, fetcher):
382
+ """Test that only partially matching wildcard actions are flagged.
383
+
384
+ Config: allowed_wildcards: ["iam:Get*"]
385
+ Policy: Action: ["iam:Get*", "iam:Delete*"], Resource: "*"
386
+ Expected: Issue flagged (iam:Delete* is not in allowed list)
387
+ """
388
+ config = CheckConfig(
389
+ check_id="wildcard_resource",
390
+ enabled=True,
391
+ config={"allowed_wildcards": ["iam:Get*"]},
392
+ )
393
+
394
+ statement = Statement(
395
+ Effect="Allow",
396
+ Action=["iam:Get*", "iam:Delete*"],
397
+ Resource=["*"],
398
+ )
399
+
400
+ issues = await check.execute(statement, 0, fetcher, config)
401
+
402
+ # iam:Delete* doesn't match iam:Get*, so should be flagged
403
+ assert len(issues) == 1
404
+
405
+ @pytest.mark.asyncio
406
+ async def test_literal_match_without_expansion(self, check, fetcher):
407
+ """Test literal pattern matching (fast path) without AWS API expansion.
408
+
409
+ When policy actions exactly match config patterns (literal string match),
410
+ the check should pass without needing to expand via AWS API.
411
+
412
+ Config: allowed_wildcards: ["iam:Get*"]
413
+ Policy: Action: ["iam:Get*"], Resource: "*"
414
+ Expected: No issues (literal match: "iam:Get*" == "iam:Get*")
415
+ """
416
+ config = CheckConfig(
417
+ check_id="wildcard_resource",
418
+ enabled=True,
419
+ config={"allowed_wildcards": ["iam:Get*"]},
420
+ )
421
+
422
+ statement = Statement(
423
+ Effect="Allow",
424
+ Action=["iam:Get*"],
425
+ Resource=["*"],
426
+ )
427
+
428
+ issues = await check.execute(statement, 0, fetcher, config)
429
+
430
+ # Should pass via literal match (fast path)
431
+ assert len(issues) == 0
432
+
433
+ @pytest.mark.asyncio
434
+ async def test_specific_action_with_wildcard_config_expansion(self, check, fetcher):
435
+ """Test specific actions matched against wildcard config (expansion path).
436
+
437
+ When policy has specific actions and config has wildcards, the config
438
+ should expand to match the specific actions.
439
+
440
+ Config: allowed_wildcards: ["iam:Get*"] -> expands to ["iam:GetUser", "iam:GetRole", ...]
441
+ Policy: Action: ["iam:GetUser"], Resource: "*"
442
+ Expected: No issues (iam:GetUser is in expanded list)
443
+ """
444
+ config = CheckConfig(
445
+ check_id="wildcard_resource",
446
+ enabled=True,
447
+ config={"allowed_wildcards": ["iam:Get*"]},
448
+ )
449
+
450
+ statement = Statement(
451
+ Effect="Allow",
452
+ Action=["iam:GetUser"],
453
+ Resource=["*"],
454
+ )
455
+
456
+ issues = await check.execute(statement, 0, fetcher, config)
457
+
458
+ # Should pass via expansion match
459
+ assert len(issues) == 0
460
+
461
+ @pytest.mark.asyncio
462
+ async def test_mixed_literal_and_expanded_match(self, check, fetcher):
463
+ """Test mix of literal and expanded actions.
464
+
465
+ Policy: Action: ["iam:Get*", "iam:GetUser"], Resource: "*"
466
+ Config: allowed_wildcards: ["iam:Get*"]
467
+ Expected: No issues (iam:Get* matches literally, iam:GetUser matches via expansion)
468
+ """
469
+ config = CheckConfig(
470
+ check_id="wildcard_resource",
471
+ enabled=True,
472
+ config={"allowed_wildcards": ["iam:Get*"]},
473
+ )
474
+
475
+ statement = Statement(
476
+ Effect="Allow",
477
+ Action=["iam:Get*", "iam:GetUser"],
478
+ Resource=["*"],
479
+ )
480
+
481
+ issues = await check.execute(statement, 0, fetcher, config)
482
+
483
+ # Should pass: iam:Get* matches literally, triggers fast path
484
+ assert len(issues) == 0