1、上传加密
[ec2-user@huanjie ~]$ aws s3 cp test.txt s3://testsse/ --sse-c AES256 --sse-c-key 1570e7e3937b747***31baaef6b
upload: ./test.txt to s3://testsse/test.txt
2、下载加密
[ec2-user@huanjie ~]$ aws s3 cp s3://testsse/test.txt /tmp --sse-c AES256 --sse-c-key 1570e7e3937b747***31baaef6b
355
download: s3://testsse/test.txt to ../../tmp/test.txt
3、查看上传的文件加密情况
[ec2-user@huanjie ~]$ aws s3api head-object --bucket testsse --key test.txt --sse-customer-key 1570e7e3937b747***31baaef6b --sse-customer-algorithm AES256
{
"AcceptRanges": "bytes",
"ContentType": "text/plain",
"LastModified": "Fri, 02 Jun 2017 06:25:31 GMT",
"ContentLength": 5166,
"SSECustomerAlgorithm": "AES256",
"ETag": "\"38f28795f897c912e5c7089fb0e92a4b\"",
"SSECustomerKeyMD5": "LIKfihpFUbKgErk6rCv84g==",
"Metadata": {}
}
如果SSECustomerKeyMD5字段后面有值,证明进行加密。
四、注意事项
Amazon S3 不存储您提供的加密密钥,而是存储加密密钥添加了随机数据的 HMAC 值来验证未来的请求。无法使用添加了随机数据的 HMAC 值来推导出加密密钥的值或解密加密对象的内容。这意味着,如果您丢失加密密钥,则会失去该对象;
在检索对象时,必须提供相同的加密密钥作为您请求的一部分。Amazon S3 在将对象数据返回给您之前,会首先验证您提供的加密密钥是否匹配,然后再解密对象;
您管理哪个加密密钥用于加密哪个对象的映射。Amazon S3 不存储加密密钥。您负责跟踪为哪个对象提供了哪个加密密钥。
本文内容中有任何错误,欢迎指正,谢谢大家。




