S3 Encryption Client for Python
Project description
Client-side encryption for S3
You can find the source on GitHub.
Getting Started
Required Prerequisites
Python 3.6+
Installation
Usage
import boto3
from s3_encryption_sdk import CryptoS3
from s3_encryption_sdk.materials_providers import KmsMaterialsProvider
materials_provider = KmsMaterialsProvider(
key_id="alias/YOURAlias",
client=boto3.client("kms", region_name="us-east-1"),
)
s3 = boto3.client("s3", region_name="us-east-1")
crypto_s3 = CryptoS3(
client=s3,
materials_provider=materials_provider,
)
key = "4711"
plaintext = "foo bar"
crypto_s3.put_object(
Bucket=bucket.name,
Key=key,
Body=plaintext,
)
encrypted_obj = s3.get_object(
Bucket=bucket.name,
Key="object",
)
decrypted_obj = crypto_s3.get_object(
Bucket=bucket.name,
Key="object",
)
assert plaintext != encrypted_obj["Body"].read().decode("utf8")
assert plaintext == decrypted_obj["Body"].read().decode("utf8")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for s3_encryption_sdk-0.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecc33a871af79160ad6609092fa9cee4fb872f63d5b307a25b9beb74d7454c8a |
|
MD5 | 13e0d7e85bf8165be55e2d23d2cbca21 |
|
BLAKE2b-256 | ec068695309a61a950caeb3359a94b84938549287e62d3a177c0f87c87512d6d |