允许使用aws实例元数据的squid外部acl助手
aws-acl-helper的Python项目详细描述
此模块实现squid外部acl助手接口,并且 允许在acl条目中使用ec2实例元数据。它使用 作为要确定的密钥的客户端源地址(公共或私有) 哪个实例通过代理启动了请求,并允许使用 实例元数据(例如实例id、vpc或安全组 作为规则目标。
如果请求可以映射到ec2实例,则模块将 将EC2实例ID填充到请求的“user”字段中,用于 由其他ACL消耗或输出到日志。不管发生什么 ACL是否匹配。
先决条件
由于使用了 asyncio框架(aioredis等)
这个模块需要一个redis服务器来缓存aws实例元数据。 当前不支持redis群集;使用本地redis 建议使用实例。
此模块使用boto3从aws检索ec2实例元数据。你 应该有一个工作的aws api环境(~/.aws/credentials, 允许调用EC2的环境变量或EC2 IAM角色 describe-instances针对squid正在运行的帐户的方法 在。
有关用法说明,请参阅README.md on GitHub。