keyfree - An authentication proxy for Amazon Elasticsearch Service
Keyfree automatically discovers your access keys using Python’s boto3. If the environment you are running keyfree in has already been configured for boto3 then you are good to go!
Recommeded configuration is to run keyfree on an EC2 instance, with an instance role profile that grants at least the es:ESHttpGet permission, in which case keyfree will automatically discover your role credentials.
Installing
keyfree is available on pypi:
pip install keyfree
or on the docker hub:
docker pull nickrw/keyfree
Configuring
When you run keyfree it will use boto to discover AWS access credentials and region configuration. The easiest way to create a configuration file which boto will discover is by using awscli’s “aws configure” command, and entering the information when prompted.
pip install awscli aws configure
Alternatively, you can configure everything through environment variables
export AWS_ACCESS_KEY_ID=... export AWS_SECRET_ACCESS_KEY=... export AWS_DEFAULT_REGION=eu-west-1
Running
The keyfree python package includes a bin script which will launch a werkzeug server for testing purposes. If you run it in production you should use a production-ready web server such as gunicorn. The docker image does this for you, but you can do it yourself by pointing a WSGI server at keyfree.proxy:app
keyfree-proxy-test --endpoint <your endpoint uri>
Or using docker
# Only the region and endpoint are required if you are running on an EC2 # instance which has role-based access to your ES domain. docker run -ti --rm \ -e AWS_ACCESS_KEY_ID=your_access_key \ -e AWS_SECRET_ACCESS_KEY=your_secret_key \ -e AWS_DEFAULT_REGION=your_region \ -e ENDPOINT=your_endpoint_url \ -p 9200:9200 \ nickrw/keyfree
Metadata
Release files for keyfree 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| keyfree-1.0.0.tar.gz | 5.7 kB | Without provenance | Details for keyfree-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| keyfree-1.0.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for keyfree-1.0.0-py2.py3-none-any.whl |
Total release size: 14.6 kB
Release files / keyfree-1.0.0.tar.gz
| Download URL | keyfree-1.0.0.tar.gz |
|---|---|
| Size | 5.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ae119d248c1dace64b8ece83567120cb25ef73860c5f9a74cf38940624bdbb5
|
|
BLAKE2b-256 checksum How to use checksums |
4b8ff5f8f5a7a99df4e53ef007256ab93aa4dc785d94c74619f9cca5d0cc0210
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / keyfree-1.0.0-py2.py3-none-any.whl
| Download URL | keyfree-1.0.0-py2.py3-none-any.whl |
|---|---|
| Size | 8.9 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
4de996d9fbc3406f20bb98bb96b004980c52c4fc530fe2872b5b22f111c70b6a
|
|
BLAKE2b-256 checksum How to use checksums |
46b6c8235f2f896c094d16ffbb4f7f03a6759933a571fb6a0b5161f2ed18a2f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for keyfree 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.