机密容器服务(Jeddak Confidential Kubernetes,JCK)是一套基于可信执行环境(TEE)实现的容器管理服务,旨在保证用户容器服务在云上的安全性。
skopeo
软件
quay.io/skopeo/stable:latest
keyprovider
软件
wget https://jck-components.tos-cn-beijing.volces.com/runc/keyprovider/tks-keyprovider chmod +x tks-keyprovider
secret-key.bin
),需通过外部导入方式托管到TKS中。cat secret-key.bin | xxd -p -c 10000 > image-encrypt-key.txt # 示例:ed362e88bf94f2746f60d40fe34ef2ad892e4381d1c11d4e00f8bde9d7af8750
wrap-key.json
,格式如下。{ "AppID": "test-accont", #火山引擎账户ID "RingID": "8a5b796d-f594-4d68-ae7a-c1c1f41a1a88", #密钥环ID "KeyID": "b257e194-439b-49a3-bff8-3f7258e87ef1", #密钥ID "Key": "ed362e88bf94f2746f60d40fe34ef2ad892e4381d1c11d4e00f8bde9d7af8750" #Hex格式的密钥 }
cat << EOF > ocicrypt.conf { "key-providers": { "tks-keyprovider": { "cmd": { "path": "/workspace$(pwd)/tks-keyprovider", "args": ["--wrap", "/workspace$(pwd)/wrap-key.json"] } } } } EOF
cat << EOF > skopeo.sh #!/bin/bash docker run --rm -it --net=host \\ -e OCICRYPT_KEYPROVIDER_CONFIG=/workspace/`pwd`/ocicrypt.conf \\ -v `pwd`:/workspace/`pwd` \\ -w /workspace/`pwd` \\ quay.io/skopeo/stable \\ "\$@" EOF chmod +x skopeo.sh
./skopeo.sh copy docker://<镜像地址> oci:image-plaintext # 参考示例: # ./skopeo.sh copy docker://quay.io/skopeo/stable:latest oci:image-plaintext
./skopeo.sh copy \ oci:image-plaintext \ oci:image-encrypted \ --encryption-key provider:tks-keyprovider
./skopeo.sh copy \ oci:image-encrypted \ docker://<火山镜像仓库> \ --dest-username=<仓库用户名> \ --dest-password=<临时密钥> # 参考示例 # ./skopeo.sh copy \ # oci:image-encrypted \ # docker://test-repo-cn-beijing.cr.volces.com/test-namespace/test-oci/dmeo:v1 \ # --dest-username=test-account \ # --dest-password=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik5IRjc6NktBSzpDV...
上传成功后的镜像可通过基线管理服务托管镜像基线,并点击「镜像发布」创建机密容器服务。
创建成功后可在列表查看机密容器运行状态、服务IP等信息;也可点击容器名称,进入容器详情,可查看更多信息。