awscli-plugin-tls
A plugin for configuring TLS parameters advertised by
awscli
This awscli plugin allows users to configure TLS versions and
cipher suites used when connecting to AWS services via the CLI.
It can additionally be used by boto3 applications to enable
those configurations through their ~/.aws/config.
Most users will not need this plugin, as the urllib3 utilizes secure defaults
for these settings.
Disclaimer
You are responsible for properly configuring this plugin to ensure secure cipher suites are used when negotiating the TLS connection. Using this plugin, it is possible for clients to configure less-secure cipher suites than what is provided by default. Please only use this plugin if you have a requirement to enforce specific cipher suites or TLS versions in your applications, and are familiar with how to utilize OpenSSL's cipherlist to select cipher suites. Be sure to test and ensure you are not advertising insecure cipher suites before using in a production setting.
Installation
pip install .
Configuration
Edit your ~/.aws/config to include the following plugin definition:
If you are using the v1 AWS CLI, you can just add the plugin:
[plugins]
tls = awscli_plugin_tls
If you are using the v2 AWS CLI, you need to also specify the cli_legacy_plugin_path, which should
specify where your pip packages are installed.
[plugins]
cli_legacy_plugin_path = <path to your python3.7/site-packages>
tls = awscli_plugin_tls
Additionally, under any profile (either a named profile or [default], configure
the appropriate settings:
[default]
tls_ciphers = ECDHE+AES256+AESGCM
tls_version = 1.2
...other settings
Usage
AWS CLI
Once configured, you can use your AWS CLI as normal:
aws s3 ls
Boto3
You can also patch boto3 applications by calling the patch_botocore method directly:
import boto3
from awscli_plugin_tls import patch_botocore
patch_botocore()
s3 = boto3.client('s3')
print(s3.list_buckets())
If your boto3 application needs to use a named profile, you can pass in your own session object using that profile name:
import boto3
from awscli_plugin_tls import patch_botocore
session = botocore.session.Session(profile="your-named-profile")
patch_botocore(session)
s3 = boto3.client('s3')
print(s3.list_buckets())
botocore.session.Session(profile=profile)
Security
See CONTRIBUTING for more information.
License
This project is licensed under the Apache-2.0 License.
Metadata
Release files for awscli-plugin-tls 0.1
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 | |
|---|---|---|---|---|
| awscli-plugin-tls-0.1.tar.gz | 3.2 kB | Without provenance | Details |
Release files / awscli-plugin-tls-0.1.tar.gz
| Download URL | awscli-plugin-tls-0.1.tar.gz |
|---|---|
| Size | 3.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
43809a486247fe3ed69c6c6bc02acbc47d390dc0b690c7ee22e75973a641eea9
|
|
BLAKE2b-256 checksum How to use checksums |
ea1cbef481fc7731472cf63226ab26a285ad505b8cd578de7af602a056ce71ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.7.10
|
Security for awscli-plugin-tls 0.1
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.