iam-policy-validator 1.15.3__tar.gz → 1.15.4__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.
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/CHANGELOG.md +32 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/PKG-INFO +1 -1
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/action.yaml +47 -1
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/__version__.py +1 -1
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/wildcard_resource.py +1 -1
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/commands/query.py +0 -2
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/.github/dependabot.yml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/.github/workflows/ci.yml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/.github/workflows/cleanup-prereleases.yml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/.github/workflows/codeql.yml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/.github/workflows/docs.yml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/.github/workflows/pre-release.yml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/.github/workflows/release.yml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/.github/workflows/scorecard.yml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/.gitignore +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/CONTRIBUTING.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/LICENSE +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/Makefile +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/README.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/SECURITY.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/api-reference/checks.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/api-reference/exceptions.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/api-reference/index.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/api-reference/models.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/api-reference/sdk.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/changelog.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/contributing/development-setup.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/contributing/index.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/contributing/releasing.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/contributing/testing.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/architecture.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/custom-checks/best-practices.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/custom-checks/examples.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/custom-checks/index.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/custom-checks/tutorial.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/index.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/sdk/advanced.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/sdk/index.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/sdk/policy-utilities.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/sdk/quickstart.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/sdk/validation.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/getting-started/first-validation.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/getting-started/index.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/getting-started/installation.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/getting-started/quickstart.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/includes/abbreviations.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/index.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/integrations/github-actions.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/integrations/gitlab-ci.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/integrations/index.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/integrations/mcp-server.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/integrations/pre-commit.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/stylesheets/extra.css +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/checks/advanced-checks.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/checks/aws-validation.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/checks/index.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/checks/security-checks.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/cli-reference.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/configuration.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/index.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/output-formats.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/troubleshooting.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/README.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/access-analyzer/example1.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/access-analyzer/example2.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/aws-service-definitions/iam.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/aws-service-definitions/s3.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/configs/full-reference-config.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/configs/github-labels-config.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/configs/minimal-validation-config.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/configs/offline-validation.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/configs/policy-level-condition-enforcement-config.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/configs/strict-security.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/custom_checks/cross_account_external_id_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/custom_checks/domain_restriction_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/github-actions/access-analyzer-only.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/github-actions/basic-validation.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/github-actions/custom-policy-checks.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/github-actions/multi-region-validation.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/github-actions/resource-policy-validation.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/github-actions/sarif-code-scanning.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/github-actions/sequential-validation.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/github-actions/two-step-validation.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/github-actions/validate-changed-files.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/allowed-wildcard-resource.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/api_gateway_management.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/athena_query_access.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/backup_vault_access.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/cloudformation_deployer.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/cloudwatch_monitoring.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/cognito_user_pool.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/dynamodb_table_access.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/ecs_task_execution.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/eventbridge_rules.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/glue_etl_jobs.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/insecure_policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/insecure_policy.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/invalid-resource-constraint.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/invalid-sid-special-chars.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/invalid-sid-with-spaces.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/invalid_policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/kms_encryption_keys.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/lambda_developer.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/lambda_developer.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/maximum_size_policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/policy_missing_required_tags.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/policy_tag_enforcement_example.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/policy_with_wildcard_resources.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/privilege_escalation_scattered.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/rds_database_admin.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/s3_bucket_access.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/sample_policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/sample_policy.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/secrets_manager_access.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/sensitive-action-wildcards.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/sns_sqs_messaging.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/step_functions_workflow.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/terraform-template-policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/test_none_of_valid.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/test_none_of_violations.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/valid-sid-formats.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/wildcard_examples.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/wildcard_examples.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/wrong-condition-key.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/identity-policies/wrong-s3-condition.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-control-policies/rcp-invalid-allow-effect.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-control-policies/rcp-invalid-not-action.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-control-policies/rcp-invalid-specific-principal.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-control-policies/rcp-invalid-unsupported-service.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-control-policies/rcp-invalid-wildcard-action.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-control-policies/rcp-valid-enforce-encryption.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/backup-vault-policy-org-access.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/ecr-repository-policy-org-restricted.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/ecr-repository-policy-public.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/efs-filesystem-policy-vpc-only.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/glacier-vault-policy-cross-account.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/kms-key-policy-cross-account.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/kms-key-policy-insecure.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/kms-key-policy-org-restricted.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/kms-key-policy-service-specific.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/lambda-permission-api-gateway.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/lambda-permission-cross-account-invoke.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/lambda-permission-eventbridge-multiple.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/lambda-permission-public-url.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/lambda-permission-s3-trigger.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/opensearch-domain-policy-ip-restricted.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/s3-bucket-policy-cloudfront.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/s3-bucket-policy-cross-account-org.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/s3-bucket-policy-insecure-transport.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/s3-bucket-policy-ip-restriction.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/s3-bucket-policy-public-with-conditions.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/s3-bucket-policy-public.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/s3-bucket-policy-specific-account.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/s3-bucket-policy-vpc-endpoint.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/s3-bucket-policy-wildcard-actions.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/secrets-manager-policy-cross-account.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account-mfa.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/sns-topic-policy-eventbridge.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/sns-topic-policy-org-wide.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/sns-topic-policy-public-no-conditions.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/sqs-queue-policy-cross-account-role.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/sqs-queue-policy-iam-users-mfa.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/sqs-queue-policy-public.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/resource-policies/sqs-queue-policy-sns-subscription.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/service-control-policies/deny-root-account-usage.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/service-control-policies/require-mfa.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/service-control-policies/restrict-regions.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/wrong_actions_mismatch/correct-condition-wrong-key.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/wrong_actions_mismatch/dynamodb-wrong-resources.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/wrong_actions_mismatch/ec2-wrong-resources.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/wrong_actions_mismatch/iam-wrong-resources.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/wrong_actions_mismatch/lambda-wrong-resources.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/wrong_actions_mismatch/s3-wrong-resources.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/wrong_actions_mismatch/sqs-sns-wrong-resources.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/iam-test-policies/wrong_actions_mismatch/typo-condition-field.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/mcp-llm-instructions/README.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/mcp-llm-instructions/SYSTEM_PROMPT.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/mcp-llm-instructions/example_conversation.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/mcp-llm-instructions/organization_config.yaml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/quick-start/lambda-policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/quick-start/s3-policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/quick-start/user-policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/trust-policies/INVALID-wrong-principal-type.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/trust-policies/cross-account-trust-policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/trust-policies/github-actions-oidc-trust-policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/trust-policies/lambda-service-role-trust-policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/trust-policies/saml-federated-trust-policy.json +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/__main__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/action_condition_enforcement.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/action_resource_matching.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/action_validation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/condition_key_validation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/condition_type_mismatch.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/full_wildcard.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/mfa_condition_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/not_action_not_resource.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/policy_size.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/policy_structure.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/policy_type_validation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/principal_validation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/resource_validation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/sensitive_action.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/service_wildcard.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/set_operator_validation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/sid_uniqueness.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/trust_policy_validation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/utils/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/utils/action_parser.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/utils/policy_level_checks.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/utils/sensitive_action_matcher.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/utils/wildcard_expansion.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/checks/wildcard_action.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/commands/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/commands/analyze.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/commands/base.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/commands/cache.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/commands/completion.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/commands/download_services.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/commands/mcp.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/commands/post_to_pr.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/commands/validate.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/access_analyzer.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/access_analyzer_report.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/aws_fetcher.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/aws_service/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/aws_service/cache.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/aws_service/client.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/aws_service/fetcher.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/aws_service/parsers.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/aws_service/patterns.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/aws_service/storage.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/aws_service/validators.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/check_registry.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/cli.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/codeowners.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/condition_validators.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/aws_api.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/aws_global_conditions.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/category_suggestions.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/check_documentation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/condition_requirements.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/config_loader.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/defaults.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/principal_requirements.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/sensitive_actions.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/service_principals.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/config/wildcards.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/constants.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/diff_parser.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/finding_fingerprint.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/formatters/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/formatters/base.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/formatters/console.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/formatters/csv.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/formatters/enhanced.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/formatters/html.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/formatters/json.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/formatters/markdown.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/formatters/sarif.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/ignore_patterns.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/ignore_processor.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/ignored_findings.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/label_manager.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/models.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/policy_checks.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/policy_loader.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/pr_commenter.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/core/report.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/integrations/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/integrations/github_integration.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/integrations/ms_teams.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/mcp/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/mcp/models.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/mcp/server.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/mcp/session_config.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/mcp/templates/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/mcp/templates/builtin.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/mcp/tools/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/mcp/tools/generation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/mcp/tools/org_config_tools.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/mcp/tools/query.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/mcp/tools/validation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/sdk/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/sdk/arn_matching.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/sdk/context.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/sdk/exceptions.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/sdk/helpers.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/sdk/policy_utils.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/sdk/query_utils.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/sdk/shortcuts.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/utils/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/utils/cache.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/utils/regex.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/iam_validator/utils/terminal.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/mkdocs.yml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/pyproject.toml +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/README.md +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_action_validation_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_aws_global_conditions.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_condition_key_validation_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_condition_type_mismatch.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_custom_policy_checks.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_full_wildcard_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_mfa_condition_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_not_action_not_resource.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_policy_size_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_principal_validation_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_resource_validation_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_sensitive_action_filtering.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_sensitive_action_suggestions.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_sensitive_action_wildcard_expansion.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_service_principal_wildcard.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_service_wildcard_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_sid_uniqueness_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_wildcard_action_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/checks/test_wildcard_resource_check.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/commands/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/commands/test_completion_command.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/commands/test_query_command.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/config/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/config/test_config_loader.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_action_condition_enforcement.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_action_condition_enforcement_policy_level.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_action_resource_matching.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_aws_api_config.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_aws_fetcher_wildcards.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_check_id_in_comments.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_check_id_injection.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_check_registry.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_codeowners.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_comment_truncation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_diff_parser.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_finding_fingerprint.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_ignore_patterns.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_ignored_findings.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_models.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_multipart_comments.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_policy_loader.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_policy_type_validation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_pr_commenter_diff_filtering.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_regex_utils.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_set_operator_validation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_trust_policy_detection.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_trust_policy_multiple_statements.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_trust_policy_oidc_aud_required.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/core/test_trust_policy_validation.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/integrations/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/integrations/test_comment_deduplication.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/integrations/test_github_pagination.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/integrations/test_label_manager.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/mcp/__init__.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/mcp/conftest.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/mcp/test_custom_instructions.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/mcp/test_generation_tools.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/mcp/test_org_config.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/mcp/test_query_tools.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/mcp/test_server_integration.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/mcp/test_templates.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/tests/mcp/test_validation_tools.py +0 -0
- {iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/uv.lock +0 -0
|
@@ -13,6 +13,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
+
## [1.15.4] - 2025-01-27
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
**Code Quality Improvements**
|
|
21
|
+
|
|
22
|
+
- Remove duplicate `asyncio` import in query command (CodeQL: py/repeated-import)
|
|
23
|
+
- Fix unused `action_list` variable in wildcard resource check (CodeQL: py/unused-local-variable)
|
|
24
|
+
- Now includes the action list in error messages for better context
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## [1.15.3] - 2025-01-27
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
**Enhanced NotAction/NotResource Detection**
|
|
33
|
+
|
|
34
|
+
- New **critical** severity check for combined `NotAction` + `NotResource` with `Allow` effect
|
|
35
|
+
- Detects near-administrator access patterns that grant all actions except a few on all resources except a few
|
|
36
|
+
- Example: `{"Effect": "Allow", "NotAction": ["iam:DeleteUser"], "NotResource": ["arn:aws:s3:::bucket/*"]}`
|
|
37
|
+
- Improved message formatting with markdown backticks for better GitHub PR comment rendering
|
|
38
|
+
|
|
39
|
+
**MFA Condition Anti-Pattern Detection**
|
|
40
|
+
|
|
41
|
+
- Detect `BoolIfExists` with `aws:MultiFactorAuthPresent = false` (**high** severity)
|
|
42
|
+
- More dangerous than `Bool` because it also matches when the key is missing entirely
|
|
43
|
+
- Detect `Null` with `aws:MultiFactorAuthPresent = true` (warning)
|
|
44
|
+
- Checks if key doesn't exist, meaning no MFA was provided in the request context
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
16
48
|
## [1.15.2] - 2025-01-26
|
|
17
49
|
|
|
18
50
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: iam-policy-validator
|
|
3
|
-
Version: 1.15.
|
|
3
|
+
Version: 1.15.4
|
|
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://boogy.github.io/iam-policy-validator
|
|
@@ -56,11 +56,36 @@ inputs:
|
|
|
56
56
|
required: false
|
|
57
57
|
default: ""
|
|
58
58
|
|
|
59
|
+
upload-sarif:
|
|
60
|
+
description: "Upload SARIF results to GitHub Code Scanning (requires format: sarif and output-file to be set)"
|
|
61
|
+
required: false
|
|
62
|
+
default: "false"
|
|
63
|
+
|
|
59
64
|
recursive:
|
|
60
65
|
description: "Recursively search directories for policy files"
|
|
61
66
|
required: false
|
|
62
67
|
default: "true"
|
|
63
68
|
|
|
69
|
+
stream:
|
|
70
|
+
description: "Process files one-by-one (memory efficient for large repos with many policies)"
|
|
71
|
+
required: false
|
|
72
|
+
default: "false"
|
|
73
|
+
|
|
74
|
+
batch-size:
|
|
75
|
+
description: "Number of policies to process per batch when streaming (default: 10)"
|
|
76
|
+
required: false
|
|
77
|
+
default: "10"
|
|
78
|
+
|
|
79
|
+
summary:
|
|
80
|
+
description: "Show Executive Summary section in enhanced format output"
|
|
81
|
+
required: false
|
|
82
|
+
default: "false"
|
|
83
|
+
|
|
84
|
+
severity-breakdown:
|
|
85
|
+
description: "Show Issue Severity Breakdown section in enhanced format output"
|
|
86
|
+
required: false
|
|
87
|
+
default: "false"
|
|
88
|
+
|
|
64
89
|
use-access-analyzer:
|
|
65
90
|
description: "Use AWS IAM Access Analyzer for validation (requires AWS credentials)"
|
|
66
91
|
required: false
|
|
@@ -72,7 +97,7 @@ inputs:
|
|
|
72
97
|
default: "us-east-1"
|
|
73
98
|
|
|
74
99
|
policy-type:
|
|
75
|
-
description: "Policy type
|
|
100
|
+
description: "Policy type (IDENTITY_POLICY, RESOURCE_POLICY, TRUST_POLICY, SERVICE_CONTROL_POLICY, RESOURCE_CONTROL_POLICY)"
|
|
76
101
|
required: false
|
|
77
102
|
default: "IDENTITY_POLICY"
|
|
78
103
|
|
|
@@ -388,6 +413,20 @@ runs:
|
|
|
388
413
|
ARGS="$ARGS --no-recursive"
|
|
389
414
|
fi
|
|
390
415
|
|
|
416
|
+
# Add streaming mode flags
|
|
417
|
+
if [ "${{ inputs.stream }}" = "true" ]; then
|
|
418
|
+
ARGS="$ARGS --stream --batch-size ${{ inputs.batch-size }}"
|
|
419
|
+
fi
|
|
420
|
+
|
|
421
|
+
# Add enhanced output flags
|
|
422
|
+
if [ "${{ inputs.summary }}" = "true" ]; then
|
|
423
|
+
ARGS="$ARGS --summary"
|
|
424
|
+
fi
|
|
425
|
+
|
|
426
|
+
if [ "${{ inputs.severity-breakdown }}" = "true" ]; then
|
|
427
|
+
ARGS="$ARGS --severity-breakdown"
|
|
428
|
+
fi
|
|
429
|
+
|
|
391
430
|
# Add fail-on-warnings flag
|
|
392
431
|
if [ "${{ inputs.fail-on-warnings }}" = "true" ]; then
|
|
393
432
|
ARGS="$ARGS --fail-on-warnings"
|
|
@@ -526,3 +565,10 @@ runs:
|
|
|
526
565
|
name: iam-policy-validation-report
|
|
527
566
|
path: ${{ github.workspace }}/${{ inputs.output-file }}
|
|
528
567
|
retention-days: 30
|
|
568
|
+
|
|
569
|
+
- name: Upload SARIF to GitHub Code Scanning
|
|
570
|
+
if: always() && inputs.upload-sarif == 'true' && inputs.format == 'sarif' && inputs.output-file != ''
|
|
571
|
+
uses: github/codeql-action/upload-sarif@e6985fd516cce3b1a0e8db34a4013d2e50a1e252 # v4.32.0
|
|
572
|
+
with:
|
|
573
|
+
sarif_file: ${{ github.workspace }}/${{ inputs.output-file }}
|
|
574
|
+
category: iam-policy-validation
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
This file is the single source of truth for the package version.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
-
__version__ = "1.15.
|
|
6
|
+
__version__ = "1.15.4"
|
|
7
7
|
# Parse version, handling pre-release suffixes like -rc, -alpha, -beta
|
|
8
8
|
_version_base = __version__.split("-", maxsplit=1)[0] # Remove pre-release suffix if present
|
|
9
9
|
__version_info__ = tuple(int(part) for part in _version_base.split("."))
|
|
@@ -234,7 +234,7 @@ class WildcardResourceCheck(PolicyCheck):
|
|
|
234
234
|
else:
|
|
235
235
|
action_list = ", ".join(f"`{a}`" for a in sorted_actions[:5])
|
|
236
236
|
action_list += f" (+{len(sorted_actions) - 5} more)"
|
|
237
|
-
message = 'Statement applies to all resources (`"*"`)'
|
|
237
|
+
message = f'Statement applies to all resources (`"*"`) with actions that typically require specific resources: {action_list}'
|
|
238
238
|
|
|
239
239
|
# Add adjustment reason if present
|
|
240
240
|
if adjustment_reason:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/.github/workflows/pre-release.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/api-reference/exceptions.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/contributing/development-setup.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/architecture.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/sdk/advanced.md
RENAMED
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/sdk/index.md
RENAMED
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/sdk/quickstart.md
RENAMED
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/developer-guide/sdk/validation.md
RENAMED
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/getting-started/first-validation.md
RENAMED
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/getting-started/installation.md
RENAMED
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/getting-started/quickstart.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/integrations/github-actions.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/checks/aws-validation.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/cli-reference.md
RENAMED
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/configuration.md
RENAMED
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/output-formats.md
RENAMED
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/docs/user-guide/troubleshooting.md
RENAMED
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/access-analyzer/example1.json
RENAMED
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/access-analyzer/example2.json
RENAMED
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/aws-service-definitions/s3.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/configs/offline-validation.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{iam_policy_validator-1.15.3 → iam_policy_validator-1.15.4}/examples/configs/strict-security.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|