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