iam-policy-validator 1.0.4__tar.gz → 1.6.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.
Potentially problematic release.
This version of iam-policy-validator might be problematic. Click here for more details.
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/.github/workflows/ci.yml +10 -12
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/.github/workflows/release.yml +30 -29
- iam_policy_validator-1.6.0/.python-version +1 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/CONTRIBUTING.md +93 -59
- iam_policy_validator-1.6.0/DOCS.md +1398 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/Makefile +24 -3
- iam_policy_validator-1.6.0/PKG-INFO +1050 -0
- iam_policy_validator-1.6.0/README.md +1008 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/action.yaml +145 -10
- iam_policy_validator-1.6.0/aws_services/_manifest.json +7 -0
- iam_policy_validator-1.6.0/aws_services/_services.json +1722 -0
- iam_policy_validator-1.6.0/aws_services/a2c.json +66 -0
- iam_policy_validator-1.6.0/aws_services/a4b.json +1945 -0
- iam_policy_validator-1.6.0/aws_services/access-analyzer.json +717 -0
- iam_policy_validator-1.6.0/aws_services/account.json +409 -0
- iam_policy_validator-1.6.0/aws_services/acm-pca.json +511 -0
- iam_policy_validator-1.6.0/aws_services/acm.json +401 -0
- iam_policy_validator-1.6.0/aws_services/action-recommendations.json +21 -0
- iam_policy_validator-1.6.0/aws_services/activate.json +126 -0
- iam_policy_validator-1.6.0/aws_services/aiops.json +694 -0
- iam_policy_validator-1.6.0/aws_services/airflow.json +301 -0
- iam_policy_validator-1.6.0/aws_services/amplify.json +917 -0
- iam_policy_validator-1.6.0/aws_services/amplifybackend.json +797 -0
- iam_policy_validator-1.6.0/aws_services/amplifyuibuilder.json +698 -0
- iam_policy_validator-1.6.0/aws_services/aoss.json +787 -0
- iam_policy_validator-1.6.0/aws_services/apigateway.json +1812 -0
- iam_policy_validator-1.6.0/aws_services/app-integrations.json +860 -0
- iam_policy_validator-1.6.0/aws_services/appconfig.json +1212 -0
- iam_policy_validator-1.6.0/aws_services/appfabric.json +691 -0
- iam_policy_validator-1.6.0/aws_services/appflow.json +671 -0
- iam_policy_validator-1.6.0/aws_services/application-autoscaling.json +337 -0
- iam_policy_validator-1.6.0/aws_services/application-signals.json +453 -0
- iam_policy_validator-1.6.0/aws_services/application-transformation.json +216 -0
- iam_policy_validator-1.6.0/aws_services/applicationinsights.json +543 -0
- iam_policy_validator-1.6.0/aws_services/appmesh-preview.json +855 -0
- iam_policy_validator-1.6.0/aws_services/appmesh.json +1045 -0
- iam_policy_validator-1.6.0/aws_services/apprunner.json +1057 -0
- iam_policy_validator-1.6.0/aws_services/appstream.json +1800 -0
- iam_policy_validator-1.6.0/aws_services/appstudio.json +101 -0
- iam_policy_validator-1.6.0/aws_services/appsync.json +1621 -0
- iam_policy_validator-1.6.0/aws_services/apptest.json +540 -0
- iam_policy_validator-1.6.0/aws_services/aps.json +1504 -0
- iam_policy_validator-1.6.0/aws_services/arc-region-switch.json +493 -0
- iam_policy_validator-1.6.0/aws_services/arc-zonal-shift.json +405 -0
- iam_policy_validator-1.6.0/aws_services/arsenal.json +21 -0
- iam_policy_validator-1.6.0/aws_services/artifact.json +299 -0
- iam_policy_validator-1.6.0/aws_services/athena.json +1600 -0
- iam_policy_validator-1.6.0/aws_services/auditmanager.json +1228 -0
- iam_policy_validator-1.6.0/aws_services/autoscaling-plans.json +96 -0
- iam_policy_validator-1.6.0/aws_services/autoscaling.json +1600 -0
- iam_policy_validator-1.6.0/aws_services/aws-marketplace-management.json +201 -0
- iam_policy_validator-1.6.0/aws_services/aws-marketplace.json +1031 -0
- iam_policy_validator-1.6.0/aws_services/aws-portal.json +141 -0
- iam_policy_validator-1.6.0/aws_services/awsconnector.json +51 -0
- iam_policy_validator-1.6.0/aws_services/b2bi.json +693 -0
- iam_policy_validator-1.6.0/aws_services/backup-gateway.json +606 -0
- iam_policy_validator-1.6.0/aws_services/backup-search.json +296 -0
- iam_policy_validator-1.6.0/aws_services/backup-storage.json +231 -0
- iam_policy_validator-1.6.0/aws_services/backup.json +2196 -0
- iam_policy_validator-1.6.0/aws_services/batch.json +1071 -0
- iam_policy_validator-1.6.0/aws_services/bcm-dashboards.json +162 -0
- iam_policy_validator-1.6.0/aws_services/bcm-data-exports.json +307 -0
- iam_policy_validator-1.6.0/aws_services/bcm-pricing-calculator.json +723 -0
- iam_policy_validator-1.6.0/aws_services/bcm-recommended-actions.json +21 -0
- iam_policy_validator-1.6.0/aws_services/bedrock-agentcore.json +2283 -0
- iam_policy_validator-1.6.0/aws_services/bedrock.json +5215 -0
- iam_policy_validator-1.6.0/aws_services/billing.json +570 -0
- iam_policy_validator-1.6.0/aws_services/billingconductor.json +729 -0
- iam_policy_validator-1.6.0/aws_services/braket.json +347 -0
- iam_policy_validator-1.6.0/aws_services/budgets.json +326 -0
- iam_policy_validator-1.6.0/aws_services/bugbust.json +421 -0
- iam_policy_validator-1.6.0/aws_services/cases.json +1053 -0
- iam_policy_validator-1.6.0/aws_services/cassandra.json +536 -0
- iam_policy_validator-1.6.0/aws_services/ce.json +1143 -0
- iam_policy_validator-1.6.0/aws_services/chatbot.json +772 -0
- iam_policy_validator-1.6.0/aws_services/chime.json +6165 -0
- iam_policy_validator-1.6.0/aws_services/cleanrooms-ml.json +1501 -0
- iam_policy_validator-1.6.0/aws_services/cleanrooms.json +2193 -0
- iam_policy_validator-1.6.0/aws_services/cloud9.json +667 -0
- iam_policy_validator-1.6.0/aws_services/clouddirectory.json +1385 -0
- iam_policy_validator-1.6.0/aws_services/cloudformation.json +2024 -0
- iam_policy_validator-1.6.0/aws_services/cloudfront-keyvaluestore.json +134 -0
- iam_policy_validator-1.6.0/aws_services/cloudfront.json +3023 -0
- iam_policy_validator-1.6.0/aws_services/cloudhsm.json +415 -0
- iam_policy_validator-1.6.0/aws_services/cloudsearch.json +654 -0
- iam_policy_validator-1.6.0/aws_services/cloudshell.json +249 -0
- iam_policy_validator-1.6.0/aws_services/cloudtrail-data.json +57 -0
- iam_policy_validator-1.6.0/aws_services/cloudtrail.json +1361 -0
- iam_policy_validator-1.6.0/aws_services/cloudwatch.json +1139 -0
- iam_policy_validator-1.6.0/aws_services/codeartifact.json +1096 -0
- iam_policy_validator-1.6.0/aws_services/codebuild.json +2400 -0
- iam_policy_validator-1.6.0/aws_services/codecatalyst.json +708 -0
- iam_policy_validator-1.6.0/aws_services/codecommit.json +1853 -0
- iam_policy_validator-1.6.0/aws_services/codeconnections.json +893 -0
- iam_policy_validator-1.6.0/aws_services/codedeploy-commands-secure.json +66 -0
- iam_policy_validator-1.6.0/aws_services/codedeploy.json +972 -0
- iam_policy_validator-1.6.0/aws_services/codeguru-profiler.json +493 -0
- iam_policy_validator-1.6.0/aws_services/codeguru-reviewer.json +391 -0
- iam_policy_validator-1.6.0/aws_services/codeguru-security.json +319 -0
- iam_policy_validator-1.6.0/aws_services/codeguru.json +21 -0
- iam_policy_validator-1.6.0/aws_services/codepipeline.json +928 -0
- iam_policy_validator-1.6.0/aws_services/codestar-connections.json +893 -0
- iam_policy_validator-1.6.0/aws_services/codestar-notifications.json +340 -0
- iam_policy_validator-1.6.0/aws_services/codestar.json +478 -0
- iam_policy_validator-1.6.0/aws_services/codewhisperer.json +455 -0
- iam_policy_validator-1.6.0/aws_services/cognito-identity.json +518 -0
- iam_policy_validator-1.6.0/aws_services/cognito-idp.json +2277 -0
- iam_policy_validator-1.6.0/aws_services/cognito-sync.json +401 -0
- iam_policy_validator-1.6.0/aws_services/comprehend.json +2071 -0
- iam_policy_validator-1.6.0/aws_services/comprehendmedical.json +389 -0
- iam_policy_validator-1.6.0/aws_services/compute-optimizer.json +446 -0
- iam_policy_validator-1.6.0/aws_services/config.json +1936 -0
- iam_policy_validator-1.6.0/aws_services/connect-campaigns.json +768 -0
- iam_policy_validator-1.6.0/aws_services/connect.json +7821 -0
- iam_policy_validator-1.6.0/aws_services/consoleapp.json +49 -0
- iam_policy_validator-1.6.0/aws_services/consolidatedbilling.json +36 -0
- iam_policy_validator-1.6.0/aws_services/controlcatalog.json +132 -0
- iam_policy_validator-1.6.0/aws_services/controltower.json +1158 -0
- iam_policy_validator-1.6.0/aws_services/cost-optimization-hub.json +111 -0
- iam_policy_validator-1.6.0/aws_services/cur.json +261 -0
- iam_policy_validator-1.6.0/aws_services/customer-verification.json +81 -0
- iam_policy_validator-1.6.0/aws_services/databrew.json +984 -0
- iam_policy_validator-1.6.0/aws_services/dataexchange.json +956 -0
- iam_policy_validator-1.6.0/aws_services/datapipeline.json +514 -0
- iam_policy_validator-1.6.0/aws_services/datasync.json +1441 -0
- iam_policy_validator-1.6.0/aws_services/datazone.json +3021 -0
- iam_policy_validator-1.6.0/aws_services/dax.json +579 -0
- iam_policy_validator-1.6.0/aws_services/dbqms.json +201 -0
- iam_policy_validator-1.6.0/aws_services/deadline.json +2639 -0
- iam_policy_validator-1.6.0/aws_services/deepcomposer.json +442 -0
- iam_policy_validator-1.6.0/aws_services/deepracer.json +1302 -0
- iam_policy_validator-1.6.0/aws_services/detective.json +733 -0
- iam_policy_validator-1.6.0/aws_services/devicefarm.json +1751 -0
- iam_policy_validator-1.6.0/aws_services/devops-guru.json +503 -0
- iam_policy_validator-1.6.0/aws_services/directconnect.json +1424 -0
- iam_policy_validator-1.6.0/aws_services/discovery.json +452 -0
- iam_policy_validator-1.6.0/aws_services/dlm.json +198 -0
- iam_policy_validator-1.6.0/aws_services/dms.json +2544 -0
- iam_policy_validator-1.6.0/aws_services/docdb-elastic.json +481 -0
- iam_policy_validator-1.6.0/aws_services/drs.json +1937 -0
- iam_policy_validator-1.6.0/aws_services/ds-data.json +478 -0
- iam_policy_validator-1.6.0/aws_services/ds.json +1810 -0
- iam_policy_validator-1.6.0/aws_services/dsql.json +567 -0
- iam_policy_validator-1.6.0/aws_services/dynamodb.json +1640 -0
- iam_policy_validator-1.6.0/aws_services/ebs.json +203 -0
- iam_policy_validator-1.6.0/aws_services/ec2-instance-connect.json +139 -0
- iam_policy_validator-1.6.0/aws_services/ec2.json +25565 -0
- iam_policy_validator-1.6.0/aws_services/ec2messages.json +118 -0
- iam_policy_validator-1.6.0/aws_services/ecr-public.json +516 -0
- iam_policy_validator-1.6.0/aws_services/ecr.json +1016 -0
- iam_policy_validator-1.6.0/aws_services/ecs.json +1832 -0
- iam_policy_validator-1.6.0/aws_services/eks-auth.json +45 -0
- iam_policy_validator-1.6.0/aws_services/eks.json +1597 -0
- iam_policy_validator-1.6.0/aws_services/elasticache.json +2402 -0
- iam_policy_validator-1.6.0/aws_services/elasticbeanstalk.json +1331 -0
- iam_policy_validator-1.6.0/aws_services/elasticfilesystem.json +866 -0
- iam_policy_validator-1.6.0/aws_services/elasticloadbalancing.json +1911 -0
- iam_policy_validator-1.6.0/aws_services/elasticmapreduce.json +1690 -0
- iam_policy_validator-1.6.0/aws_services/elastictranscoder.json +339 -0
- iam_policy_validator-1.6.0/aws_services/elemental-activations.json +201 -0
- iam_policy_validator-1.6.0/aws_services/elemental-appliances-software.json +239 -0
- iam_policy_validator-1.6.0/aws_services/elemental-support-cases.json +363 -0
- iam_policy_validator-1.6.0/aws_services/elemental-support-content.json +21 -0
- iam_policy_validator-1.6.0/aws_services/emr-containers.json +616 -0
- iam_policy_validator-1.6.0/aws_services/emr-serverless.json +440 -0
- iam_policy_validator-1.6.0/aws_services/entityresolution.json +840 -0
- iam_policy_validator-1.6.0/aws_services/es.json +2084 -0
- iam_policy_validator-1.6.0/aws_services/events.json +1451 -0
- iam_policy_validator-1.6.0/aws_services/evidently.json +819 -0
- iam_policy_validator-1.6.0/aws_services/evs.json +300 -0
- iam_policy_validator-1.6.0/aws_services/execute-api.json +94 -0
- iam_policy_validator-1.6.0/aws_services/finspace-api.json +34 -0
- iam_policy_validator-1.6.0/aws_services/finspace.json +1400 -0
- iam_policy_validator-1.6.0/aws_services/firehose.json +283 -0
- iam_policy_validator-1.6.0/aws_services/fis.json +713 -0
- iam_policy_validator-1.6.0/aws_services/fms.json +851 -0
- iam_policy_validator-1.6.0/aws_services/forecast.json +1757 -0
- iam_policy_validator-1.6.0/aws_services/frauddetector.json +1878 -0
- iam_policy_validator-1.6.0/aws_services/freertos.json +379 -0
- iam_policy_validator-1.6.0/aws_services/freetier.json +111 -0
- iam_policy_validator-1.6.0/aws_services/fsx.json +1400 -0
- iam_policy_validator-1.6.0/aws_services/gamelift.json +2421 -0
- iam_policy_validator-1.6.0/aws_services/gameliftstreams.json +531 -0
- iam_policy_validator-1.6.0/aws_services/geo-maps.json +54 -0
- iam_policy_validator-1.6.0/aws_services/geo-places.json +154 -0
- iam_policy_validator-1.6.0/aws_services/geo-routes.json +114 -0
- iam_policy_validator-1.6.0/aws_services/geo.json +1402 -0
- iam_policy_validator-1.6.0/aws_services/glacier.json +669 -0
- iam_policy_validator-1.6.0/aws_services/globalaccelerator.json +1142 -0
- iam_policy_validator-1.6.0/aws_services/glue.json +6633 -0
- iam_policy_validator-1.6.0/aws_services/grafana.json +538 -0
- iam_policy_validator-1.6.0/aws_services/greengrass.json +2532 -0
- iam_policy_validator-1.6.0/aws_services/groundstation.json +810 -0
- iam_policy_validator-1.6.0/aws_services/groundtruthlabeling.json +246 -0
- iam_policy_validator-1.6.0/aws_services/guardduty.json +1615 -0
- iam_policy_validator-1.6.0/aws_services/health.json +256 -0
- iam_policy_validator-1.6.0/aws_services/healthlake.json +779 -0
- iam_policy_validator-1.6.0/aws_services/honeycode.json +542 -0
- iam_policy_validator-1.6.0/aws_services/iam.json +3720 -0
- iam_policy_validator-1.6.0/aws_services/identity-sync.json +284 -0
- iam_policy_validator-1.6.0/aws_services/identitystore-auth.json +51 -0
- iam_policy_validator-1.6.0/aws_services/identitystore.json +567 -0
- iam_policy_validator-1.6.0/aws_services/imagebuilder.json +1791 -0
- iam_policy_validator-1.6.0/aws_services/importexport.json +96 -0
- iam_policy_validator-1.6.0/aws_services/inspector-scan.json +21 -0
- iam_policy_validator-1.6.0/aws_services/inspector.json +561 -0
- iam_policy_validator-1.6.0/aws_services/inspector2.json +1325 -0
- iam_policy_validator-1.6.0/aws_services/internetmonitor.json +388 -0
- iam_policy_validator-1.6.0/aws_services/invoicing.json +329 -0
- iam_policy_validator-1.6.0/aws_services/iot-device-tester.json +81 -0
- iam_policy_validator-1.6.0/aws_services/iot.json +6181 -0
- iam_policy_validator-1.6.0/aws_services/iotanalytics.json +768 -0
- iam_policy_validator-1.6.0/aws_services/iotdeviceadvisor.json +330 -0
- iam_policy_validator-1.6.0/aws_services/iotevents.json +833 -0
- iam_policy_validator-1.6.0/aws_services/iotfleethub.json +198 -0
- iam_policy_validator-1.6.0/aws_services/iotfleetwise.json +1313 -0
- iam_policy_validator-1.6.0/aws_services/iotjobsdata.json +108 -0
- iam_policy_validator-1.6.0/aws_services/iotmanagedintegrations.json +1568 -0
- iam_policy_validator-1.6.0/aws_services/iotsitewise.json +2388 -0
- iam_policy_validator-1.6.0/aws_services/iottwinmaker.json +990 -0
- iam_policy_validator-1.6.0/aws_services/iotwireless.json +2459 -0
- iam_policy_validator-1.6.0/aws_services/iq-permission.json +194 -0
- iam_policy_validator-1.6.0/aws_services/iq.json +1295 -0
- iam_policy_validator-1.6.0/aws_services/ivs.json +1696 -0
- iam_policy_validator-1.6.0/aws_services/ivschat.json +415 -0
- iam_policy_validator-1.6.0/aws_services/kafka-cluster.json +423 -0
- iam_policy_validator-1.6.0/aws_services/kafka.json +1116 -0
- iam_policy_validator-1.6.0/aws_services/kafkaconnect.json +452 -0
- iam_policy_validator-1.6.0/aws_services/kendra-ranking.json +218 -0
- iam_policy_validator-1.6.0/aws_services/kendra.json +1576 -0
- iam_policy_validator-1.6.0/aws_services/kinesis.json +925 -0
- iam_policy_validator-1.6.0/aws_services/kinesisanalytics.json +713 -0
- iam_policy_validator-1.6.0/aws_services/kinesisvideo.json +942 -0
- iam_policy_validator-1.6.0/aws_services/kms.json +2213 -0
- iam_policy_validator-1.6.0/aws_services/lakeformation.json +902 -0
- iam_policy_validator-1.6.0/aws_services/lambda.json +1616 -0
- iam_policy_validator-1.6.0/aws_services/launchwizard.json +643 -0
- iam_policy_validator-1.6.0/aws_services/lex.json +3086 -0
- iam_policy_validator-1.6.0/aws_services/license-manager-linux-subscriptions.json +238 -0
- iam_policy_validator-1.6.0/aws_services/license-manager-user-subscriptions.json +440 -0
- iam_policy_validator-1.6.0/aws_services/license-manager.json +1007 -0
- iam_policy_validator-1.6.0/aws_services/lightsail.json +3142 -0
- iam_policy_validator-1.6.0/aws_services/logs.json +2007 -0
- iam_policy_validator-1.6.0/aws_services/lookoutequipment.json +1138 -0
- iam_policy_validator-1.6.0/aws_services/lookoutmetrics.json +689 -0
- iam_policy_validator-1.6.0/aws_services/lookoutvision.json +494 -0
- iam_policy_validator-1.6.0/aws_services/m2.json +775 -0
- iam_policy_validator-1.6.0/aws_services/machinelearning.json +614 -0
- iam_policy_validator-1.6.0/aws_services/macie2.json +1464 -0
- iam_policy_validator-1.6.0/aws_services/managedblockchain-query.json +141 -0
- iam_policy_validator-1.6.0/aws_services/managedblockchain.json +780 -0
- iam_policy_validator-1.6.0/aws_services/mapcredits.json +74 -0
- iam_policy_validator-1.6.0/aws_services/marketplacecommerceanalytics.json +36 -0
- iam_policy_validator-1.6.0/aws_services/mechanicalturk.json +591 -0
- iam_policy_validator-1.6.0/aws_services/mediaconnect.json +960 -0
- iam_policy_validator-1.6.0/aws_services/mediaconvert.json +733 -0
- iam_policy_validator-1.6.0/aws_services/mediaimport.json +21 -0
- iam_policy_validator-1.6.0/aws_services/medialive.json +2777 -0
- iam_policy_validator-1.6.0/aws_services/mediapackage-vod.json +402 -0
- iam_policy_validator-1.6.0/aws_services/mediapackage.json +442 -0
- iam_policy_validator-1.6.0/aws_services/mediapackagev2.json +921 -0
- iam_policy_validator-1.6.0/aws_services/mediastore.json +570 -0
- iam_policy_validator-1.6.0/aws_services/mediatailor.json +974 -0
- iam_policy_validator-1.6.0/aws_services/medical-imaging.json +638 -0
- iam_policy_validator-1.6.0/aws_services/memorydb.json +1259 -0
- iam_policy_validator-1.6.0/aws_services/mgh.json +932 -0
- iam_policy_validator-1.6.0/aws_services/mgn.json +2644 -0
- iam_policy_validator-1.6.0/aws_services/migrationhub-orchestrator.json +711 -0
- iam_policy_validator-1.6.0/aws_services/migrationhub-strategy.json +471 -0
- iam_policy_validator-1.6.0/aws_services/mobileanalytics.json +51 -0
- iam_policy_validator-1.6.0/aws_services/mobiletargeting.json +2802 -0
- iam_policy_validator-1.6.0/aws_services/monitron.json +398 -0
- iam_policy_validator-1.6.0/aws_services/mpa.json +534 -0
- iam_policy_validator-1.6.0/aws_services/mq.json +560 -0
- iam_policy_validator-1.6.0/aws_services/neptune-db.json +697 -0
- iam_policy_validator-1.6.0/aws_services/neptune-graph.json +956 -0
- iam_policy_validator-1.6.0/aws_services/network-firewall.json +1370 -0
- iam_policy_validator-1.6.0/aws_services/network-security-director.json +141 -0
- iam_policy_validator-1.6.0/aws_services/networkflowmonitor.json +570 -0
- iam_policy_validator-1.6.0/aws_services/networkmanager-chat.json +111 -0
- iam_policy_validator-1.6.0/aws_services/networkmanager.json +2143 -0
- iam_policy_validator-1.6.0/aws_services/networkmonitor.json +288 -0
- iam_policy_validator-1.6.0/aws_services/nimble.json +1265 -0
- iam_policy_validator-1.6.0/aws_services/notifications-contacts.json +213 -0
- iam_policy_validator-1.6.0/aws_services/notifications.json +813 -0
- iam_policy_validator-1.6.0/aws_services/oam.json +387 -0
- iam_policy_validator-1.6.0/aws_services/observabilityadmin.json +628 -0
- iam_policy_validator-1.6.0/aws_services/odb.json +1076 -0
- iam_policy_validator-1.6.0/aws_services/omics.json +2088 -0
- iam_policy_validator-1.6.0/aws_services/one.json +675 -0
- iam_policy_validator-1.6.0/aws_services/opensearch.json +120 -0
- iam_policy_validator-1.6.0/aws_services/opsworks-cm.json +305 -0
- iam_policy_validator-1.6.0/aws_services/opsworks.json +1454 -0
- iam_policy_validator-1.6.0/aws_services/organizations.json +1311 -0
- iam_policy_validator-1.6.0/aws_services/osis.json +497 -0
- iam_policy_validator-1.6.0/aws_services/outposts.json +729 -0
- iam_policy_validator-1.6.0/aws_services/panorama.json +727 -0
- iam_policy_validator-1.6.0/aws_services/partnercentral-account-management.json +51 -0
- iam_policy_validator-1.6.0/aws_services/partnercentral.json +940 -0
- iam_policy_validator-1.6.0/aws_services/payment-cryptography.json +777 -0
- iam_policy_validator-1.6.0/aws_services/payments.json +428 -0
- iam_policy_validator-1.6.0/aws_services/pca-connector-ad.json +564 -0
- iam_policy_validator-1.6.0/aws_services/pca-connector-scep.json +282 -0
- iam_policy_validator-1.6.0/aws_services/pcs.json +510 -0
- iam_policy_validator-1.6.0/aws_services/personalize.json +1661 -0
- iam_policy_validator-1.6.0/aws_services/pi.json +335 -0
- iam_policy_validator-1.6.0/aws_services/pipes.json +264 -0
- iam_policy_validator-1.6.0/aws_services/polly.json +174 -0
- iam_policy_validator-1.6.0/aws_services/pricing.json +81 -0
- iam_policy_validator-1.6.0/aws_services/private-networks.json +646 -0
- iam_policy_validator-1.6.0/aws_services/profile.json +1988 -0
- iam_policy_validator-1.6.0/aws_services/proton.json +2482 -0
- iam_policy_validator-1.6.0/aws_services/purchase-orders.json +341 -0
- iam_policy_validator-1.6.0/aws_services/q.json +699 -0
- iam_policy_validator-1.6.0/aws_services/qapps.json +1017 -0
- iam_policy_validator-1.6.0/aws_services/qbusiness.json +2236 -0
- iam_policy_validator-1.6.0/aws_services/qdeveloper.json +183 -0
- iam_policy_validator-1.6.0/aws_services/qldb.json +816 -0
- iam_policy_validator-1.6.0/aws_services/quicksight.json +5593 -0
- iam_policy_validator-1.6.0/aws_services/ram.json +877 -0
- iam_policy_validator-1.6.0/aws_services/rbin.json +287 -0
- iam_policy_validator-1.6.0/aws_services/rds-data.json +176 -0
- iam_policy_validator-1.6.0/aws_services/rds-db.json +34 -0
- iam_policy_validator-1.6.0/aws_services/rds.json +4376 -0
- iam_policy_validator-1.6.0/aws_services/redshift-data.json +296 -0
- iam_policy_validator-1.6.0/aws_services/redshift-serverless.json +1335 -0
- iam_policy_validator-1.6.0/aws_services/redshift.json +3367 -0
- iam_policy_validator-1.6.0/aws_services/refactor-spaces.json +655 -0
- iam_policy_validator-1.6.0/aws_services/rekognition.json +1503 -0
- iam_policy_validator-1.6.0/aws_services/repostspace.json +422 -0
- iam_policy_validator-1.6.0/aws_services/resiliencehub.json +1325 -0
- iam_policy_validator-1.6.0/aws_services/resource-explorer-2.json +705 -0
- iam_policy_validator-1.6.0/aws_services/resource-explorer.json +51 -0
- iam_policy_validator-1.6.0/aws_services/resource-groups.json +607 -0
- iam_policy_validator-1.6.0/aws_services/rhelkb.json +21 -0
- iam_policy_validator-1.6.0/aws_services/robomaker.json +1335 -0
- iam_policy_validator-1.6.0/aws_services/rolesanywhere.json +661 -0
- iam_policy_validator-1.6.0/aws_services/route53-recovery-cluster.json +103 -0
- iam_policy_validator-1.6.0/aws_services/route53-recovery-control-config.json +627 -0
- iam_policy_validator-1.6.0/aws_services/route53-recovery-readiness.json +713 -0
- iam_policy_validator-1.6.0/aws_services/route53.json +1418 -0
- iam_policy_validator-1.6.0/aws_services/route53domains.json +516 -0
- iam_policy_validator-1.6.0/aws_services/route53profiles.json +357 -0
- iam_policy_validator-1.6.0/aws_services/route53resolver.json +1540 -0
- iam_policy_validator-1.6.0/aws_services/rtbfabric.json +632 -0
- iam_policy_validator-1.6.0/aws_services/rum.json +438 -0
- iam_policy_validator-1.6.0/aws_services/s3-object-lambda.json +697 -0
- iam_policy_validator-1.6.0/aws_services/s3-outposts.json +1445 -0
- iam_policy_validator-1.6.0/aws_services/s3.json +5374 -0
- iam_policy_validator-1.6.0/aws_services/s3express.json +845 -0
- iam_policy_validator-1.6.0/aws_services/s3tables.json +788 -0
- iam_policy_validator-1.6.0/aws_services/s3vectors.json +353 -0
- iam_policy_validator-1.6.0/aws_services/sagemaker-data-science-assistant.json +21 -0
- iam_policy_validator-1.6.0/aws_services/sagemaker-geospatial.json +479 -0
- iam_policy_validator-1.6.0/aws_services/sagemaker-mlflow.json +1247 -0
- iam_policy_validator-1.6.0/aws_services/sagemaker.json +9855 -0
- iam_policy_validator-1.6.0/aws_services/savingsplans.json +245 -0
- iam_policy_validator-1.6.0/aws_services/scheduler.json +307 -0
- iam_policy_validator-1.6.0/aws_services/schemas.json +705 -0
- iam_policy_validator-1.6.0/aws_services/scn.json +813 -0
- iam_policy_validator-1.6.0/aws_services/sdb.json +209 -0
- iam_policy_validator-1.6.0/aws_services/secretsmanager.json +756 -0
- iam_policy_validator-1.6.0/aws_services/security-ir.json +506 -0
- iam_policy_validator-1.6.0/aws_services/securityhub.json +2313 -0
- iam_policy_validator-1.6.0/aws_services/securitylake.json +638 -0
- iam_policy_validator-1.6.0/aws_services/serverlessrepo.json +325 -0
- iam_policy_validator-1.6.0/aws_services/servicecatalog.json +2287 -0
- iam_policy_validator-1.6.0/aws_services/servicediscovery.json +768 -0
- iam_policy_validator-1.6.0/aws_services/serviceextract.json +21 -0
- iam_policy_validator-1.6.0/aws_services/servicequotas.json +423 -0
- iam_policy_validator-1.6.0/aws_services/ses.json +5172 -0
- iam_policy_validator-1.6.0/aws_services/shield.json +755 -0
- iam_policy_validator-1.6.0/aws_services/signer.json +437 -0
- iam_policy_validator-1.6.0/aws_services/signin.json +36 -0
- iam_policy_validator-1.6.0/aws_services/simspaceweaver.json +353 -0
- iam_policy_validator-1.6.0/aws_services/sms-voice.json +2083 -0
- iam_policy_validator-1.6.0/aws_services/sms.json +561 -0
- iam_policy_validator-1.6.0/aws_services/snow-device-management.json +298 -0
- iam_policy_validator-1.6.0/aws_services/snowball.json +411 -0
- iam_policy_validator-1.6.0/aws_services/sns.json +754 -0
- iam_policy_validator-1.6.0/aws_services/social-messaging.json +479 -0
- iam_policy_validator-1.6.0/aws_services/sqlworkbench.json +1553 -0
- iam_policy_validator-1.6.0/aws_services/sqs.json +443 -0
- iam_policy_validator-1.6.0/aws_services/ssm-contacts.json +868 -0
- iam_policy_validator-1.6.0/aws_services/ssm-guiconnect.json +111 -0
- iam_policy_validator-1.6.0/aws_services/ssm-incidents.json +717 -0
- iam_policy_validator-1.6.0/aws_services/ssm-quicksetup.json +309 -0
- iam_policy_validator-1.6.0/aws_services/ssm-sap.json +573 -0
- iam_policy_validator-1.6.0/aws_services/ssm.json +3613 -0
- iam_policy_validator-1.6.0/aws_services/ssmmessages.json +84 -0
- iam_policy_validator-1.6.0/aws_services/sso-directory.json +861 -0
- iam_policy_validator-1.6.0/aws_services/sso-oauth.json +74 -0
- iam_policy_validator-1.6.0/aws_services/sso.json +2493 -0
- iam_policy_validator-1.6.0/aws_services/states.json +914 -0
- iam_policy_validator-1.6.0/aws_services/storagegateway.json +2120 -0
- iam_policy_validator-1.6.0/aws_services/sts.json +728 -0
- iam_policy_validator-1.6.0/aws_services/support-console.json +171 -0
- iam_policy_validator-1.6.0/aws_services/support.json +471 -0
- iam_policy_validator-1.6.0/aws_services/supportapp.json +201 -0
- iam_policy_validator-1.6.0/aws_services/supportplans.json +81 -0
- iam_policy_validator-1.6.0/aws_services/sustainability.json +21 -0
- iam_policy_validator-1.6.0/aws_services/swf.json +1250 -0
- iam_policy_validator-1.6.0/aws_services/synthetics.json +545 -0
- iam_policy_validator-1.6.0/aws_services/tag.json +126 -0
- iam_policy_validator-1.6.0/aws_services/tax.json +351 -0
- iam_policy_validator-1.6.0/aws_services/textract.json +490 -0
- iam_policy_validator-1.6.0/aws_services/thinclient.json +463 -0
- iam_policy_validator-1.6.0/aws_services/timestream-influxdb.json +423 -0
- iam_policy_validator-1.6.0/aws_services/timestream.json +767 -0
- iam_policy_validator-1.6.0/aws_services/tiros.json +81 -0
- iam_policy_validator-1.6.0/aws_services/tnb.json +831 -0
- iam_policy_validator-1.6.0/aws_services/transcribe.json +1073 -0
- iam_policy_validator-1.6.0/aws_services/transfer.json +1607 -0
- iam_policy_validator-1.6.0/aws_services/transform.json +271 -0
- iam_policy_validator-1.6.0/aws_services/translate.json +426 -0
- iam_policy_validator-1.6.0/aws_services/trustedadvisor.json +829 -0
- iam_policy_validator-1.6.0/aws_services/ts.json +223 -0
- iam_policy_validator-1.6.0/aws_services/user-subscriptions.json +107 -0
- iam_policy_validator-1.6.0/aws_services/uxc.json +51 -0
- iam_policy_validator-1.6.0/aws_services/vendor-insights.json +570 -0
- iam_policy_validator-1.6.0/aws_services/verified-access.json +21 -0
- iam_policy_validator-1.6.0/aws_services/verifiedpermissions.json +579 -0
- iam_policy_validator-1.6.0/aws_services/voiceid.json +648 -0
- iam_policy_validator-1.6.0/aws_services/vpc-lattice-svcs.json +134 -0
- iam_policy_validator-1.6.0/aws_services/vpc-lattice.json +1876 -0
- iam_policy_validator-1.6.0/aws_services/vpce.json +21 -0
- iam_policy_validator-1.6.0/aws_services/waf-regional.json +1706 -0
- iam_policy_validator-1.6.0/aws_services/waf.json +1617 -0
- iam_policy_validator-1.6.0/aws_services/wafv2.json +1355 -0
- iam_policy_validator-1.6.0/aws_services/wam.json +21 -0
- iam_policy_validator-1.6.0/aws_services/wellarchitected.json +1665 -0
- iam_policy_validator-1.6.0/aws_services/wickr.json +185 -0
- iam_policy_validator-1.6.0/aws_services/wisdom.json +2122 -0
- iam_policy_validator-1.6.0/aws_services/workdocs.json +934 -0
- iam_policy_validator-1.6.0/aws_services/worklink.json +726 -0
- iam_policy_validator-1.6.0/aws_services/workmail.json +2548 -0
- iam_policy_validator-1.6.0/aws_services/workmailmessageflow.json +54 -0
- iam_policy_validator-1.6.0/aws_services/workspaces-instances.json +292 -0
- iam_policy_validator-1.6.0/aws_services/workspaces-web.json +1652 -0
- iam_policy_validator-1.6.0/aws_services/workspaces.json +2038 -0
- iam_policy_validator-1.6.0/aws_services/xray.json +813 -0
- iam_policy_validator-1.6.0/docs/CHECKS.md +74 -0
- iam_policy_validator-1.6.0/docs/README.md +43 -0
- iam_policy_validator-1.6.0/docs/ROADMAP.md +307 -0
- iam_policy_validator-1.6.0/docs/SDK.md +714 -0
- iam_policy_validator-1.6.0/docs/aws-api-configuration.md +157 -0
- iam_policy_validator-1.6.0/docs/aws-services-backup.md +159 -0
- iam_policy_validator-1.6.0/docs/check-reference.md +1414 -0
- iam_policy_validator-1.6.0/docs/condition-requirements.md +171 -0
- iam_policy_validator-1.6.0/docs/configuration.md +574 -0
- iam_policy_validator-1.6.0/docs/custom-checks.md +558 -0
- iam_policy_validator-1.6.0/docs/development/PUBLISHING.md +281 -0
- iam_policy_validator-1.0.4/examples/github-actions/README.md → iam_policy_validator-1.6.0/docs/github-actions-workflows.md +35 -12
- iam_policy_validator-1.6.0/docs/modular-configuration.md +327 -0
- iam_policy_validator-1.0.4/examples/policies/test-cases/README-privilege-escalation.md → iam_policy_validator-1.6.0/docs/privilege-escalation.md +2 -2
- iam_policy_validator-1.6.0/docs/python-library-usage.md +987 -0
- iam_policy_validator-1.6.0/docs/smart-filtering.md +381 -0
- iam_policy_validator-1.6.0/examples/README.md +214 -0
- iam_policy_validator-1.6.0/examples/configs/README.md +446 -0
- iam_policy_validator-1.6.0/examples/configs/basic-config.yaml +31 -0
- iam_policy_validator-1.6.0/examples/configs/ci-cd-config.yaml +91 -0
- iam_policy_validator-1.6.0/examples/configs/development-config.yaml +83 -0
- iam_policy_validator-1.6.0/examples/configs/full-reference-config.yaml +778 -0
- iam_policy_validator-1.6.0/examples/configs/minimal-validation-config.yaml +61 -0
- iam_policy_validator-1.6.0/examples/configs/offline-validation.yaml +28 -0
- iam_policy_validator-1.6.0/examples/configs/policy-level-condition-enforcement-config.yaml +175 -0
- iam_policy_validator-1.6.0/examples/configs/principal-condition-enforcement.yaml +240 -0
- iam_policy_validator-1.6.0/examples/configs/principal-validation-public-with-conditions.yaml +33 -0
- iam_policy_validator-1.6.0/examples/configs/principal-validation-relaxed.yaml +32 -0
- iam_policy_validator-1.6.0/examples/configs/principal-validation-strict.yaml +36 -0
- iam_policy_validator-1.6.0/examples/configs/privilege-escalation-focus-config.yaml +183 -0
- iam_policy_validator-1.6.0/examples/configs/resource-policy-config.yaml +132 -0
- iam_policy_validator-1.6.0/examples/configs/security-audit-config.yaml +120 -0
- iam_policy_validator-1.6.0/examples/configs/strict-security.yaml +128 -0
- iam_policy_validator-1.6.0/examples/custom_checks/README.md +623 -0
- iam_policy_validator-1.6.0/examples/github-actions/README.md +119 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/github-actions/access-analyzer-only.yaml +5 -6
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/github-actions/basic-validation.yaml +12 -9
- iam_policy_validator-1.0.4/examples/github-actions/custom-policy-checks.yml → iam_policy_validator-1.6.0/examples/github-actions/custom-policy-checks.yaml +2 -2
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/github-actions/multi-region-validation.yaml +5 -6
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/github-actions/resource-policy-validation.yaml +7 -8
- iam_policy_validator-1.6.0/examples/github-actions/sarif-code-scanning.yaml +62 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/github-actions/sequential-validation.yaml +10 -7
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/github-actions/two-step-validation.yaml +7 -9
- iam_policy_validator-1.6.0/examples/github-actions/validate-changed-files.yaml +54 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/README.md +159 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/allowed-wildcard-resource.json +21 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/insecure_policy.json +18 -1
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/insecure_policy.yaml +37 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/invalid-resource-constraint.json +41 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/invalid-sid-special-chars.json +17 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/invalid-sid-with-spaces.json +23 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/lambda_developer.yaml +53 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/s3_bucket_access.yaml +58 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/sample_policy.yaml +17 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/sensitive-action-wildcards.json +46 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/valid-sid-formats.json +29 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/wildcard_examples.yaml +47 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/wrong-condition-key.json +27 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies/wrong-s3-condition.json +28 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-control-policies/rcp-invalid-allow-effect.json +12 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-control-policies/rcp-invalid-not-action.json +12 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-control-policies/rcp-invalid-specific-principal.json +14 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-control-policies/rcp-invalid-unsupported-service.json +17 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-control-policies/rcp-invalid-wildcard-action.json +12 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-control-policies/rcp-valid-enforce-encryption.json +32 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/README.md +218 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/backup-vault-policy-org-access.json +34 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/ecr-repository-policy-org-restricted.json +25 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/ecr-repository-policy-public.json +16 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/efs-filesystem-policy-vpc-only.json +23 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/glacier-vault-policy-cross-account.json +23 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/kms-key-policy-cross-account.json +29 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/kms-key-policy-insecure.json +26 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/kms-key-policy-org-restricted.json +38 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/kms-key-policy-service-specific.json +53 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/lambda-permission-api-gateway.json +19 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/lambda-permission-cross-account-invoke.json +17 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/lambda-permission-eventbridge-multiple.json +23 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/lambda-permission-public-url.json +17 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/lambda-permission-s3-trigger.json +22 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/opensearch-domain-policy-ip-restricted.json +22 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-cloudfront.json +19 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-cross-account-org.json +25 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-insecure-transport.json +17 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-ip-restriction.json +36 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-public-with-conditions.json +20 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-public.json +12 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-specific-account.json +17 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-vpc-endpoint.json +20 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/s3-bucket-policy-wildcard-actions.json +21 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/secrets-manager-policy-cross-account.json +25 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account-mfa.json +25 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/sns-topic-policy-cross-account.json +20 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/sns-topic-policy-eventbridge.json +18 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/sns-topic-policy-org-wide.json +23 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/sns-topic-policy-public-no-conditions.json +15 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/sqs-queue-policy-cross-account-role.json +26 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/sqs-queue-policy-iam-users-mfa.json +27 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/sqs-queue-policy-public.json +12 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/resource-policies/sqs-queue-policy-sns-subscription.json +18 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/service-control-policies/deny-root-account-usage.json +16 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/service-control-policies/require-mfa.json +24 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/service-control-policies/restrict-regions.json +20 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/wrong_actions_mismatch/README.md +88 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/wrong_actions_mismatch/dynamodb-wrong-resources.json +26 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/wrong_actions_mismatch/ec2-wrong-resources.json +33 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/wrong_actions_mismatch/iam-wrong-resources.json +40 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/wrong_actions_mismatch/lambda-wrong-resources.json +26 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/wrong_actions_mismatch/s3-wrong-resources.json +40 -0
- iam_policy_validator-1.6.0/examples/iam-test-policies/wrong_actions_mismatch/sqs-sns-wrong-resources.json +26 -0
- iam_policy_validator-1.6.0/examples/library-usage/README.md +225 -0
- iam_policy_validator-1.6.0/examples/library-usage/example1_basic_usage.py +77 -0
- iam_policy_validator-1.6.0/examples/library-usage/example1_basic_usage_new.py +76 -0
- iam_policy_validator-1.6.0/examples/library-usage/example2_config_file.py +111 -0
- iam_policy_validator-1.6.0/examples/library-usage/example2_context_manager.py +125 -0
- iam_policy_validator-1.6.0/examples/library-usage/example3_policy_manipulation.py +196 -0
- iam_policy_validator-1.6.0/examples/library-usage/example3_programmatic_config.py +158 -0
- iam_policy_validator-1.6.0/examples/library-usage/example4_custom_condition_requirements.py +347 -0
- iam_policy_validator-1.6.0/examples/library-usage/policies/my-policy.json +17 -0
- iam_policy_validator-1.6.0/examples/library-usage/policies/policy1.json +14 -0
- iam_policy_validator-1.6.0/examples/library-usage/policies/policy2.json +14 -0
- iam_policy_validator-1.6.0/examples/library-usage/quick_reference.py +230 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/__version__.py +1 -1
- iam_policy_validator-1.6.0/iam_validator/checks/__init__.py +43 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/checks/action_condition_enforcement.py +277 -36
- iam_policy_validator-1.6.0/iam_validator/checks/action_resource_matching.py +424 -0
- iam_policy_validator-1.6.0/iam_validator/checks/action_validation.py +72 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/checks/condition_key_validation.py +24 -2
- iam_policy_validator-1.6.0/iam_validator/checks/condition_type_mismatch.py +259 -0
- iam_policy_validator-1.6.0/iam_validator/checks/full_wildcard.py +67 -0
- iam_policy_validator-1.6.0/iam_validator/checks/mfa_condition_check.py +112 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/checks/policy_size.py +1 -0
- iam_policy_validator-1.6.0/iam_validator/checks/policy_type_validation.py +299 -0
- iam_policy_validator-1.6.0/iam_validator/checks/principal_validation.py +776 -0
- iam_policy_validator-1.6.0/iam_validator/checks/sensitive_action.py +250 -0
- iam_policy_validator-1.6.0/iam_validator/checks/service_wildcard.py +105 -0
- iam_policy_validator-1.6.0/iam_validator/checks/set_operator_validation.py +157 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/checks/sid_uniqueness.py +48 -8
- iam_policy_validator-1.6.0/iam_validator/checks/utils/__init__.py +1 -0
- iam_policy_validator-1.6.0/iam_validator/checks/utils/policy_level_checks.py +143 -0
- iam_policy_validator-1.6.0/iam_validator/checks/utils/sensitive_action_matcher.py +294 -0
- iam_policy_validator-1.6.0/iam_validator/checks/utils/wildcard_expansion.py +87 -0
- iam_policy_validator-1.6.0/iam_validator/checks/wildcard_action.py +62 -0
- iam_policy_validator-1.6.0/iam_validator/checks/wildcard_resource.py +131 -0
- iam_policy_validator-1.6.0/iam_validator/commands/__init__.py +25 -0
- iam_policy_validator-1.6.0/iam_validator/commands/cache.py +392 -0
- iam_policy_validator-1.6.0/iam_validator/commands/download_services.py +255 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/commands/post_to_pr.py +7 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/commands/validate.py +252 -29
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/access_analyzer_report.py +2 -1
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/aws_fetcher.py +335 -89
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/check_registry.py +178 -27
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/cli.py +1 -1
- iam_policy_validator-1.6.0/iam_validator/core/condition_validators.py +626 -0
- iam_policy_validator-1.6.0/iam_validator/core/config/__init__.py +81 -0
- iam_policy_validator-1.6.0/iam_validator/core/config/aws_api.py +35 -0
- iam_policy_validator-1.6.0/iam_validator/core/config/aws_global_conditions.py +160 -0
- iam_policy_validator-1.6.0/iam_validator/core/config/category_suggestions.py +104 -0
- iam_policy_validator-1.6.0/iam_validator/core/config/condition_requirements.py +155 -0
- {iam_policy_validator-1.0.4/iam_validator/core → iam_policy_validator-1.6.0/iam_validator/core/config}/config_loader.py +71 -11
- iam_policy_validator-1.6.0/iam_validator/core/config/defaults.py +523 -0
- iam_policy_validator-1.6.0/iam_validator/core/config/principal_requirements.py +421 -0
- iam_policy_validator-1.6.0/iam_validator/core/config/sensitive_actions.py +672 -0
- iam_policy_validator-1.6.0/iam_validator/core/config/service_principals.py +95 -0
- iam_policy_validator-1.6.0/iam_validator/core/config/wildcards.py +124 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/formatters/__init__.py +2 -0
- iam_policy_validator-1.6.0/iam_validator/core/formatters/console.py +59 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/formatters/csv.py +7 -2
- iam_policy_validator-1.6.0/iam_validator/core/formatters/enhanced.py +440 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/formatters/html.py +127 -37
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/formatters/markdown.py +10 -2
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/formatters/sarif.py +78 -14
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/models.py +57 -10
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/policy_checks.py +71 -11
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/pr_commenter.py +30 -9
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/report.py +119 -29
- iam_policy_validator-1.6.0/iam_validator/sdk/__init__.py +187 -0
- iam_policy_validator-1.6.0/iam_validator/sdk/arn_matching.py +274 -0
- iam_policy_validator-1.6.0/iam_validator/sdk/context.py +222 -0
- iam_policy_validator-1.6.0/iam_validator/sdk/exceptions.py +48 -0
- iam_policy_validator-1.6.0/iam_validator/sdk/helpers.py +177 -0
- iam_policy_validator-1.6.0/iam_validator/sdk/policy_utils.py +425 -0
- iam_policy_validator-1.6.0/iam_validator/sdk/shortcuts.py +283 -0
- iam_policy_validator-1.6.0/iam_validator/utils/__init__.py +31 -0
- iam_policy_validator-1.6.0/iam_validator/utils/cache.py +105 -0
- iam_policy_validator-1.6.0/iam_validator/utils/regex.py +206 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/pyproject.toml +10 -2
- iam_policy_validator-1.6.0/scripts/download_aws_services.py +215 -0
- iam_policy_validator-1.6.0/scripts/sync_defaults_from_yaml.py +204 -0
- iam_policy_validator-1.6.0/tests/test_action_condition_enforcement_policy_level.py +419 -0
- iam_policy_validator-1.6.0/tests/test_action_resource_matching.py +388 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_action_validation_check.py +6 -7
- iam_policy_validator-1.6.0/tests/test_aws_api_config.py +10 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_aws_global_conditions.py +26 -4
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_condition_key_validation_check.py +175 -16
- iam_policy_validator-1.6.0/tests/test_condition_type_mismatch.py +370 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_config_loader.py +20 -11
- iam_policy_validator-1.6.0/tests/test_full_wildcard_check.py +254 -0
- iam_policy_validator-1.6.0/tests/test_mfa_condition_check.py +240 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_models.py +13 -5
- iam_policy_validator-1.6.0/tests/test_policy_type_validation.py +334 -0
- iam_policy_validator-1.6.0/tests/test_principal_validation_check.py +1084 -0
- iam_policy_validator-1.6.0/tests/test_regex_utils.py +261 -0
- iam_policy_validator-1.6.0/tests/test_sensitive_action_wildcard_expansion.py +302 -0
- iam_policy_validator-1.6.0/tests/test_service_wildcard_check.py +332 -0
- iam_policy_validator-1.6.0/tests/test_set_operator_validation.py +383 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_sid_uniqueness_check.py +4 -4
- iam_policy_validator-1.6.0/tests/test_wildcard_action_check.py +297 -0
- iam_policy_validator-1.6.0/tests/test_wildcard_resource_check.py +349 -0
- iam_policy_validator-1.6.0/uv.lock +947 -0
- iam_policy_validator-1.0.4/.python-version +0 -1
- iam_policy_validator-1.0.4/DOCS.md +0 -941
- iam_policy_validator-1.0.4/PKG-INFO +0 -680
- iam_policy_validator-1.0.4/README.md +0 -638
- iam_policy_validator-1.0.4/docs/README.md +0 -23
- iam_policy_validator-1.0.4/docs/development/PUBLISHING.md +0 -240
- iam_policy_validator-1.0.4/examples/README.md +0 -206
- iam_policy_validator-1.0.4/examples/configs/action-condition-enforcement-advanced.yaml +0 -243
- iam_policy_validator-1.0.4/examples/configs/config-privilege-escalation.yaml +0 -36
- iam_policy_validator-1.0.4/examples/configs/custom-business-rules.yaml +0 -84
- iam_policy_validator-1.0.4/examples/configs/custom-wildcard-config.yaml +0 -44
- iam_policy_validator-1.0.4/examples/configs/none_of_example.yaml +0 -54
- iam_policy_validator-1.0.4/examples/configs/unified-condition-enforcement.yaml +0 -286
- iam_policy_validator-1.0.4/examples/custom_checks/README.md +0 -550
- iam_policy_validator-1.0.4/iam-validator.yaml +0 -584
- iam_policy_validator-1.0.4/iam_validator/checks/__init__.py +0 -23
- iam_policy_validator-1.0.4/iam_validator/checks/action_validation.py +0 -192
- iam_policy_validator-1.0.4/iam_validator/checks/security_best_practices.py +0 -674
- iam_policy_validator-1.0.4/iam_validator/commands/__init__.py +0 -14
- iam_policy_validator-1.0.4/iam_validator/core/aws_global_conditions.py +0 -137
- iam_policy_validator-1.0.4/iam_validator/core/formatters/console.py +0 -22
- iam_policy_validator-1.0.4/tests/test_security_best_practices.py +0 -1183
- iam_policy_validator-1.0.4/tests/test_wildcard_allowlist.py +0 -288
- iam_policy_validator-1.0.4/uv.lock +0 -927
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/.github/dependabot.yml +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/.gitignore +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/LICENSE +0 -0
- /iam_policy_validator-1.0.4/examples/github-actions/action-examples.md → /iam_policy_validator-1.6.0/docs/github-actions-examples.md +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/access-analyzer/example1.json +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/access-analyzer/example2.json +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/custom_checks/advanced_multi_condition_validator.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/custom_checks/cross_account_external_id_check.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/custom_checks/domain_restriction_check.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/custom_checks/encryption_required_check.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/custom_checks/mfa_required_check.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/custom_checks/region_restriction_check.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/custom_checks/tag_enforcement_check.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/examples/custom_checks/time_based_access_check.py +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/api_gateway_management.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/athena_query_access.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/backup_vault_access.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/cloudformation_deployer.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/cloudwatch_monitoring.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/cognito_user_pool.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/dynamodb_table_access.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/ecs_task_execution.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/eventbridge_rules.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/glue_etl_jobs.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/invalid_policy.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/kms_encryption_keys.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/lambda_developer.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/maximum_size_policy.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/policy_missing_required_tags.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/policy_tag_enforcement_example.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/policy_with_wildcard_resources.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/privilege_escalation_scattered.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/rds_database_admin.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/sample_policy.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/secrets_manager_access.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/sns_sqs_messaging.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/step_functions_workflow.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/test_none_of_valid.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/test_none_of_violations.json +0 -0
- {iam_policy_validator-1.0.4/examples/policies/test-cases → iam_policy_validator-1.6.0/examples/iam-test-policies/identity-policies}/wildcard_examples.json +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/__init__.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/__main__.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/checks/resource_validation.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/commands/analyze.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/commands/base.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/__init__.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/access_analyzer.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/formatters/base.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/formatters/json.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/core/policy_loader.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/integrations/__init__.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/integrations/github_integration.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/iam_validator/integrations/ms_teams.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/README.md +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/__init__.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_action_condition_enforcement.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_aws_fetcher_wildcards.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_check_registry.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_comment_truncation.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_custom_policy_checks.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_multipart_comments.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_policy_loader.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_policy_size_check.py +0 -0
- {iam_policy_validator-1.0.4 → iam_policy_validator-1.6.0}/tests/test_resource_validation_check.py +0 -0
|
@@ -7,6 +7,9 @@ on:
|
|
|
7
7
|
branches: [main, develop]
|
|
8
8
|
workflow_dispatch:
|
|
9
9
|
|
|
10
|
+
env:
|
|
11
|
+
DEFAULT_PYTHON_VERSION: "3.13"
|
|
12
|
+
|
|
10
13
|
jobs:
|
|
11
14
|
lint:
|
|
12
15
|
name: Lint with Ruff
|
|
@@ -18,7 +21,7 @@ jobs:
|
|
|
18
21
|
- name: Set up Python
|
|
19
22
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
|
|
20
23
|
with:
|
|
21
|
-
python-version: "
|
|
24
|
+
python-version: "${{ env.DEFAULT_PYTHON_VERSION }}"
|
|
22
25
|
|
|
23
26
|
- name: Install uv
|
|
24
27
|
uses: astral-sh/setup-uv@5dbc9fba7434435c4cd0268139340fa3696d98f3 # v7
|
|
@@ -40,7 +43,7 @@ jobs:
|
|
|
40
43
|
strategy:
|
|
41
44
|
fail-fast: false
|
|
42
45
|
matrix:
|
|
43
|
-
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
|
46
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
44
47
|
steps:
|
|
45
48
|
- name: Checkout code
|
|
46
49
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
|
@@ -72,7 +75,7 @@ jobs:
|
|
|
72
75
|
- name: Set up Python
|
|
73
76
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
|
|
74
77
|
with:
|
|
75
|
-
python-version: "
|
|
78
|
+
python-version: "${{ env.DEFAULT_PYTHON_VERSION }}"
|
|
76
79
|
|
|
77
80
|
- name: Install uv
|
|
78
81
|
uses: astral-sh/setup-uv@5dbc9fba7434435c4cd0268139340fa3696d98f3 # v7
|
|
@@ -96,7 +99,7 @@ jobs:
|
|
|
96
99
|
- name: Set up Python
|
|
97
100
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
|
|
98
101
|
with:
|
|
99
|
-
python-version: "
|
|
102
|
+
python-version: "${{ env.DEFAULT_PYTHON_VERSION }}"
|
|
100
103
|
|
|
101
104
|
- name: Install uv
|
|
102
105
|
uses: astral-sh/setup-uv@5dbc9fba7434435c4cd0268139340fa3696d98f3 # v7
|
|
@@ -106,17 +109,12 @@ jobs:
|
|
|
106
109
|
- name: Install dependencies
|
|
107
110
|
run: uv sync
|
|
108
111
|
|
|
109
|
-
- name: Run validator on example policies
|
|
110
|
-
run: |
|
|
111
|
-
if [ -d "examples" ]; then
|
|
112
|
-
uv run iam-validator --path examples/ --format console --verbose || true
|
|
113
|
-
else
|
|
114
|
-
echo "No examples directory found, skipping integration test"
|
|
115
|
-
fi
|
|
116
|
-
|
|
117
112
|
- name: Test CLI help
|
|
118
113
|
run: uv run iam-validator --help
|
|
119
114
|
|
|
115
|
+
- name: Test CLI version
|
|
116
|
+
run: uv run iam-validator --version
|
|
117
|
+
|
|
120
118
|
all-checks-pass:
|
|
121
119
|
name: All Checks Pass
|
|
122
120
|
runs-on: ubuntu-latest
|
|
@@ -9,6 +9,9 @@ permissions:
|
|
|
9
9
|
contents: write
|
|
10
10
|
id-token: write
|
|
11
11
|
|
|
12
|
+
env:
|
|
13
|
+
PYTHON_VERSION: "3.13"
|
|
14
|
+
|
|
12
15
|
jobs:
|
|
13
16
|
build-and-release:
|
|
14
17
|
name: Build and Create Release
|
|
@@ -24,7 +27,7 @@ jobs:
|
|
|
24
27
|
- name: Set up Python
|
|
25
28
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
|
|
26
29
|
with:
|
|
27
|
-
python-version:
|
|
30
|
+
python-version: ${{ env.PYTHON_VERSION }}
|
|
28
31
|
|
|
29
32
|
- name: Install uv
|
|
30
33
|
uses: astral-sh/setup-uv@5dbc9fba7434435c4cd0268139340fa3696d98f3 # v7
|
|
@@ -32,7 +35,7 @@ jobs:
|
|
|
32
35
|
enable-cache: true
|
|
33
36
|
|
|
34
37
|
- name: Install dependencies
|
|
35
|
-
run: uv sync
|
|
38
|
+
run: uv sync --frozen
|
|
36
39
|
|
|
37
40
|
- name: Build package
|
|
38
41
|
run: uv build
|
|
@@ -84,9 +87,7 @@ jobs:
|
|
|
84
87
|
!contains(steps.get_version.outputs.version, 'rc') &&
|
|
85
88
|
!contains(steps.get_version.outputs.version, 'beta') &&
|
|
86
89
|
!contains(steps.get_version.outputs.version, 'alpha')
|
|
87
|
-
run: uv publish
|
|
88
|
-
env:
|
|
89
|
-
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
|
90
|
+
run: uv publish --trusted-publishing always
|
|
90
91
|
|
|
91
92
|
- name: Create Release Summary
|
|
92
93
|
if: always()
|
|
@@ -138,33 +139,33 @@ jobs:
|
|
|
138
139
|
\`\`\`
|
|
139
140
|
EOF
|
|
140
141
|
|
|
141
|
-
update-action-versions:
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
# update-action-versions:
|
|
143
|
+
# name: Update Major/Minor Tag References
|
|
144
|
+
# runs-on: ubuntu-latest
|
|
145
|
+
# needs: build-and-release
|
|
145
146
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
147
|
+
# steps:
|
|
148
|
+
# - name: Checkout code
|
|
149
|
+
# uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
|
149
150
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
# - name: Configure Git
|
|
152
|
+
# run: |
|
|
153
|
+
# git config user.name "github-actions[bot]"
|
|
154
|
+
# git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
154
155
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
156
|
+
# - name: Update major and minor version tags
|
|
157
|
+
# run: |
|
|
158
|
+
# VERSION=${GITHUB_REF#refs/tags/v}
|
|
159
|
+
# MAJOR=$(echo $VERSION | cut -d. -f1)
|
|
160
|
+
# MINOR=$(echo $VERSION | cut -d. -f1-2)
|
|
160
161
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
# # Update vX tag (e.g., v1) - annotated (unsigned by bot)
|
|
163
|
+
# git tag -fa "v$MAJOR" -m "Update v$MAJOR to $VERSION"
|
|
164
|
+
# git push origin "v$MAJOR" --force
|
|
164
165
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
166
|
+
# # Update vX.Y tag (e.g., v1.2) - annotated (unsigned by bot)
|
|
167
|
+
# git tag -fa "v$MINOR" -m "Updated v$MINOR to $VERSION"
|
|
168
|
+
# git push origin "v$MINOR" --force
|
|
168
169
|
|
|
169
|
-
|
|
170
|
-
|
|
170
|
+
# echo "✅ Updated tags: v$MAJOR and v$MINOR to point to $VERSION"
|
|
171
|
+
# echo "ℹ️ Note: Automated tags are annotated but not signed by the bot."
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|
|
@@ -23,7 +23,7 @@ This project follows a code of conduct to ensure a welcoming environment for all
|
|
|
23
23
|
|
|
24
24
|
### Prerequisites
|
|
25
25
|
|
|
26
|
-
- Python 3.
|
|
26
|
+
- Python 3.12 or higher
|
|
27
27
|
- [uv](https://github.com/astral-sh/uv) package manager
|
|
28
28
|
- Git
|
|
29
29
|
- AWS account (optional, for testing AWS integrations)
|
|
@@ -33,8 +33,8 @@ This project follows a code of conduct to ensure a welcoming environment for all
|
|
|
33
33
|
1. **Fork and Clone the Repository**
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
git clone https://github.com/
|
|
37
|
-
cd iam-policy-
|
|
36
|
+
git clone https://github.com/boogy/iam-policy-validator.git
|
|
37
|
+
cd iam-policy-validator
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
2. **Install uv (if not already installed)**
|
|
@@ -103,36 +103,46 @@ uv run mypy iam_validator
|
|
|
103
103
|
```
|
|
104
104
|
iam-policy-auditor/
|
|
105
105
|
├── iam_validator/ # Main package
|
|
106
|
-
│ ├──
|
|
107
|
-
│ ├── checks/ # Built-in validation checks
|
|
106
|
+
│ ├── checks/ # Built-in validation checks (18 checks)
|
|
108
107
|
│ ├── commands/ # CLI command implementations
|
|
109
108
|
│ ├── core/ # Core validation engine
|
|
109
|
+
│ │ ├── cli.py # CLI entry point
|
|
110
110
|
│ │ ├── formatters/ # Output formatters
|
|
111
|
-
│ │
|
|
112
|
-
│
|
|
111
|
+
│ │ ├── config/ # Configuration system (modular Python configs)
|
|
112
|
+
│ │ ├── models.py # Data models
|
|
113
|
+
│ │ ├── policy_checks.py # Policy validation orchestrator
|
|
114
|
+
│ │ └── aws_fetcher.py # AWS service definition fetcher
|
|
115
|
+
│ ├── integrations/ # External integrations (Access Analyzer, PR comments)
|
|
116
|
+
│ ├── sdk/ # Python SDK for library usage
|
|
117
|
+
│ └── utils/ # Utility functions
|
|
113
118
|
│
|
|
114
119
|
├── tests/ # Test suite
|
|
115
|
-
│ ├──
|
|
116
|
-
│
|
|
117
|
-
│ ├── test_cache_and_optimizations.py # Cache/optimization tests
|
|
118
|
-
│ └── test_benchmarks.py # Performance benchmarks
|
|
120
|
+
│ ├── test_*.py # Test files for each check/module
|
|
121
|
+
│ └── conftest.py # Pytest configuration and fixtures
|
|
119
122
|
│
|
|
120
123
|
├── docs/ # Documentation
|
|
121
|
-
│ ├──
|
|
122
|
-
│ ├──
|
|
123
|
-
│ ├──
|
|
124
|
-
│ ├──
|
|
125
|
-
│
|
|
124
|
+
│ ├── check-reference.md # Complete reference for all 18 checks
|
|
125
|
+
│ ├── CHECKS.md # Deprecated - migration guide
|
|
126
|
+
│ ├── SDK.md # Python SDK documentation
|
|
127
|
+
│ ├── configuration.md # Configuration guide
|
|
128
|
+
│ ├── condition-requirements.md # Action condition enforcement
|
|
129
|
+
│ ├── privilege-escalation.md # Privilege escalation detection
|
|
130
|
+
│ ├── custom-checks.md # Custom check development guide
|
|
131
|
+
│ └── development/ # Development documentation
|
|
126
132
|
│
|
|
127
|
-
├── examples/ #
|
|
128
|
-
│ ├── configs/ #
|
|
133
|
+
├── examples/ # Examples and sample files
|
|
134
|
+
│ ├── configs/ # 9+ configuration examples
|
|
129
135
|
│ ├── custom_checks/ # Custom check examples
|
|
130
|
-
│
|
|
136
|
+
│ ├── library-usage/ # Python SDK examples
|
|
137
|
+
│ ├── github-actions/ # GitHub Actions workflow examples
|
|
138
|
+
│ └── iam-test-policies/ # Sample IAM policies for testing
|
|
131
139
|
│
|
|
140
|
+
├── scripts/ # Development and utility scripts
|
|
141
|
+
├── aws_services/ # Cached AWS service definitions
|
|
132
142
|
├── .github/workflows/ # CI/CD workflows
|
|
133
|
-
├── pyproject.toml # Project metadata and dependencies
|
|
143
|
+
├── pyproject.toml # Project metadata and dependencies (uv)
|
|
134
144
|
├── Makefile # Development commands
|
|
135
|
-
└──
|
|
145
|
+
└── CONTRIBUTING.md # This file
|
|
136
146
|
```
|
|
137
147
|
|
|
138
148
|
## Development Workflow
|
|
@@ -293,11 +303,17 @@ This runs linting, type checking, and tests.
|
|
|
293
303
|
|
|
294
304
|
### Documentation Structure
|
|
295
305
|
|
|
296
|
-
- **
|
|
297
|
-
- **
|
|
298
|
-
- **
|
|
299
|
-
- **
|
|
300
|
-
- **
|
|
306
|
+
- **README.md**: Project overview, quick start, and feature highlights
|
|
307
|
+
- **DOCS.md**: Complete usage guide, CLI reference, and configuration
|
|
308
|
+
- **docs/check-reference.md**: Complete validation checks reference with pass/fail examples
|
|
309
|
+
- **docs/CHECKS.md**: (Deprecated) Migration guide to new check documentation
|
|
310
|
+
- **docs/SDK.md**: Python library documentation and API reference
|
|
311
|
+
- **docs/**: Additional guides and advanced topics
|
|
312
|
+
- **configuration.md**: Configuration guide
|
|
313
|
+
- **condition-requirements.md**: Action condition enforcement
|
|
314
|
+
- **privilege-escalation.md**: Privilege escalation detection
|
|
315
|
+
- **custom-checks.md**: Custom check development
|
|
316
|
+
- **development/**: Contributor documentation
|
|
301
317
|
|
|
302
318
|
### Building Documentation
|
|
303
319
|
|
|
@@ -371,6 +387,7 @@ Releases are managed by project maintainers. The process includes:
|
|
|
371
387
|
1. **Version Bump**
|
|
372
388
|
```bash
|
|
373
389
|
# Update version in pyproject.toml
|
|
390
|
+
# Update version in __version__.py
|
|
374
391
|
# Update CHANGELOG.md
|
|
375
392
|
```
|
|
376
393
|
|
|
@@ -400,49 +417,59 @@ For detailed publishing instructions, see [docs/development/PUBLISHING.md](docs/
|
|
|
400
417
|
|
|
401
418
|
### Creating a New Check
|
|
402
419
|
|
|
403
|
-
|
|
420
|
+
See the comprehensive [Custom Checks Guide](docs/custom-checks.md) for detailed instructions on creating custom validation checks.
|
|
421
|
+
|
|
422
|
+
**Quick Example:**
|
|
423
|
+
|
|
424
|
+
1. **Create Check File**
|
|
404
425
|
```python
|
|
405
|
-
#
|
|
426
|
+
# my_checks/mfa_check.py
|
|
406
427
|
from typing import List
|
|
407
|
-
from iam_validator.core.models import
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
428
|
+
from iam_validator.core.models import PolicyValidationIssue, PolicyStatement
|
|
429
|
+
|
|
430
|
+
def execute(statement: PolicyStatement, policy_document: dict) -> List[PolicyValidationIssue]:
|
|
431
|
+
"""Ensure sensitive actions require MFA."""
|
|
432
|
+
issues = []
|
|
433
|
+
|
|
434
|
+
sensitive_actions = ["iam:CreateUser", "iam:DeleteUser"]
|
|
435
|
+
actions = statement.action if isinstance(statement.action, list) else [statement.action]
|
|
436
|
+
|
|
437
|
+
for action in actions:
|
|
438
|
+
if action in sensitive_actions:
|
|
439
|
+
# Check for MFA condition
|
|
440
|
+
has_mfa = statement.condition and "aws:MultiFactorAuthPresent" in str(statement.condition)
|
|
441
|
+
|
|
442
|
+
if not has_mfa:
|
|
443
|
+
issues.append(
|
|
444
|
+
PolicyValidationIssue(
|
|
445
|
+
check_name="mfa_required",
|
|
446
|
+
severity="high",
|
|
447
|
+
message=f"Action '{action}' requires MFA",
|
|
448
|
+
statement_index=statement.index,
|
|
449
|
+
action=action,
|
|
450
|
+
suggestion='Add: {"Bool": {"aws:MultiFactorAuthPresent": "true"}}'
|
|
451
|
+
)
|
|
452
|
+
)
|
|
453
|
+
|
|
454
|
+
return issues
|
|
429
455
|
```
|
|
430
456
|
|
|
431
|
-
2. **
|
|
432
|
-
|
|
433
|
-
-
|
|
457
|
+
2. **Use the Check**
|
|
458
|
+
```bash
|
|
459
|
+
iam-validator validate --path ./policies/ --custom-checks-dir ./my_checks
|
|
460
|
+
```
|
|
434
461
|
|
|
435
462
|
3. **Add Tests**
|
|
436
463
|
```python
|
|
437
464
|
# tests/test_my_check.py
|
|
438
|
-
def
|
|
465
|
+
def test_mfa_check():
|
|
439
466
|
# Test your check
|
|
440
467
|
pass
|
|
441
468
|
```
|
|
442
469
|
|
|
443
470
|
4. **Document the Check**
|
|
444
|
-
- Add to `docs/
|
|
445
|
-
- Add example to `examples/`
|
|
471
|
+
- Add to `docs/custom-checks.md`
|
|
472
|
+
- Add example to `examples/custom_checks/`
|
|
446
473
|
|
|
447
474
|
### Adding a New Formatter
|
|
448
475
|
|
|
@@ -464,9 +491,16 @@ For detailed publishing instructions, see [docs/development/PUBLISHING.md](docs/
|
|
|
464
491
|
|
|
465
492
|
## Getting Help
|
|
466
493
|
|
|
467
|
-
|
|
468
|
-
- **
|
|
469
|
-
- **
|
|
494
|
+
### Documentation Resources
|
|
495
|
+
- **[Complete Usage Guide](../DOCS.md)** - CLI, GitHub Actions, configuration
|
|
496
|
+
- **[Validation Checks](docs/check-reference.md)** - All 18 checks with examples
|
|
497
|
+
- **[Python SDK](docs/SDK.md)** - Library usage and API reference
|
|
498
|
+
- **[Additional Docs](docs/)** - Guides and advanced topics
|
|
499
|
+
|
|
500
|
+
### Support Channels
|
|
501
|
+
- **Issues**: Search [existing issues](https://github.com/boogy/iam-policy-validator/issues)
|
|
502
|
+
- **Discussions**: Start a [discussion](https://github.com/boogy/iam-policy-validator/discussions)
|
|
503
|
+
- **Examples**: Check [examples/](examples/) directory for code samples
|
|
470
504
|
|
|
471
505
|
## Recognition
|
|
472
506
|
|