上云无忧 > 文档中心 > 百度智能云智能边缘 - 边缘应用获取云端STS鉴权
智能边缘
百度智能云智能边缘 - 边缘应用获取云端STS鉴权

文档简介:
功能简介: 在边缘应用场景中,用户存在将边缘端的数据,如边缘端采集的图像,或者工作日志,上传到云端对象存储的需求。然而,对象存储的上传需要进行ak/sk的鉴权,如果将该ak/sk直接下发到边缘设备,容易出现密码泄露,不符合安全规范。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

功能简介

在边缘应用场景中,用户存在将边缘端的数据,如边缘端采集的图像,或者工作日志,上传到云端对象存储的需求。然而,对象存储的上传需要进行ak/sk的鉴权,如果将该ak/sk直接下发到边缘设备,容易出现密码泄露,不符合安全规范。

大部分对象存储都提供了STS(Security Token Service)的功能,通过BIE云端服务与对象存储的STS服务集成,可以获取ak/sk/token的三元组,并将其下发至边缘端,让边缘设备获得有限授权的云端对象存储访问权限,提升云端对象存储的访问安全性。

节点开启临时权限访问

使用边缘节点获取STS的功能,需要在云端控制台开启节点的临时访问权限。该功能需要边缘节点处于在线状态才可以开启。

边缘sts请求接口

边缘应用需要获取STS接口时,需要调用baetyl-core服务的api获取。由baetyl-core连接云端获取STS,并将结果返回给应用。边缘应用间服务调用参考:边缘服务调用。

发送HTTP POST请求至如下路径:

https://baetyl-core.baetyl-edge-system/agent/sts

请求Body和返回值如下:

Headers

参数名称 参数值 是否必须
Content-Type application/json

Body

名称 类型 是否必须 默认值 备注
stsType string 必须 表示sts类型,当前只支持minio

返回数据

名称 类型 是否必须 默认值 备注
ak string 非必须 accesskey
sk string 非必须 secretkey
token string 非必须 token
ednpoint string 非必须 对象存储地址
bucket string 非必须 bucket名称
namespace string 非必须 用户唯一标识
nodeName string 非必须 边缘节点名称
expiration string 非必须 sts过期时间

用户在获取到该返回值后,即可在边缘端进行对象存储的访问,其具有以下路径的访问权限:

http://{endpoint}/{bucket}/{namespace}/{nodeName}

注意:用户需要自行判断sts的过期时间,在过期后,重新通过边缘openapi更新sts。

本地测试

可以在边缘节点本地,使用应用证书模拟边缘服务间调用获取sts,应用证书获取方式参考:应用证书。整体流程如下:

  1. 在证书目录下用curl发送请求

curl --cacert ca.pem --cert crt.pem --key key.pem -H "Content-Type: application
/json" -X POST -d '{"stsType":"minio"}' "https://localhost:30050/agent/sts"

参数说明::

  • stsType:sts类型,为minio
  • 访问地址:https://localhost:30050/agent/sts。因为当前从宿主机发起请求,所以地址为localhost。边缘应用互相访问的地址为https://baetyl-core.baetyl-edge-system/agent/sts。
  1. 查看返回结果

边缘应用拿到ak、sk、token后可以通过sdk访问minio,具体可参考MINIO SDK 文档

{"ak":"OEFV4N9UW6OBT6S9L3TS","sk":"0Qb+7h83TjSSybwC6lk8xLq
lI9BizFbSsYY3","token":"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9
.eyJhY2Nlc3NLZXkiOiJPRUZWNE45VVc2T0JUNlM5TDNUUyIsImV4cCI6MTAwMDAwMD
AwMDAwMCwicG9saWN5IjoiYWxsIiwic2Vzc2lvblBvbGljeSI6ImV5SldaWEp6YVc5d
Ulqb2lNakF4TWkweE1DMHhOeUlzSWxOMFlYUmxiV1Z1ZENJNlczc2lVMmxrSWpvaUlp
d2lSV1ptWldOMElqb2lRV3hzYjNjaUxDSkJZM1JwYjI0aU9sc2ljek02S2lKZExDSlN
aWE52ZFhKalpTSTZXeUpoY200NllYZHpPbk16T2pvNlltbGxMM0J5YjJvdGNUUmtWkhR
MU0zZHBiVFIxZHk5emRITXRkR1Z6ZEM4cUlsMTlMSHNpVTJsa0lqb2lJaXdpUldabVpXT
jBJam9pUVd4c2IzY2lMQ0pCWTNScGIyNGlPbHNpY3pNNlRHbHpkRUoxWTJ0bGRDSmRMQ0p
TWlhOdmRYSmpaU0k2V3lKaGNtNDZZWGR6T25Nek9qbzZZbWxsTHlvaVhYMWRmUT09In0.9
MgJjud2d4MXGSmTnDfMrx3CmBdRimip3w0HYpbniSGtrqvbGzE4jqFZJwVxlLX3sqR1d5YYG
P8u5UJKHhItiw","endpoint":"10.67.98.10:8998","bucket":"bie","namespace":"
proj-q4dxatdt53wim4uw","nodeName":"sts-test","expiration":"2022-08-25T06:10:20Z"}

相似文档
  • 概述: 本文介绍进程模式节点远程调试功能,用户可以通过BIE云端管理平台远程SSH链接边缘节点。该功能同时支持Windows和Linux操作系统。 使用该功能前,请确保边缘节点安装了openssh Server。
  • 背景介绍: 边缘场景中,用户应用很多都采用了mqtt协议。针对边缘连接了bie的边缘mqtt broker的应用,可以通过消息下发功能,实现从云端下发信息给边缘应用。 使用前提: 节点已安装,并且处于在线状态。 容器模式/进程模式均适用该功能。 边缘应用需要连接baetyl-broker。
  • 产品(设备模型)提供对一类设备的统一定义,包括设备的属性,测点和接入协议等信息。通过使用设备模型作为模板可以创建同一类型的多个设备。
  • 简介:设备是真实物理设备在云端的映射。云端每个设备对应一个物理设备。云端设备包括设备的一些基本信息,不仅有设备品牌,标识等静态描述信息,还有物理设备的实际状态信息,如传感器设备采集的环境数据,设备的开关状态等。
  • 设备必须与指定节点进行绑定,通过引入驱动、配置驱动、绑定设备、配置设备等一系列步骤,才能在云端获取物理设备的数据或通过云端对物理设备进行反控。对于边缘节点来说,所有绑定在其下的设备,都是它的子设备。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部