Skip to main content

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)

Source distribution for keyfree 1.0.0
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)

Table of built distributions (wheels) for keyfree 1.0.0
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page