Skip to main content

Squid external ACL helper that allows use of AWS instance metadata

Project description

This module implements the Squid External ACL Helper interface, and allows for use of EC2 instance metadata in ACL entries. It uses the client’s source address (either public or private) as a key to determine which instance initiated a request through the proxy, and allows use of instance metadata (such as Instance ID, VPC, or Security Group membership) as a rule target.

If the request can be mapped to an EC2 instance, the module will populate the EC2 Instance ID into the request’s ‘user’ field, for consumption by additional ACLs or output to logs. This occurs regardless of whether or not the ACL matched.


This module requires Python 3.4 or better, due to its use of the asyncio framework (aioredis, etc)

This module requires a Redis server to cache AWS instance metadata. Redis clusters are not currently supported; use of a local Redis instance is recommended.

This module uses Boto3 to retrieve EC2 instance metadata from AWS. You should have a working AWS API environment (~/.aws/credentials, environment variables, or EC2 IAM Role) that allows calling EC2’s describe-instances method against the account that Squid is running in.

Consult on GitHub for usage instructions.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
aws_acl_helper-0.3.3-py3-none-any.whl (14.2 kB) Copy SHA256 hash SHA256 Wheel py3

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page