- MinIO Quickstart Guide
- MinIO Docker 快速入门
- Minio纠删码快速入门
- 分布式MinIO快速入门
- 使用MinIO分解的HDP Spark和Hive
- 使用TLS安全的访问Minio服务
- MinIO存储桶通知指南
- MinIO Server config.json (v18) 指南
- MinIO多租户(Multi-tenant)部署指南
- MinIO Azure 网关
- MinIO GCS 网关
- MinIO NAS网关
- MinIO S3网关
- MinIO HDFS网关
- 磁盘缓存快速入门
- 如何使用Prometheus监控MinIO服务器
- Federation 快速入门指南
- KMS指南
- 选择API快速入门指南
- 压缩指南
- MinIO多用户快速入门指南
- MinIO STS快速入门指南
- MinIO部署快速入门
- 使用Docker Swarm部署MinIO
- 使用Kubernetes部署MinIO
- 使用Docker Compose部署MinIO
- MinIO客户端快速入门指南
- MinIO Client完全指南
- MinIO管理员完整指南
- 适用于Amazon S3兼容云存储的Minio JavaScript Library
- JavaScript Client API参考文档
- 适用于与Amazon S3兼容的云存储的MinIO Java SDK
- Java Client API参考文档
- 适用于与Amazon S3兼容的云存储的MinIO Python Library
- Python Client API文档
- 适用于与Amazon S3兼容云存储的MinIO Go SDK
- MinIO Go Client API文档
- 适用于与Amazon S3兼容的云存储的MinIO .NET SDK
- .NET Client API参考文档
- 用于Haskell的MinIO Client SDK
- MinIO Haskell SDK API参考
- 使用S3cmd操作MinIO Server
- 使用AWS CLI结合MinIO Server
- restic结合MinIO Server
- 将MySQL备份存储到MinIO Server
- 将MongoDB备份存储到MinIO Server
- 将PostgreSQL备份存储到MinIO Server
- 为MinIO Server设置Caddy proxy
- 为MinIO Server设置Nginx代理
- 使用fluentd插件聚合Apache日志
- Rclone结合MinIO Server
- 结合MinIO运行Deis Workflow
- 为MinIO Server设置Apache HTTP proxy
- 使用pre-signed URLs通过浏览器上传
- 如何在FreeNAS中运行MinIO
- 如何使用Cyberduck结合MinIO
- 如何使用AWS SDK for PHP操作MinIO Server
- 如何使用AWS SDK for Ruby操作MinIO Server
- 如何使用AWS SDK for Python操作MinIO Server
- 如何使用Mountain Duck结合MinIO
- 如何使用AWS SDK for Javascript操作MinIO Server
- 如何使用Træfɪk代理多个MinIO服务
- 如何使用AWS SDK for Go操作MinIO Server
- 如何使用AWS SDK for Java操作MinIO Server
- 如何使用Paperclip操作MinIO Server
- 如何使用AWS SDK for .NET操作MinIO Server
- 如何使用aws-cli调用MinIO服务端加密
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
如何使用aws-cli调用MinIO服务端加密
MinIO支持采用客户端提供的秘钥(SSE-C)进行S3服务端加密。 客户端必须为SSE-C请求指定三个HTTP请求头:
- 算法标识符:
X-Amz-Server-Side-Encryption-Customer-Algorithm
唯一的合法值是:AES256
。 - 加密秘钥:
X-Amz-Server-Side-Encryption-Customer-Key
加密秘钥必须是一个256位的base64编码的字符串。 - 加密密钥MD5校验和:
X-Amz-Server-Side-Encryption-Customer-Key-MD5
加密密钥MD5校验和必须是秘钥的MD5和,注意是原始秘钥的MD5和,而不是base64编码之后的。
安全须知:
- 根据S3规范,minio服务器将拒绝任何通过不安全(非TLS)连接进行的SSE-C请求。 这意味着SSE-C必须是TLS / HTTPS。
- SSE-C请求包含加密密钥。 如果通过非TLS连接进行SSE-C请求,则必须将SSE-C加密密钥视为受损。
- 根据S3规范,SSE-C PUT操作返回的content-md5与上传对象的MD5-sum不匹配。
- MinIO Server使用防篡改加密方案来加密对象,并且不会保存加密密钥。 这意味着您有责任保管好加密密钥。 如果你丢失了某个对象的加密密钥,你将会丢失该对象。
- MinIO Server期望SSE-C加密密钥是高熵的。加密密钥是不是密码。如果你想使用密码,请确保使用诸如Argon2,scrypt或PBKDF2的基于密码的密钥派生函数(PBKDF)来派生高熵密钥。
1. 前提条件
从这里下载MinIO Server,并安装成带有TLS的服务。
注意一下,如果你使用的是自己签名的TLS证书,那么当你往MinIO Server上传文件时,像aws-cli或者是mc这些工具就会报错。如果你想获得一个CA结构签名的TLS证书,请参考Let's Encrypt
。自己签名的证书应该仅做为内部开发和测试。
2. 使用SSE-C和aws-cli
从这里下载并安装aws-cli。
假设你在本地运行了一个MinIO Server,地址是https://localhost:9000
,并且使用的是自己签名的证书。为了绕过TLS证书的验证,你需要指定--no-verify-ssl
。如果你的MinIO Server使用的是一个CA认证的证书,那你永远永远永远不要指定`--no-verify-ssl,否则aws-cli会接受任何证书。
2.1 上传一个对象
- 创建一个名为
my-bucket
的存储桶:
aws --no-verify-ssl --endpoint-url https://localhost:9000 s3api create-bucket --bucket my-bucket
- 使用SSE-C上传一个对象。对象名为
my-secret-diary
,内容来自文件~/my-diary.txt
。
aws s3api put-object \
--no-verify-ssl \
--endpoint-url https://localhost:9000 \
--bucket my-bucket --key my-secret-diary \
--sse-customer-algorithm AES256 \
--sse-customer-key MzJieXRlc2xvbmdzZWNyZXRrZXltdXN0cHJvdmlkZWQ= \
--sse-customer-key-md5 7PpPLAK26ONlVUGOWlusfg== \
--body ~/my-diary.txt
你需要指定你自己的加密秘钥。
2.2 显示对象信息
你必须指定正确的SSE-C秘钥才能得到加密对象的元数据:
aws s3api head-object \
--no-verify-ssl \
--endpoint-url https://localhost:9000 \
--bucket my-bucket \
--key my-secret-diary \
--sse-customer-algorithm AES256 \
--sse-customer-key MzJieXRlc2xvbmdzZWNyZXRrZXltdXN0cHJvdmlkZWQ= \
--sse-customer-key-md5 7PpPLAK26ONlVUGOWlusfg==
2.3 下载一个对象
- 删除文件
my-diary.txt
的本地副本:
rm ~/my-diary.txt
- 你可以从服务器上把该文件重新下载下来:
aws s3api get-object \
--no-verify-ssl \
--endpoint-url https://localhost:9000 \
--bucket my-bucket \
--key my-secret-diary \
--sse-customer-algorithm AES256 \
--sse-customer-key MzJieXRlc2xvbmdzZWNyZXRrZXltdXN0cHJvdmlkZWQ= \
--sse-customer-key-md5 7PpPLAK26ONlVUGOWlusfg== \
~/my-diary.txt
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论