隐语SecretFlow实训营-第8讲:快速上手隐语SCQL的开发实践

SCQL使用/集成实践

目前SCQL只开放API供用户使用/集成

  • 使用SCDBClient上手体验
  • 可以基于SCQL API开发封装白屏产品,或集成到业务链路中

image.png
使用流程:
image.png

部署系统

  • 环境配置:
    • 机器配置:CPU/MEM最低8C16G
    • 机构之间的网络互通
  • 镜像:secretflow/scql
  • SCDB
    • 启动:/home/admin/bin/scdbserver -config=/path/to/config.yml
  • SCQLEngine
    • 启动:/home/admin/bin/scqlengine --flagfile=/path/to/gflags.conf

image.png

创建用户

SCDB内置了一个权限受限的root用户,方便系统bootstrap

  • root用户只能做CREATE database/user等操作
  • root用户无法修改普通用户设置的CCL,无法发起查询(DQL)
  • root用户滥用不会导致数据泄露

为什么创建用户是需要公钥和签名?
目的是防止伪造身份攻击。
如何防止攻击?

  1. 前提条件:每个参与方在部署SCQLEngine 节点时,需要生成(或提供)公私钥,并和合作方交换公钥,配置到引擎侧的 authorized profile 文件中;
  2. SCDB 在处理 create user 请求时,会校验签名,确保请求者有对应的私钥:
  3. SCDB 在处理请求者的 DQL 时,会把请求者和查询涉及参与方的公钥信息一起下发给 SCQLEngine。SCQLEngine会先校验自己和合作方的公钥,如果不匹配,就拒绝执行。

创建项目&用户授权

创建一个名为db_test的数据库(项目)

  • root>CREATE DATABASE db_test;

目的:将参与合作方添加到项目中

  • root>GRANT CREATE,GRANT OPTION,DROP ON db_test.* TO alice

创建表

  • alice> CREATE TABLE db_test.ta(ID string,…,age int)REF_TABLE=alice.user_credit DB_TYPE=‘mysql’

设置CCL
image.png

联合分析

image.png

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值