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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (678) hide show
  1. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/DOCS.md +194 -27
  2. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/Makefile +11 -5
  3. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/PKG-INFO +171 -20
  4. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/README.md +170 -19
  5. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/action.yaml +11 -1
  6. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/_manifest.json +1 -1
  7. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/aps.json +237 -0
  8. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/bedrock.json +26 -0
  9. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cognito-idp.json +100 -0
  10. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/emr-containers.json +20 -0
  11. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iotmanagedintegrations.json +20 -0
  12. iam_policy_validator-1.5.0/docs/README.md +43 -0
  13. iam_policy_validator-1.5.0/docs/ROADMAP.md +307 -0
  14. iam_policy_validator-1.5.0/docs/aws-api-configuration.md +157 -0
  15. iam_policy_validator-1.5.0/docs/condition-requirements.md +182 -0
  16. iam_policy_validator-1.5.0/docs/configuration.md +574 -0
  17. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/docs/github-actions-workflows.md +35 -12
  18. iam_policy_validator-1.5.0/docs/modular-configuration.md +327 -0
  19. iam_policy_validator-1.5.0/docs/python-library-usage.md +987 -0
  20. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/configs/basic-config.yaml +1 -2
  21. iam_policy_validator-1.5.0/examples/configs/full-reference-config.yaml +661 -0
  22. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/configs/offline-validation.yaml +0 -1
  23. iam_policy_validator-1.5.0/examples/configs/principal-condition-enforcement.yaml +240 -0
  24. iam_policy_validator-1.5.0/examples/configs/principal-validation-public-with-conditions.yaml +33 -0
  25. iam_policy_validator-1.5.0/examples/configs/principal-validation-relaxed.yaml +32 -0
  26. iam_policy_validator-1.5.0/examples/configs/principal-validation-strict.yaml +36 -0
  27. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/configs/strict-security.yaml +29 -5
  28. iam_policy_validator-1.5.0/examples/custom_checks/README.md +623 -0
  29. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/github-actions/README.md +27 -7
  30. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/github-actions/access-analyzer-only.yaml +3 -3
  31. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/github-actions/basic-validation.yaml +5 -5
  32. iam_policy_validator-1.2.0/examples/github-actions/custom-policy-checks.yml → iam_policy_validator-1.5.0/examples/github-actions/custom-policy-checks.yaml +2 -2
  33. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/github-actions/multi-region-validation.yaml +3 -3
  34. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/github-actions/resource-policy-validation.yaml +4 -4
  35. iam_policy_validator-1.5.0/examples/github-actions/sarif-code-scanning.yaml +62 -0
  36. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/github-actions/sequential-validation.yaml +4 -4
  37. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/github-actions/two-step-validation.yaml +3 -3
  38. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/github-actions/validate-changed-files.yaml +4 -4
  39. iam_policy_validator-1.5.0/examples/iam-test-policies/README.md +159 -0
  40. iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies/invalid-sid-special-chars.json +17 -0
  41. iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies/invalid-sid-with-spaces.json +23 -0
  42. iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies/valid-sid-formats.json +29 -0
  43. iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies/wrong-s3-condition.json +28 -0
  44. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-control-policies/rcp-invalid-allow-effect.json +12 -0
  45. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-control-policies/rcp-invalid-not-action.json +12 -0
  46. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-control-policies/rcp-invalid-specific-principal.json +14 -0
  47. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-control-policies/rcp-invalid-unsupported-service.json +17 -0
  48. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-control-policies/rcp-invalid-wildcard-action.json +12 -0
  49. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-control-policies/rcp-valid-enforce-encryption.json +32 -0
  50. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/README.md +218 -0
  51. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/backup-vault-policy-org-access.json +34 -0
  52. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/ecr-repository-policy-org-restricted.json +25 -0
  53. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/ecr-repository-policy-public.json +16 -0
  54. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/efs-filesystem-policy-vpc-only.json +23 -0
  55. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/glacier-vault-policy-cross-account.json +23 -0
  56. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/kms-key-policy-cross-account.json +29 -0
  57. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/kms-key-policy-insecure.json +26 -0
  58. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/kms-key-policy-org-restricted.json +38 -0
  59. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/kms-key-policy-service-specific.json +53 -0
  60. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/lambda-permission-api-gateway.json +19 -0
  61. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/lambda-permission-cross-account-invoke.json +17 -0
  62. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/lambda-permission-eventbridge-multiple.json +23 -0
  63. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/lambda-permission-public-url.json +17 -0
  64. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/lambda-permission-s3-trigger.json +22 -0
  65. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/opensearch-domain-policy-ip-restricted.json +22 -0
  66. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-cloudfront.json +19 -0
  67. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-cross-account-org.json +25 -0
  68. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-insecure-transport.json +17 -0
  69. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-ip-restriction.json +36 -0
  70. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-public-with-conditions.json +20 -0
  71. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-public.json +12 -0
  72. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-specific-account.json +17 -0
  73. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-vpc-endpoint.json +20 -0
  74. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-wildcard-actions.json +21 -0
  75. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/secrets-manager-policy-cross-account.json +25 -0
  76. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account-mfa.json +25 -0
  77. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account.json +20 -0
  78. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/sns-topic-policy-eventbridge.json +18 -0
  79. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/sns-topic-policy-org-wide.json +23 -0
  80. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/sns-topic-policy-public-no-conditions.json +15 -0
  81. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/sqs-queue-policy-cross-account-role.json +26 -0
  82. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/sqs-queue-policy-iam-users-mfa.json +27 -0
  83. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/sqs-queue-policy-public.json +12 -0
  84. iam_policy_validator-1.5.0/examples/iam-test-policies/resource-policies/sqs-queue-policy-sns-subscription.json +18 -0
  85. iam_policy_validator-1.5.0/examples/iam-test-policies/service-control-policies/deny-root-account-usage.json +16 -0
  86. iam_policy_validator-1.5.0/examples/iam-test-policies/service-control-policies/require-mfa.json +24 -0
  87. iam_policy_validator-1.5.0/examples/iam-test-policies/service-control-policies/restrict-regions.json +20 -0
  88. iam_policy_validator-1.5.0/examples/library-usage/README.md +225 -0
  89. iam_policy_validator-1.5.0/examples/library-usage/example1_basic_usage.py +77 -0
  90. iam_policy_validator-1.5.0/examples/library-usage/example2_config_file.py +111 -0
  91. iam_policy_validator-1.5.0/examples/library-usage/example3_programmatic_config.py +158 -0
  92. iam_policy_validator-1.5.0/examples/library-usage/example4_custom_condition_requirements.py +347 -0
  93. iam_policy_validator-1.5.0/examples/library-usage/quick_reference.py +230 -0
  94. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/__version__.py +1 -1
  95. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/__init__.py +15 -3
  96. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/action_condition_enforcement.py +1 -6
  97. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/condition_key_validation.py +21 -1
  98. iam_policy_validator-1.5.0/iam_validator/checks/full_wildcard.py +67 -0
  99. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/policy_size.py +1 -0
  100. iam_policy_validator-1.5.0/iam_validator/checks/policy_type_validation.py +299 -0
  101. iam_policy_validator-1.5.0/iam_validator/checks/principal_validation.py +776 -0
  102. iam_policy_validator-1.5.0/iam_validator/checks/sensitive_action.py +178 -0
  103. iam_policy_validator-1.5.0/iam_validator/checks/service_wildcard.py +105 -0
  104. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/sid_uniqueness.py +45 -7
  105. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/utils/sensitive_action_matcher.py +39 -31
  106. iam_policy_validator-1.5.0/iam_validator/checks/wildcard_action.py +62 -0
  107. iam_policy_validator-1.5.0/iam_validator/checks/wildcard_resource.py +131 -0
  108. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/commands/__init__.py +10 -1
  109. iam_policy_validator-1.5.0/iam_validator/commands/download_services.py +255 -0
  110. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/commands/post_to_pr.py +7 -0
  111. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/commands/validate.py +204 -16
  112. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/aws_fetcher.py +35 -8
  113. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/check_registry.py +25 -21
  114. iam_policy_validator-1.5.0/iam_validator/core/config/__init__.py +83 -0
  115. iam_policy_validator-1.5.0/iam_validator/core/config/aws_api.py +35 -0
  116. iam_policy_validator-1.5.0/iam_validator/core/config/condition_requirements.py +535 -0
  117. iam_policy_validator-1.5.0/iam_validator/core/config/defaults.py +390 -0
  118. iam_policy_validator-1.5.0/iam_validator/core/config/principal_requirements.py +421 -0
  119. iam_policy_validator-1.5.0/iam_validator/core/config/sensitive_actions.py +133 -0
  120. iam_policy_validator-1.5.0/iam_validator/core/config/service_principals.py +95 -0
  121. iam_policy_validator-1.5.0/iam_validator/core/config/wildcards.py +124 -0
  122. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/config_loader.py +29 -9
  123. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/formatters/enhanced.py +11 -5
  124. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/formatters/sarif.py +78 -14
  125. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/models.py +13 -3
  126. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/policy_checks.py +39 -6
  127. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/pr_commenter.py +30 -9
  128. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/pyproject.toml +2 -2
  129. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/scripts/download_aws_services.py +6 -4
  130. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/scripts/sync_defaults_from_yaml.py +3 -3
  131. iam_policy_validator-1.5.0/tests/test_aws_api_config.py +10 -0
  132. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_condition_key_validation_check.py +98 -13
  133. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_config_loader.py +1 -1
  134. iam_policy_validator-1.5.0/tests/test_full_wildcard_check.py +254 -0
  135. iam_policy_validator-1.5.0/tests/test_policy_type_validation.py +334 -0
  136. iam_policy_validator-1.5.0/tests/test_principal_validation_check.py +1084 -0
  137. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_sensitive_action_wildcard_expansion.py +38 -48
  138. iam_policy_validator-1.5.0/tests/test_service_wildcard_check.py +332 -0
  139. iam_policy_validator-1.5.0/tests/test_wildcard_action_check.py +297 -0
  140. iam_policy_validator-1.5.0/tests/test_wildcard_resource_check.py +349 -0
  141. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/uv.lock +1 -1
  142. iam_policy_validator-1.2.0/default-config.yaml +0 -876
  143. iam_policy_validator-1.2.0/docs/README.md +0 -41
  144. iam_policy_validator-1.2.0/docs/configuration.md +0 -220
  145. iam_policy_validator-1.2.0/examples/custom_checks/README.md +0 -550
  146. iam_policy_validator-1.2.0/iam_validator/checks/security_best_practices.py +0 -535
  147. iam_policy_validator-1.2.0/iam_validator/core/defaults.py +0 -366
  148. iam_policy_validator-1.2.0/tests/test_security_best_practices.py +0 -1363
  149. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/.github/dependabot.yml +0 -0
  150. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/.github/workflows/ci.yml +0 -0
  151. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/.github/workflows/release.yml +0 -0
  152. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/.gitignore +0 -0
  153. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/.python-version +0 -0
  154. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/CONTRIBUTING.md +0 -0
  155. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/LICENSE +0 -0
  156. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/_services.json +0 -0
  157. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/a2c.json +0 -0
  158. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/a4b.json +0 -0
  159. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/access-analyzer.json +0 -0
  160. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/account.json +0 -0
  161. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/acm-pca.json +0 -0
  162. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/acm.json +0 -0
  163. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/action-recommendations.json +0 -0
  164. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/activate.json +0 -0
  165. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/aiops.json +0 -0
  166. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/airflow.json +0 -0
  167. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/amplify.json +0 -0
  168. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/amplifybackend.json +0 -0
  169. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/amplifyuibuilder.json +0 -0
  170. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/aoss.json +0 -0
  171. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/apigateway.json +0 -0
  172. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/app-integrations.json +0 -0
  173. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/appconfig.json +0 -0
  174. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/appfabric.json +0 -0
  175. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/appflow.json +0 -0
  176. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/application-autoscaling.json +0 -0
  177. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/application-signals.json +0 -0
  178. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/application-transformation.json +0 -0
  179. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/applicationinsights.json +0 -0
  180. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/appmesh-preview.json +0 -0
  181. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/appmesh.json +0 -0
  182. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/apprunner.json +0 -0
  183. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/appstream.json +0 -0
  184. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/appstudio.json +0 -0
  185. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/appsync.json +0 -0
  186. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/apptest.json +0 -0
  187. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/arc-region-switch.json +0 -0
  188. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/arc-zonal-shift.json +0 -0
  189. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/arsenal.json +0 -0
  190. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/artifact.json +0 -0
  191. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/athena.json +0 -0
  192. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/auditmanager.json +0 -0
  193. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/autoscaling-plans.json +0 -0
  194. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/autoscaling.json +0 -0
  195. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/aws-marketplace-management.json +0 -0
  196. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/aws-marketplace.json +0 -0
  197. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/aws-portal.json +0 -0
  198. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/awsconnector.json +0 -0
  199. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/b2bi.json +0 -0
  200. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/backup-gateway.json +0 -0
  201. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/backup-search.json +0 -0
  202. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/backup-storage.json +0 -0
  203. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/backup.json +0 -0
  204. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/batch.json +0 -0
  205. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/bcm-dashboards.json +0 -0
  206. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/bcm-data-exports.json +0 -0
  207. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/bcm-pricing-calculator.json +0 -0
  208. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/bcm-recommended-actions.json +0 -0
  209. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/bedrock-agentcore.json +0 -0
  210. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/billing.json +0 -0
  211. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/billingconductor.json +0 -0
  212. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/braket.json +0 -0
  213. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/budgets.json +0 -0
  214. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/bugbust.json +0 -0
  215. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cases.json +0 -0
  216. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cassandra.json +0 -0
  217. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ce.json +0 -0
  218. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/chatbot.json +0 -0
  219. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/chime.json +0 -0
  220. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cleanrooms-ml.json +0 -0
  221. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cleanrooms.json +0 -0
  222. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cloud9.json +0 -0
  223. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/clouddirectory.json +0 -0
  224. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cloudformation.json +0 -0
  225. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cloudfront-keyvaluestore.json +0 -0
  226. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cloudfront.json +0 -0
  227. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cloudhsm.json +0 -0
  228. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cloudsearch.json +0 -0
  229. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cloudshell.json +0 -0
  230. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cloudtrail-data.json +0 -0
  231. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cloudtrail.json +0 -0
  232. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cloudwatch.json +0 -0
  233. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codeartifact.json +0 -0
  234. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codebuild.json +0 -0
  235. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codecatalyst.json +0 -0
  236. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codecommit.json +0 -0
  237. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codeconnections.json +0 -0
  238. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codedeploy-commands-secure.json +0 -0
  239. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codedeploy.json +0 -0
  240. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codeguru-profiler.json +0 -0
  241. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codeguru-reviewer.json +0 -0
  242. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codeguru-security.json +0 -0
  243. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codeguru.json +0 -0
  244. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codepipeline.json +0 -0
  245. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codestar-connections.json +0 -0
  246. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codestar-notifications.json +0 -0
  247. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codestar.json +0 -0
  248. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/codewhisperer.json +0 -0
  249. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cognito-identity.json +0 -0
  250. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cognito-sync.json +0 -0
  251. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/comprehend.json +0 -0
  252. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/comprehendmedical.json +0 -0
  253. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/compute-optimizer.json +0 -0
  254. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/config.json +0 -0
  255. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/connect-campaigns.json +0 -0
  256. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/connect.json +0 -0
  257. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/consoleapp.json +0 -0
  258. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/consolidatedbilling.json +0 -0
  259. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/controlcatalog.json +0 -0
  260. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/controltower.json +0 -0
  261. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cost-optimization-hub.json +0 -0
  262. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/cur.json +0 -0
  263. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/customer-verification.json +0 -0
  264. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/databrew.json +0 -0
  265. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/dataexchange.json +0 -0
  266. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/datapipeline.json +0 -0
  267. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/datasync.json +0 -0
  268. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/datazone.json +0 -0
  269. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/dax.json +0 -0
  270. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/dbqms.json +0 -0
  271. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/deadline.json +0 -0
  272. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/deepcomposer.json +0 -0
  273. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/deepracer.json +0 -0
  274. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/detective.json +0 -0
  275. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/devicefarm.json +0 -0
  276. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/devops-guru.json +0 -0
  277. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/directconnect.json +0 -0
  278. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/discovery.json +0 -0
  279. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/dlm.json +0 -0
  280. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/dms.json +0 -0
  281. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/docdb-elastic.json +0 -0
  282. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/drs.json +0 -0
  283. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ds-data.json +0 -0
  284. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ds.json +0 -0
  285. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/dsql.json +0 -0
  286. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/dynamodb.json +0 -0
  287. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ebs.json +0 -0
  288. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ec2-instance-connect.json +0 -0
  289. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ec2.json +0 -0
  290. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ec2messages.json +0 -0
  291. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ecr-public.json +0 -0
  292. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ecr.json +0 -0
  293. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ecs.json +0 -0
  294. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/eks-auth.json +0 -0
  295. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/eks.json +0 -0
  296. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/elasticache.json +0 -0
  297. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/elasticbeanstalk.json +0 -0
  298. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/elasticfilesystem.json +0 -0
  299. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/elasticloadbalancing.json +0 -0
  300. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/elasticmapreduce.json +0 -0
  301. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/elastictranscoder.json +0 -0
  302. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/elemental-activations.json +0 -0
  303. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/elemental-appliances-software.json +0 -0
  304. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/elemental-support-cases.json +0 -0
  305. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/elemental-support-content.json +0 -0
  306. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/emr-serverless.json +0 -0
  307. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/entityresolution.json +0 -0
  308. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/es.json +0 -0
  309. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/events.json +0 -0
  310. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/evidently.json +0 -0
  311. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/evs.json +0 -0
  312. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/execute-api.json +0 -0
  313. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/finspace-api.json +0 -0
  314. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/finspace.json +0 -0
  315. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/firehose.json +0 -0
  316. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/fis.json +0 -0
  317. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/fms.json +0 -0
  318. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/forecast.json +0 -0
  319. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/frauddetector.json +0 -0
  320. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/freertos.json +0 -0
  321. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/freetier.json +0 -0
  322. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/fsx.json +0 -0
  323. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/gamelift.json +0 -0
  324. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/gameliftstreams.json +0 -0
  325. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/geo-maps.json +0 -0
  326. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/geo-places.json +0 -0
  327. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/geo-routes.json +0 -0
  328. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/geo.json +0 -0
  329. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/glacier.json +0 -0
  330. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/globalaccelerator.json +0 -0
  331. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/glue.json +0 -0
  332. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/grafana.json +0 -0
  333. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/greengrass.json +0 -0
  334. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/groundstation.json +0 -0
  335. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/groundtruthlabeling.json +0 -0
  336. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/guardduty.json +0 -0
  337. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/health.json +0 -0
  338. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/healthlake.json +0 -0
  339. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/honeycode.json +0 -0
  340. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iam.json +0 -0
  341. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/identity-sync.json +0 -0
  342. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/identitystore-auth.json +0 -0
  343. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/identitystore.json +0 -0
  344. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/imagebuilder.json +0 -0
  345. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/importexport.json +0 -0
  346. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/inspector-scan.json +0 -0
  347. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/inspector.json +0 -0
  348. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/inspector2.json +0 -0
  349. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/internetmonitor.json +0 -0
  350. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/invoicing.json +0 -0
  351. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iot-device-tester.json +0 -0
  352. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iot.json +0 -0
  353. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iotanalytics.json +0 -0
  354. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iotdeviceadvisor.json +0 -0
  355. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iotevents.json +0 -0
  356. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iotfleethub.json +0 -0
  357. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iotfleetwise.json +0 -0
  358. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iotjobsdata.json +0 -0
  359. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iotsitewise.json +0 -0
  360. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iottwinmaker.json +0 -0
  361. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iotwireless.json +0 -0
  362. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iq-permission.json +0 -0
  363. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/iq.json +0 -0
  364. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ivs.json +0 -0
  365. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ivschat.json +0 -0
  366. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/kafka-cluster.json +0 -0
  367. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/kafka.json +0 -0
  368. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/kafkaconnect.json +0 -0
  369. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/kendra-ranking.json +0 -0
  370. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/kendra.json +0 -0
  371. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/kinesis.json +0 -0
  372. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/kinesisanalytics.json +0 -0
  373. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/kinesisvideo.json +0 -0
  374. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/kms.json +0 -0
  375. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/lakeformation.json +0 -0
  376. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/lambda.json +0 -0
  377. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/launchwizard.json +0 -0
  378. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/lex.json +0 -0
  379. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/license-manager-linux-subscriptions.json +0 -0
  380. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/license-manager-user-subscriptions.json +0 -0
  381. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/license-manager.json +0 -0
  382. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/lightsail.json +0 -0
  383. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/logs.json +0 -0
  384. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/lookoutequipment.json +0 -0
  385. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/lookoutmetrics.json +0 -0
  386. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/lookoutvision.json +0 -0
  387. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/m2.json +0 -0
  388. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/machinelearning.json +0 -0
  389. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/macie2.json +0 -0
  390. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/managedblockchain-query.json +0 -0
  391. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/managedblockchain.json +0 -0
  392. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mapcredits.json +0 -0
  393. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/marketplacecommerceanalytics.json +0 -0
  394. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mechanicalturk.json +0 -0
  395. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mediaconnect.json +0 -0
  396. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mediaconvert.json +0 -0
  397. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mediaimport.json +0 -0
  398. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/medialive.json +0 -0
  399. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mediapackage-vod.json +0 -0
  400. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mediapackage.json +0 -0
  401. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mediapackagev2.json +0 -0
  402. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mediastore.json +0 -0
  403. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mediatailor.json +0 -0
  404. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/medical-imaging.json +0 -0
  405. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/memorydb.json +0 -0
  406. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mgh.json +0 -0
  407. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mgn.json +0 -0
  408. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/migrationhub-orchestrator.json +0 -0
  409. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/migrationhub-strategy.json +0 -0
  410. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mobileanalytics.json +0 -0
  411. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mobiletargeting.json +0 -0
  412. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/monitron.json +0 -0
  413. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mpa.json +0 -0
  414. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/mq.json +0 -0
  415. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/neptune-db.json +0 -0
  416. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/neptune-graph.json +0 -0
  417. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/network-firewall.json +0 -0
  418. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/network-security-director.json +0 -0
  419. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/networkflowmonitor.json +0 -0
  420. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/networkmanager-chat.json +0 -0
  421. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/networkmanager.json +0 -0
  422. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/networkmonitor.json +0 -0
  423. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/nimble.json +0 -0
  424. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/notifications-contacts.json +0 -0
  425. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/notifications.json +0 -0
  426. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/oam.json +0 -0
  427. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/observabilityadmin.json +0 -0
  428. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/odb.json +0 -0
  429. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/omics.json +0 -0
  430. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/one.json +0 -0
  431. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/opensearch.json +0 -0
  432. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/opsworks-cm.json +0 -0
  433. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/opsworks.json +0 -0
  434. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/organizations.json +0 -0
  435. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/osis.json +0 -0
  436. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/outposts.json +0 -0
  437. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/panorama.json +0 -0
  438. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/partnercentral-account-management.json +0 -0
  439. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/partnercentral.json +0 -0
  440. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/payment-cryptography.json +0 -0
  441. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/payments.json +0 -0
  442. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/pca-connector-ad.json +0 -0
  443. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/pca-connector-scep.json +0 -0
  444. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/pcs.json +0 -0
  445. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/personalize.json +0 -0
  446. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/pi.json +0 -0
  447. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/pipes.json +0 -0
  448. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/polly.json +0 -0
  449. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/pricing.json +0 -0
  450. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/private-networks.json +0 -0
  451. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/profile.json +0 -0
  452. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/proton.json +0 -0
  453. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/purchase-orders.json +0 -0
  454. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/q.json +0 -0
  455. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/qapps.json +0 -0
  456. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/qbusiness.json +0 -0
  457. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/qdeveloper.json +0 -0
  458. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/qldb.json +0 -0
  459. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/quicksight.json +0 -0
  460. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ram.json +0 -0
  461. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/rbin.json +0 -0
  462. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/rds-data.json +0 -0
  463. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/rds-db.json +0 -0
  464. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/rds.json +0 -0
  465. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/redshift-data.json +0 -0
  466. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/redshift-serverless.json +0 -0
  467. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/redshift.json +0 -0
  468. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/refactor-spaces.json +0 -0
  469. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/rekognition.json +0 -0
  470. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/repostspace.json +0 -0
  471. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/resiliencehub.json +0 -0
  472. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/resource-explorer-2.json +0 -0
  473. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/resource-explorer.json +0 -0
  474. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/resource-groups.json +0 -0
  475. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/rhelkb.json +0 -0
  476. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/robomaker.json +0 -0
  477. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/rolesanywhere.json +0 -0
  478. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/route53-recovery-cluster.json +0 -0
  479. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/route53-recovery-control-config.json +0 -0
  480. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/route53-recovery-readiness.json +0 -0
  481. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/route53.json +0 -0
  482. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/route53domains.json +0 -0
  483. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/route53profiles.json +0 -0
  484. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/route53resolver.json +0 -0
  485. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/rtbfabric.json +0 -0
  486. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/rum.json +0 -0
  487. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/s3-object-lambda.json +0 -0
  488. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/s3-outposts.json +0 -0
  489. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/s3.json +0 -0
  490. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/s3express.json +0 -0
  491. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/s3tables.json +0 -0
  492. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/s3vectors.json +0 -0
  493. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sagemaker-data-science-assistant.json +0 -0
  494. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sagemaker-geospatial.json +0 -0
  495. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sagemaker-mlflow.json +0 -0
  496. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sagemaker.json +0 -0
  497. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/savingsplans.json +0 -0
  498. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/scheduler.json +0 -0
  499. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/schemas.json +0 -0
  500. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/scn.json +0 -0
  501. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sdb.json +0 -0
  502. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/secretsmanager.json +0 -0
  503. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/security-ir.json +0 -0
  504. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/securityhub.json +0 -0
  505. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/securitylake.json +0 -0
  506. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/serverlessrepo.json +0 -0
  507. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/servicecatalog.json +0 -0
  508. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/servicediscovery.json +0 -0
  509. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/serviceextract.json +0 -0
  510. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/servicequotas.json +0 -0
  511. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ses.json +0 -0
  512. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/shield.json +0 -0
  513. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/signer.json +0 -0
  514. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/signin.json +0 -0
  515. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/simspaceweaver.json +0 -0
  516. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sms-voice.json +0 -0
  517. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sms.json +0 -0
  518. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/snow-device-management.json +0 -0
  519. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/snowball.json +0 -0
  520. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sns.json +0 -0
  521. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/social-messaging.json +0 -0
  522. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sqlworkbench.json +0 -0
  523. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sqs.json +0 -0
  524. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ssm-contacts.json +0 -0
  525. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ssm-guiconnect.json +0 -0
  526. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ssm-incidents.json +0 -0
  527. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ssm-quicksetup.json +0 -0
  528. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ssm-sap.json +0 -0
  529. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ssm.json +0 -0
  530. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ssmmessages.json +0 -0
  531. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sso-directory.json +0 -0
  532. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sso-oauth.json +0 -0
  533. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sso.json +0 -0
  534. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/states.json +0 -0
  535. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/storagegateway.json +0 -0
  536. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sts.json +0 -0
  537. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/support-console.json +0 -0
  538. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/support.json +0 -0
  539. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/supportapp.json +0 -0
  540. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/supportplans.json +0 -0
  541. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/sustainability.json +0 -0
  542. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/swf.json +0 -0
  543. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/synthetics.json +0 -0
  544. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/tag.json +0 -0
  545. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/tax.json +0 -0
  546. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/textract.json +0 -0
  547. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/thinclient.json +0 -0
  548. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/timestream-influxdb.json +0 -0
  549. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/timestream.json +0 -0
  550. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/tiros.json +0 -0
  551. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/tnb.json +0 -0
  552. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/transcribe.json +0 -0
  553. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/transfer.json +0 -0
  554. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/transform.json +0 -0
  555. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/translate.json +0 -0
  556. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/trustedadvisor.json +0 -0
  557. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/ts.json +0 -0
  558. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/user-subscriptions.json +0 -0
  559. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/uxc.json +0 -0
  560. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/vendor-insights.json +0 -0
  561. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/verified-access.json +0 -0
  562. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/verifiedpermissions.json +0 -0
  563. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/voiceid.json +0 -0
  564. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/vpc-lattice-svcs.json +0 -0
  565. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/vpc-lattice.json +0 -0
  566. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/vpce.json +0 -0
  567. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/waf-regional.json +0 -0
  568. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/waf.json +0 -0
  569. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/wafv2.json +0 -0
  570. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/wam.json +0 -0
  571. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/wellarchitected.json +0 -0
  572. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/wickr.json +0 -0
  573. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/wisdom.json +0 -0
  574. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/workdocs.json +0 -0
  575. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/worklink.json +0 -0
  576. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/workmail.json +0 -0
  577. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/workmailmessageflow.json +0 -0
  578. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/workspaces-instances.json +0 -0
  579. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/workspaces-web.json +0 -0
  580. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/workspaces.json +0 -0
  581. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/aws_services/xray.json +0 -0
  582. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/docs/aws-services-backup.md +0 -0
  583. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/docs/custom-checks.md +0 -0
  584. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/docs/development/PUBLISHING.md +0 -0
  585. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/docs/github-actions-examples.md +0 -0
  586. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/docs/privilege-escalation.md +0 -0
  587. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/docs/smart-filtering.md +0 -0
  588. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/README.md +0 -0
  589. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/access-analyzer/example1.json +0 -0
  590. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/access-analyzer/example2.json +0 -0
  591. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/custom_checks/advanced_multi_condition_validator.py +0 -0
  592. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/custom_checks/cross_account_external_id_check.py +0 -0
  593. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/custom_checks/domain_restriction_check.py +0 -0
  594. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/custom_checks/encryption_required_check.py +0 -0
  595. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/custom_checks/mfa_required_check.py +0 -0
  596. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/custom_checks/region_restriction_check.py +0 -0
  597. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/custom_checks/tag_enforcement_check.py +0 -0
  598. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/examples/custom_checks/time_based_access_check.py +0 -0
  599. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/allowed-wildcard-resource.json +0 -0
  600. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/api_gateway_management.json +0 -0
  601. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/athena_query_access.json +0 -0
  602. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/backup_vault_access.json +0 -0
  603. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/cloudformation_deployer.json +0 -0
  604. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/cloudwatch_monitoring.json +0 -0
  605. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/cognito_user_pool.json +0 -0
  606. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/dynamodb_table_access.json +0 -0
  607. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/ecs_task_execution.json +0 -0
  608. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/eventbridge_rules.json +0 -0
  609. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/glue_etl_jobs.json +0 -0
  610. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/insecure_policy.json +0 -0
  611. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/insecure_policy.yaml +0 -0
  612. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/invalid-resource-constraint.json +0 -0
  613. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/invalid_policy.json +0 -0
  614. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/kms_encryption_keys.json +0 -0
  615. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/lambda_developer.json +0 -0
  616. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/lambda_developer.yaml +0 -0
  617. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/maximum_size_policy.json +0 -0
  618. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/policy_missing_required_tags.json +0 -0
  619. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/policy_tag_enforcement_example.json +0 -0
  620. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/policy_with_wildcard_resources.json +0 -0
  621. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/privilege_escalation_scattered.json +0 -0
  622. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/rds_database_admin.json +0 -0
  623. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/s3_bucket_access.yaml +0 -0
  624. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/sample_policy.json +0 -0
  625. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/sample_policy.yaml +0 -0
  626. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/secrets_manager_access.json +0 -0
  627. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/sensitive-action-wildcards.json +0 -0
  628. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/sns_sqs_messaging.json +0 -0
  629. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/step_functions_workflow.json +0 -0
  630. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/test_none_of_valid.json +0 -0
  631. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/test_none_of_violations.json +0 -0
  632. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/wildcard_examples.json +0 -0
  633. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/wildcard_examples.yaml +0 -0
  634. {iam_policy_validator-1.2.0/examples/iam-test-policies → iam_policy_validator-1.5.0/examples/iam-test-policies/identity-policies}/wrong-condition-key.json +0 -0
  635. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/__init__.py +0 -0
  636. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/__main__.py +0 -0
  637. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/action_resource_constraint.py +0 -0
  638. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/action_validation.py +0 -0
  639. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/resource_validation.py +0 -0
  640. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/utils/__init__.py +0 -0
  641. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/utils/policy_level_checks.py +0 -0
  642. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/checks/utils/wildcard_expansion.py +0 -0
  643. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/commands/analyze.py +0 -0
  644. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/commands/base.py +0 -0
  645. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/commands/cache.py +0 -0
  646. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/__init__.py +0 -0
  647. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/access_analyzer.py +0 -0
  648. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/access_analyzer_report.py +0 -0
  649. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/aws_global_conditions.py +0 -0
  650. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/cli.py +0 -0
  651. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/formatters/__init__.py +0 -0
  652. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/formatters/base.py +0 -0
  653. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/formatters/console.py +0 -0
  654. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/formatters/csv.py +0 -0
  655. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/formatters/html.py +0 -0
  656. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/formatters/json.py +0 -0
  657. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/formatters/markdown.py +0 -0
  658. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/policy_loader.py +0 -0
  659. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/core/report.py +0 -0
  660. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/integrations/__init__.py +0 -0
  661. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/integrations/github_integration.py +0 -0
  662. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/iam_validator/integrations/ms_teams.py +0 -0
  663. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/README.md +0 -0
  664. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/__init__.py +0 -0
  665. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_action_condition_enforcement.py +0 -0
  666. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_action_resource_constraint.py +0 -0
  667. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_action_validation_check.py +0 -0
  668. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_aws_fetcher_wildcards.py +0 -0
  669. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_aws_global_conditions.py +0 -0
  670. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_check_registry.py +0 -0
  671. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_comment_truncation.py +0 -0
  672. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_custom_policy_checks.py +0 -0
  673. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_models.py +0 -0
  674. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_multipart_comments.py +0 -0
  675. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_policy_loader.py +0 -0
  676. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_policy_size_check.py +0 -0
  677. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_resource_validation_check.py +0 -0
  678. {iam_policy_validator-1.2.0 → iam_policy_validator-1.5.0}/tests/test_sid_uniqueness_check.py +0 -0
