环境:ceph 版本操作系统:ceph version 12.2.13 luminous ,centos7.6,s3cmd version 2.1.0
ceph 默认是没有加密存储的,官方说支持 server-side encryption, 但是还没找到具体的文档,主要卡在 https 报错。也可以参考
https://cloud.tencent.com/developer/article/1171490, 用 http 传输,但是会面临数据传输不安全的风险,官方是说 server-side encryption 必须使用 https 传输。
本文使用 s3cmd 的 client-side encryption,即在 client 端进行加密、解密
uat2 对 buckert hehe 有 ListBucket 和 GetObject 权限
uat 使用默认的 .s3cfg,ust2 使用 .s3cfg.2
1、在 .s3cfg 中配置秘钥
...
gpg_passphrase = passwd123
...
2、uat 用户加密上传 s3://hehe/b.txt,下载的时候会自动解密
[root@rgw01-backup ~]# s3cmd put a.txt s3://hehe/b.txt --encrypt
upload: '/tmp/tmpfile-c8JUL5fjXE27Qjoq74Eq' -> 's3://hehe/b.txt' [1 of 1]
84 of 84 100% in 0s 1196.94 B/s done
[root@rgw01-backup ~]# s3cmd get s3://hehe/b.txt b.txt
download: 's3://hehe/b.txt' -> 'b.txt' [1 of 1]
84 of 84 100% in 0s 1926.65 B/s done
[root@rgw01-backup ~]# cat b.txt
AQCClddebs4hBRAAD/cfWbUD7i9Ez8SNFZu2MA==
3、uat2 用户下载 s3://hehe/b.txt,没有解密出现乱码
[root@rgw01-backup ~]# s3cmd -c .s3cfg.2 get s3://hehe/b.txt c.txt
download: 's3://hehe/b.txt' -> 'c.txt' [1 of 1]
84 of 84 100% in 0s 1929.17 B/s done
[root@rgw01-backup ~]# cat c.txt
[emoji:D800DC49]Ӑ[emoji:D804DF09]Cp¯8v CqTdټ¬ڹ
[emoji:D8ADDF0B],tdڬ➼¡3¿
[emoji:D9C5DDE5]&»xK[emoji:D94FDC2C]}0m}a
参考文章:
https://docs.aws.amazon.com/AmazonS3/latest/dev/sse-c-using-java-sdk.html