@@ -521,8 +521,12 @@ Options:
521
521
  --batch-size BATCH_SIZE Number of policies to process per batch (default: 10, only with --stream)
522
522
  --no-recursive Don't recursively search directories
523
523
  --fail-on-warnings Fail validation if warnings are found (default: only fail on errors)
524
- --github-comment Post validation results as GitHub PR comment
525
- --github-review Create line-specific review comments on PR (requires --github-comment)
524
+ --policy-type, -t {IDENTITY_POLICY,RESOURCE_POLICY,SERVICE_CONTROL_POLICY}
525
+ Type of IAM policy being validated (default: IDENTITY_POLICY)
526
+ Enables policy-type-specific validation (e.g., requiring Principal for resource policies)
527
+ --github-comment Post summary comment to PR conversation
528
+ --github-review Create line-specific review comments on PR files
529
+ --github-summary Write summary to GitHub Actions job summary (visible in Actions tab)
526
530
  --config CONFIG, -c CONFIG Path to configuration file (default: auto-discover iam-validator.yaml)
527
531
  --custom-checks-dir DIR Path to directory containing custom checks for auto-discovery
528
532
  --no-registry Use legacy validation (disable check registry system)
@@ -544,8 +548,52 @@ iam-validator validate --path ./policies/ --format enhanced
544
548
  # Streaming mode for large policy sets
545
549
  iam-validator validate --path ./policies/ --stream
546
550
 
547
- # GitHub PR integration
548
- iam-validator validate --path ./policies/ --github-comment --github-review
551
+ # GitHub integration - all options (PR comment + review comments + job summary)
552
+ iam-validator validate --path ./policies/ --github-comment --github-review --github-summary
553
+
554
+ # Only line-specific review comments (clean, minimal)
555
+ iam-validator validate --path ./policies/ --github-review
556
+
557
+ # Only PR summary comment
558
+ iam-validator validate --path ./policies/ --github-comment
559
+
560
+ # Only GitHub Actions job summary
561
+ iam-validator validate --path ./policies/ --github-summary
562
+
563
+ # Validate resource policies (e.g., S3 bucket policies, SNS topics)
564
+ iam-validator validate --path ./bucket-policies/ --policy-type RESOURCE_POLICY
565
+ ```
566
+
567
+ ### Policy Type Validation
568
+
569
+ The `--policy-type` flag enables policy-type-specific validation:
570
+
571
+ **IDENTITY_POLICY** (default):
572
+ - Policies attached to IAM users, groups, or roles
573
+ - Should NOT contain Principal element
574
+ - Tool warns if Principal is present
575
+
576
+ **RESOURCE_POLICY**:
577
+ - Policies attached to AWS resources (S3 buckets, SNS topics, etc.)
578
+ - MUST contain Principal element in all statements
579
+ - Tool errors if Principal is missing
580
+
581
+ **SERVICE_CONTROL_POLICY**:
582
+ - AWS Organizations SCPs
583
+ - MUST NOT contain Principal element
584
+ - Tool errors if Principal is present
585
+
586
+ **Examples:**
587
+
588
+ ```bash
589
+ # Validate S3 bucket policy (resource policy)
590
+ iam-validator validate --path bucket-policy.json --policy-type RESOURCE_POLICY
591
+
592
+ # Validate IAM role policy (identity policy - default)
593
+ iam-validator validate --path role-policy.json --policy-type IDENTITY_POLICY
594
+
595
+ # Validate AWS Organizations SCP
596
+ iam-validator validate --path scp.json --policy-type SERVICE_CONTROL_POLICY
549
597
  ```
550
598
 
551
599
  ### `analyze` Command
@@ -566,8 +614,9 @@ Options:
566
614
  --output OUTPUT, -o OUTPUT Output file path (only for json/markdown formats)
567
615
  --no-recursive Don't recursively search directories
568
616
  --fail-on-warnings Fail validation if warnings are found (default: only fail on errors)
569
- --github-comment Post validation results as GitHub PR comment
570
- --github-review Create line-specific review comments on PR (requires --github-comment)
617
+ --github-comment Post summary comment to PR conversation
618
+ --github-review Create line-specific review comments on PR files
619
+ --github-summary Write summary to GitHub Actions job summary (visible in Actions tab)
571
620
  --run-all-checks Run full validation checks if Access Analyzer passes
572
621
  --verbose, -v Enable verbose logging
573
622
 
@@ -617,6 +666,7 @@ Options:
617
666
  --no-review Don't create line-specific review comments
618
667
  --add-summary Add summary comment (default: True)
619
668
  --no-summary Don't add summary comment
669
+ --config, -c CONFIG Path to configuration file (for fail_on_severity setting)
620
670
  ```
621
671
 
622
672
  **Examples:**
@@ -672,9 +722,115 @@ iam-validator cache location
672
722
 
673
723
  ---
674
724
 
725
+ ## GitHub Integration
726
+
727
+ The IAM Policy Validator provides flexible GitHub integration with **three independent options** for displaying validation results:
728
+
729
+ ### 1. PR Summary Comment (`--github-comment`)
730
+
731
+ Posts a high-level summary to the PR conversation:
732
+ - Overall metrics (total policies, issues, severities)
733
+ - Grouped findings by file
734
+ - Detailed issue descriptions with suggestions and examples
735
+ - Updated on subsequent runs (no duplicates)
736
+
737
+ **Example:**
738
+ ```bash
739
+ iam-validator validate --path ./policies/ --github-comment
740
+ ```
741
+
742
+ ### 2. Line-Specific Review Comments (`--github-review`)
743
+
744
+ Creates inline review comments on the "Files changed" tab:
745
+ - Comments appear directly on problematic lines in the diff
746
+ - Includes rich context (examples, suggestions from config)
747
+ - Automatically cleaned up on subsequent runs
748
+ - Review status (REQUEST_CHANGES or COMMENT) based on `fail_on_severity` config
749
+ - Works independently of `--github-comment`
750
+
751
+ **Example:**
752
+ ```bash
753
+ iam-validator validate --path ./policies/ --github-review
754
+ ```
755
+
756
+ **Review Status Logic:**
757
+ - If any issues match severities in `fail_on_severity` config → REQUEST_CHANGES
758
+ - Otherwise → COMMENT
759
+ - Default: REQUEST_CHANGES for `error` and `critical` severities
760
+
761
+ ### 3. GitHub Actions Job Summary (`--github-summary`)
762
+
763
+ Writes a high-level overview to the Actions tab:
764
+ - Visible in workflow run summary (not in PR conversation)
765
+ - Shows key metrics and severity breakdown
766
+ - Clean dashboard view without overwhelming details
767
+ - Perfect for quick status checks
768
+
769
+ **Example:**
770
+ ```bash
771
+ iam-validator validate --path ./policies/ --github-summary
772
+ ```
773
+
774
+ ### Mix and Match Options
775
+
776
+ All three options are **independent** and can be used in any combination:
777
+
778
+ ```bash
779
+ # All three for maximum visibility
780
+ iam-validator validate --path ./policies/ \
781
+ --github-comment \
782
+ --github-review \
783
+ --github-summary
784
+
785
+ # Only line-specific review comments (clean, minimal)
786
+ iam-validator validate --path ./policies/ --github-review
787
+
788
+ # Only PR summary + Actions summary (no inline comments)
789
+ iam-validator validate --path ./policies/ --github-comment --github-summary
790
+
791
+ # Only Actions summary (no PR interaction)
792
+ iam-validator validate --path ./policies/ --github-summary
793
+ ```
794
+
795
+ ### Comment Management
796
+
797
+ **Automatic Cleanup:**
798
+ - Old review comments are automatically deleted before new runs
799
+ - Summary comments are updated (not duplicated)
800
+ - All bot comments use HTML identifiers (invisible to users)
801
+
802
+ **Streaming Mode:**
803
+ - In CI environments, streaming is auto-enabled
804
+ - Review comments appear progressively as files are validated
805
+ - Provides immediate feedback during long validation runs
806
+
807
+ ### Required Environment Variables
808
+
809
+ ```yaml
810
+ env:
811
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
812
+ GITHUB_REPOSITORY: ${{ github.repository }}
813
+ GITHUB_PR_NUMBER: ${{ github.event.pull_request.number }}
814
+ ```
815
+
816
+ For `--github-summary`, also requires:
817
+ - `GITHUB_STEP_SUMMARY` (automatically provided by GitHub Actions)
818
+
819
+ ### Permissions
820
+
821
+ Ensure your workflow has the required permissions:
822
+
823
+ ```yaml
824
+ permissions:
825
+ contents: read
826
+ pull-requests: write # Required for --github-comment and --github-review
827
+ ```
828
+
829
+ ---
830
+
675
831
  ## Configuration
676
832
 
677
- > **📢 Configuration Change (v1.1.0+):** The `allowed_wildcards` configuration has moved from `action_validation_check` to `security_best_practices_check` for cleaner separation of concerns. If you have a custom config file, update it accordingly. See [Migration Note](#configuration-migration) below.
833
+ > **📢 Configuration Change (v1.1.0+):** The `allowed_wildcards` configuration has moved from `action_validation` to `security_best_practices` for cleaner separation of concerns. If you have a custom config file, update it accordingly. See [Migration Note](#configuration-migration) below.
678
834
 
679
835
  ### Configuration File
680
836
 
@@ -715,29 +871,29 @@ settings:
715
871
  # ============================================================================
716
872
 
717
873
  # Validate Statement ID (Sid) uniqueness
718
- sid_uniqueness_check:
874
+ sid_uniqueness:
719
875
  enabled: true
720
876
  severity: error
721
877
 
722
878
  # Validate IAM actions against AWS service definitions
723
- action_validation_check:
879
+ action_validation:
724
880
  enabled: true
725
881
  severity: error
726
882
  description: "Validates that actions exist in AWS services"
727
- # Note: Wildcard security checks are handled by security_best_practices_check
883
+ # Note: Wildcard security checks are handled by security_best_practices
728
884
 
729
885
  # Validate condition keys
730
- condition_key_validation_check:
886
+ condition_key_validation:
731
887
  enabled: true
732
888
  severity: error
733
889
 
734
890
  # Validate resource ARN format
735
- resource_validation_check:
891
+ resource_validation:
736
892
  enabled: true
737
893
  severity: error
738
894
 
739
895
  # Security best practices
740
- security_best_practices_check:
896
+ security_best_practices:
741
897
  enabled: true
742
898
  # Define allowed wildcard patterns for safe read-only operations
743
899
  allowed_wildcards:
@@ -767,7 +923,7 @@ security_best_practices_check:
767
923
  severity: medium
768
924
 
769
925
  # Action condition enforcement (MFA, IP restrictions, tags, etc.)
770
- action_condition_enforcement_check:
926
+ action_condition_enforcement:
771
927
  enabled: true
772
928
  severity: high
773
929
  ```
@@ -793,14 +949,15 @@ By default, validation fails on `error` and `critical` severities. Use `--fail-o
793
949
 
794
950
  ### Example Configurations
795
951
 
796
- See [examples/configs/](examples/configs/) directory for essential configurations:
952
+ See [examples/configs/](examples/configs/) directory for configurations:
797
953
  - `basic-config.yaml` - Minimal configuration with defaults
954
+ - `full-reference-config.yaml` - Complete reference with all options
798
955
  - `offline-validation.yaml` - For environments without internet access
799
956
  - `strict-security.yaml` - Enterprise-grade security enforcement
800
-
801
- See [examples/configs-old/](examples/configs-old/) for additional example configurations:
802
- - `config-privilege-escalation.yaml` - Detect privilege escalation patterns
803
- - `custom-wildcard-config.yaml` - Custom wildcard action validation
957
+ - `principal-validation-strict.yaml` - Block all public access
958
+ - `principal-validation-relaxed.yaml` - Allow public access with conditions
959
+ - `principal-validation-public-with-conditions.yaml` - Conditional public access
960
+ - `principal-condition-enforcement.yaml` - Advanced principal requirements
804
961
 
805
962
  ---
806
963
 
@@ -829,7 +986,7 @@ Verifies IAM actions exist in AWS service definitions. This check focuses **sole
829
986
  ```json
830
987
  {
831
988
  "Effect": "Allow",
832
- "Action": "s3:List*", // ✅ Valid - wildcards skipped (checked by security_best_practices_check)
989
+ "Action": "s3:List*", // ✅ Valid - wildcards skipped (checked by security_best_practices)
833
990
  "Resource": "*"
834
991
  }
835
992
  ```
@@ -886,10 +1043,10 @@ Ensures Statement IDs are unique within a policy:
886
1043
 
887
1044
  ### 6. Wildcard Action Validation
888
1045
 
889
- The `security_best_practices_check` handles all wildcard security validation with customizable allowlists:
1046
+ The `security_best_practices` handles all wildcard security validation with customizable allowlists:
890
1047
 
891
1048
  ```yaml
892
- security_best_practices_check:
1049
+ security_best_practices:
893
1050
  enabled: true
894
1051
 
895
1052
  # Define allowed wildcard patterns (e.g., safe read-only operations)
@@ -922,7 +1079,7 @@ security_best_practices_check:
922
1079
  - "cloudwatch"
923
1080
  ```
924
1081
 
925
- **Note:** The `action_validation_check` now focuses solely on validating that actions exist in AWS service definitions. All wildcard security concerns are handled by `security_best_practices_check`.
1082
+ **Note:** The `action_validation` now focuses solely on validating that actions exist in AWS service definitions. All wildcard security concerns are handled by `security_best_practices`.
926
1083
 
927
1084
  ### Configuration Migration
928
1085
 
@@ -930,7 +1087,7 @@ If you have a custom configuration file from before v1.1.0, update it as follows
930
1087
 
931
1088
  **Before (v1.0.x):**
932
1089
  ```yaml
933
- action_validation_check:
1090
+ action_validation:
934
1091
  enabled: true
935
1092
  severity: error
936
1093
  allowed_wildcards:
@@ -941,13 +1098,13 @@ action_validation_check:
941
1098
 
942
1099
  **After (v1.1.0+):**
943
1100
  ```yaml
944
- action_validation_check:
1101
+ action_validation:
945
1102
  enabled: true
946
1103
  severity: error
947
- # allowed_wildcards removed - moved to security_best_practices_check
1104
+ # allowed_wildcards removed - moved to security_best_practices
948
1105
  # disable_wildcard_warnings removed - no longer needed
949
1106
 
950
- security_best_practices_check:
1107
+ security_best_practices:
951
1108
  enabled: true
952
1109
  # Move allowed_wildcards here
953
1110
  allowed_wildcards:
@@ -1249,8 +1406,18 @@ iam-validator validate --path policy.json --format json --output debug.json
1249
1406
 
1250
1407
  MIT License - see [LICENSE](LICENSE) file for details.
1251
1408
 
1409
+ ## Future Improvements
1410
+
1411
+ See [docs/ROADMAP.md](docs/ROADMAP.md) for planned features and enhancements, including:
1412
+ - NotResource support
1413
+ - NotAction support
1414
+ - Enhanced deny statement validation
1415
+ - Policy simulation integration
1416
+ - Cross-policy analysis
1417
+
1252
1418
  ## Support
1253
1419
 
1254
1420
  - **Documentation**: This file and `examples/` directory
1421
+ - **Roadmap**: [Planned features and improvements](docs/ROADMAP.md)
1255
1422
  - **Issues**: [GitHub Issues](https://github.com/boogy/iam-policy-auditor/issues)
1256
1423
  - **Discussions**: [GitHub Discussions](https://github.com/boogy/iam-policy-auditor/discussions)
@@ -8,7 +8,7 @@ help:
8
8
  @echo " make install Install production dependencies"
9
9
  @echo " make dev Install development dependencies"
10
10
  @echo " make clean Clean build artifacts and cache"
11
- @echo " make sync-defaults Sync defaults.py from default-config.yaml"
11
+ @echo " make sync-defaults [DEPRECATED] Defaults are now in Python modules"
12
12
  @echo ""
13
13
  @echo "Quality:"
14
14
  @echo " make test Run tests"
@@ -36,10 +36,16 @@ install:
36
36
  dev:
37
37
  uv sync
38
38
 
39
- # Sync defaults.py from YAML config
40
- sync-defaults: clean
41
- @echo "Syncing defaults.py from default-config.yaml..."
42
- @uv run python scripts/sync_defaults_from_yaml.py
39
+ # Sync defaults.py from YAML config [DEPRECATED]
40
+ # Defaults are now defined in Python modules at iam_validator/core/data/
41
+ # This target is kept for backward compatibility but is no longer needed
42
+ sync-defaults:
43
+ @echo "⚠️ DEPRECATED: Defaults are now defined in Python modules"
44
+ @echo " Location: iam_validator/core/data/"
45
+ @echo " See: docs/modular-configuration.md"
46
+ @echo ""
47
+ @echo " Running legacy sync script for reference..."
48
+ @uv run python scripts/sync_defaults_from_yaml.py || echo " (Script may fail - this is expected)"
43
49
 
44
50
  # Clean
45
51
  clean:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: iam-policy-validator
3
- Version: 1.2.0
3
+ Version: 1.5.0
4
4
  Summary: Validate AWS IAM policies for correctness and security using AWS Service Reference API
5
5
  Project-URL: Homepage, https://github.com/boogy/iam-policy-validator
6
6
  Project-URL: Documentation, https://github.com/boogy/iam-policy-validator/tree/main/docs
@@ -448,13 +448,11 @@ settings:
448
448
  enable_builtin_checks: true
449
449
 
450
450
  # Custom check configurations
451
- security_best_practices_check:
451
+ wildcard_action:
452
452
  enabled: true
453
- wildcard_action_check:
454
- enabled: true
455
- severity: high
453
+ severity: high
456
454
 
457
- action_condition_enforcement_check:
455
+ action_condition_enforcement:
458
456
  enabled: true
459
457
  severity: critical
460
458
  action_condition_requirements:
@@ -465,7 +463,7 @@ action_condition_enforcement_check:
465
463
  - condition_key: "iam:PassedToService"
466
464
  ```
467
465
 
468
- See [default-config.yaml](default-config.yaml) for a complete configuration example.
466
+ See [examples/configs/full-reference-config.yaml](examples/configs/full-reference-config.yaml) for a complete configuration reference with all available options.
469
467
 
470
468
  ### GitHub Action Inputs
471
469
 
@@ -478,10 +476,11 @@ See [default-config.yaml](default-config.yaml) for a complete configuration exam
478
476
  | `recursive` | Recursively search directories for policy files | No | `true` |
479
477
 
480
478
  #### GitHub Integration
481
- | Input | Description | Required | Default |
482
- | --------------- | ------------------------------------------ | -------- | ------- |
483
- | `post-comment` | Post validation results as PR comment | No | `true` |
484
- | `create-review` | Create line-specific review comments on PR | No | `true` |
479
+ | Input | Description | Required | Default |
480
+ | ---------------- | --------------------------------------------------------- | -------- | ------- |
481
+ | `post-comment` | Post validation summary as PR conversation comment | No | `true` |
482
+ | `create-review` | Create line-specific review comments on PR files | No | `true` |
483
+ | `github-summary` | Write summary to GitHub Actions job summary (Actions tab) | No | `false` |
485
484
 
486
485
  #### Output Options
487
486
  | Input | Description | Required | Default |
@@ -490,12 +489,12 @@ See [default-config.yaml](default-config.yaml) for a complete configuration exam
490
489
  | `output-file` | Path to save output file (for non-console formats) | No | `""` |
491
490
 
492
491
  #### AWS Access Analyzer
493
- | Input | Description | Required | Default |
494
- | ------------------------ | --------------------------------------------------------------------------- | -------- | ----------------- |
495
- | `use-access-analyzer` | Use AWS IAM Access Analyzer for validation | No | `false` |
496
- | `access-analyzer-region` | AWS region for Access Analyzer | No | `us-east-1` |
497
- | `policy-type` | Policy type: `IDENTITY_POLICY`, `RESOURCE_POLICY`, `SERVICE_CONTROL_POLICY` | No | `IDENTITY_POLICY` |
498
- | `run-all-checks` | Run custom checks after Access Analyzer (sequential mode) | No | `false` |
492
+ | Input | Description | Required | Default |
493
+ | ------------------------ | ------------------------------------------------------------------------------------------------------ | -------- | ----------------- |
494
+ | `use-access-analyzer` | Use AWS IAM Access Analyzer for validation | No | `false` |
495
+ | `access-analyzer-region` | AWS region for Access Analyzer | No | `us-east-1` |
496
+ | `policy-type` | Policy type: `IDENTITY_POLICY`, `RESOURCE_POLICY`, `SERVICE_CONTROL_POLICY`, `RESOURCE_CONTROL_POLICY` | No | `IDENTITY_POLICY` |
497
+ | `run-all-checks` | Run custom checks after Access Analyzer (sequential mode) | No | `false` |
499
498
 
500
499
  #### Custom Policy Checks (Access Analyzer)
501
500
  | Input | Description | Required | Default |
@@ -518,7 +517,7 @@ See [default-config.yaml](default-config.yaml) for a complete configuration exam
518
517
  - Configure `aws-services-dir` in your config file for offline validation
519
518
  - The action automatically filters IAM policies from mixed JSON/YAML files
520
519
 
521
- See [examples/github-actions/](examples/github-actions/) for 8 ready-to-use workflow examples.
520
+ See [examples/github-actions/](examples/github-actions/) for 9 ready-to-use workflow examples.
522
521
 
523
522
  ### As a CLI Tool
524
523
 
@@ -540,6 +539,12 @@ iam-validator validate --path ./policies/
540
539
  # Validate multiple paths
541
540
  iam-validator validate --path policy1.json --path ./policies/ --path ./more-policies/
542
541
 
542
+ # Validate resource policies (S3 bucket policies, SNS topics, etc.)
543
+ iam-validator validate --path ./bucket-policies/ --policy-type RESOURCE_POLICY
544
+
545
+ # Validate AWS Organizations Resource Control Policies (RCPs)
546
+ iam-validator validate --path ./rcps/ --policy-type RESOURCE_CONTROL_POLICY
547
+
543
548
  # Generate JSON output
544
549
  iam-validator validate --path ./policies/ --format json --output report.json
545
550
 
@@ -557,6 +562,106 @@ iam-validator analyze \
557
562
  --github-review
558
563
  ```
559
564
 
565
+ ### Policy Type Validation
566
+
567
+ The validator supports four AWS policy types, each with specific validation rules:
568
+
569
+ #### 🔷 IDENTITY_POLICY (Default)
570
+ Standard IAM policies attached to users, groups, or roles.
571
+
572
+ **Requirements:**
573
+ - Should NOT have `Principal` element (implicit - the attached entity)
574
+ - Must have `Action` and `Resource` elements
575
+
576
+ **Example:**
577
+ ```bash
578
+ iam-validator validate --path ./user-policies/ --policy-type IDENTITY_POLICY
579
+ ```
580
+
581
+ #### 🔶 RESOURCE_POLICY
582
+ Policies attached to AWS resources (S3 buckets, SNS topics, KMS keys, etc.).
583
+
584
+ **Requirements:**
585
+ - MUST have `Principal` element (who can access)
586
+ - Must have `Action`, `Effect`, and `Resource` elements
587
+ - Can use configurable security checks for principal validation
588
+
589
+ **Example:**
590
+ ```bash
591
+ iam-validator validate --path ./bucket-policies/ --policy-type RESOURCE_POLICY
592
+ ```
593
+
594
+ **Advanced Principal Validation:**
595
+ ```yaml
596
+ # config.yaml
597
+ principal_validation:
598
+ enabled: true
599
+ severity: high
600
+ # Block public access
601
+ blocked_principals: ["*"]
602
+ # Or require specific conditions for public access
603
+ require_conditions_for:
604
+ "*":
605
+ - "aws:SourceArn"
606
+ - "aws:SourceAccount"
607
+ ```
608
+
609
+ #### 🔷 SERVICE_CONTROL_POLICY
610
+ AWS Organizations SCPs that set permission guardrails.
611
+
612
+ **Requirements:**
613
+ - Must NOT have `Principal` element (applies to all principals in OU)
614
+ - Typically uses `Deny` effect for guardrails
615
+ - Must have `Action` and `Resource` elements
616
+
617
+ **Example:**
618
+ ```bash
619
+ iam-validator validate --path ./scps/ --policy-type SERVICE_CONTROL_POLICY
620
+ ```
621
+
622
+ #### 🆕 RESOURCE_CONTROL_POLICY
623
+ AWS Organizations RCPs for resource-level access control (released 2024).
624
+
625
+ **Strict Requirements:**
626
+ - `Effect` MUST be `Deny` (only AWS-managed `RCPFullAWSAccess` can use `Allow`)
627
+ - `Principal` MUST be exactly `"*"` (use `Condition` to restrict)
628
+ - `Action` cannot use `"*"` alone (must be service-specific like `"s3:*"`)
629
+ - Only **5 supported services**: `s3`, `sts`, `sqs`, `secretsmanager`, `kms`
630
+ - `NotAction` and `NotPrincipal` are NOT supported
631
+ - Must have `Resource` or `NotResource` element
632
+
633
+ **Example:**
634
+ ```bash
635
+ iam-validator validate --path ./rcps/ --policy-type RESOURCE_CONTROL_POLICY
636
+ ```
637
+
638
+ **Valid RCP:**
639
+ ```json
640
+ {
641
+ "Version": "2012-10-17",
642
+ "Statement": [{
643
+ "Sid": "EnforceEncryptionInTransit",
644
+ "Effect": "Deny",
645
+ "Principal": "*",
646
+ "Action": ["s3:*", "sqs:*"],
647
+ "Resource": "*",
648
+ "Condition": {
649
+ "BoolIfExists": {
650
+ "aws:SecureTransport": "false"
651
+ }
652
+ }
653
+ }]
654
+ }
655
+ ```
656
+
657
+ **What the validator catches:**
658
+ ```
659
+ ✓ Effect is "Deny" (required for RCPs)
660
+ ✓ Principal is "*" (required - restrictions via Condition)
661
+ ✓ Actions from supported services (s3, sqs)
662
+ ✓ Uses Condition to scope the deny
663
+ ```
664
+
560
665
  ### Custom Policy Checks
561
666
 
562
667
  AWS IAM Access Analyzer provides specialized checks to validate policies against specific security requirements:
@@ -651,7 +756,9 @@ Use as a library in your Python applications:
651
756
 
652
757
  ```python
653
758
  import asyncio
654
- from iam_validator.core import PolicyLoader, validate_policies, ReportGenerator
759
+ from iam_validator.core.policy_loader import PolicyLoader
760
+ from iam_validator.core.policy_checks import validate_policies
761
+ from iam_validator.core.report import ReportGenerator
655
762
 
656
763
  async def main():
657
764
  # Load policies
@@ -669,6 +776,10 @@ async def main():
669
776
  asyncio.run(main())
670
777
  ```
671
778
 
779
+ **📚 For comprehensive Python library documentation, see:**
780
+ - **[Python Library Usage Guide](docs/python-library-usage.md)** - Complete guide with examples
781
+ - **[Library Examples](examples/library-usage/)** - Runnable code examples
782
+
672
783
  ## Validation Checks
673
784
 
674
785
  ### 1. Action Validation
@@ -738,6 +849,44 @@ Identifies potential security risks:
738
849
 
739
850
  ## GitHub Integration Features
740
851
 
852
+ ### Flexible Comment Options
853
+
854
+ The validator provides **three independent ways** to display validation results in GitHub:
855
+
856
+ #### 1. **PR Summary Comment** (`--github-comment`)
857
+ Posts a high-level summary to the PR conversation with:
858
+ - Overall metrics (total policies, issues, severities)
859
+ - Grouped findings by file
860
+ - Detailed issue descriptions with suggestions
861
+
862
+ #### 2. **Line-Specific Review Comments** (`--github-review`)
863
+ Creates inline review comments on the "Files changed" tab:
864
+ - Comments appear directly on problematic lines
865
+ - Includes rich context (examples, suggestions)
866
+ - Automatically cleaned up on subsequent runs
867
+ - Review status (REQUEST_CHANGES or COMMENT) based on `fail_on_severity` config
868
+
869
+ #### 3. **GitHub Actions Job Summary** (`--github-summary`)
870
+ Writes a high-level overview to the Actions tab:
871
+ - Visible in workflow run summary
872
+ - Shows key metrics and severity breakdown
873
+ - Clean dashboard view without overwhelming details
874
+
875
+ **Mix and Match:** Use any combination of these options:
876
+ ```bash
877
+ # All three for maximum visibility
878
+ --github-comment --github-review --github-summary
879
+
880
+ # Only line-specific review comments (clean, minimal)
881
+ --github-review
882
+
883
+ # Only PR summary comment
884
+ --github-comment
885
+
886
+ # Only Actions job summary
887
+ --github-summary
888
+ ```
889
+
741
890
  ### Smart PR Comment Management
742
891
 
743
892
  The validator intelligently manages PR comments to keep your PRs clean:
@@ -751,8 +900,9 @@ The validator intelligently manages PR comments to keep your PRs clean:
751
900
  **Behavior:**
752
901
  - ✅ **No Duplicates**: Summary comments are updated, not duplicated
753
902
  - ✅ **Clean PR**: Old review comments automatically deleted before new validation
754
- - ✅ **Identifiable**: All bot comments tagged with `🤖 IAM Policy Validator`
903
+ - ✅ **Identifiable**: All bot comments use HTML identifiers (invisible to users)
755
904
  - ✅ **Progressive**: In streaming mode, comments appear file-by-file
905
+ - ✅ **Smart Review Status**: Uses `fail_on_severity` config to determine REQUEST_CHANGES vs COMMENT
756
906
 
757
907
  **Example:**
758
908
  ```
@@ -824,6 +974,7 @@ The comprehensive [DOCS.md](DOCS.md) file contains everything you need:
824
974
  - [Custom Checks](examples/custom_checks/)
825
975
  - [Configuration Files](examples/configs/)
826
976
  - [Test IAM Policies](examples/iam-test-policies/)
977
+ - **[Roadmap](docs/ROADMAP.md)** - Planned features and improvements
827
978
  - **[AWS Services Backup Guide](docs/aws-services-backup.md)** - Offline validation
828
979
  - **[Contributing Guide](CONTRIBUTING.md)** - Contribution guidelines
829
980
  - **[Publishing Guide](docs/development/PUBLISHING.md)** - Release process