本賬號RAM用戶授權(quán)服務端訂閱
物聯(lián)網(wǎng)平臺服務端訂閱功能支持通過RAM角色授權(quán)RAM用戶操作,本文檔介紹如何通過RAM角色授權(quán)RAM用戶接收物聯(lián)網(wǎng)平臺配置的服務端訂閱消息。
背景信息
STS(Security Token Service)是阿里云提供的一種臨時訪問權(quán)限管理服務。RAM提供RAM用戶和RAM角色兩種身份。
RAM角色是一種虛擬用戶,可以被授予一組權(quán)限策略。與RAM用戶不同,RAM角色沒有確定的登錄密碼或訪問密鑰,它需要被一個可信的實體用戶(RAM用戶、阿里云服務或身份提供商)扮演。扮演成功后實體用戶將獲得RAM角色的臨時身份憑證,即安全令牌(STS Token),使用安全令牌就能以RAM角色身份訪問被授權(quán)的資源。
了解STS的功能特性和優(yōu)勢,請參見什么是STS。
您也可直接授權(quán)RAM用戶訪問物聯(lián)網(wǎng)平臺資源,但通過RAM角色授權(quán)RAM用戶訪問被授權(quán)的資源更安全。
對于直接授權(quán)的RAM用戶,需要給該RAM用戶授予操作AMQP服務端訂閱功能的權(quán)限(iot:sub),否則將會連接失敗。授權(quán)方法,請參見授權(quán)RAM用戶訪問物聯(lián)網(wǎng)平臺。
步驟一:創(chuàng)建RAM角色并授權(quán)
創(chuàng)建可信實體為阿里云賬號的RAM角色:使用阿里云主賬號登錄RAM控制臺,為當前云賬號創(chuàng)建RAM角色。
角色可信實體的阿里云賬號選擇當前云賬號。
通過腳本編輯模式創(chuàng)建自定義權(quán)限策略:使用阿里云主賬號創(chuàng)建自定義權(quán)限策略。
服務端訂閱授權(quán)操作Action為
iot:sub
,權(quán)限策略內(nèi)容如下:{ "Statement": [ { "Action": "iot:sub", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }
為RAM角色授權(quán):使用阿里云主賬號為剛創(chuàng)建的RAM角色添加上一步創(chuàng)建的自定義權(quán)限策略。
創(chuàng)建RAM用戶:使用阿里云主賬號登錄RAM控制臺,創(chuàng)建RAM用戶。
為RAM用戶授權(quán):使用阿里云主賬號為上一步創(chuàng)建的RAM用戶,添加AliyunSTSAssumeRoleAccess權(quán)限,使RAM用戶可以扮演阿里云主賬號的RAM角色。
步驟二:RAM用戶接收AMQP服務端訂閱消息
配置AMQP服務端訂閱:使用阿里云主賬號登錄物聯(lián)網(wǎng)平臺控制臺,配置AMQP服務端訂閱設(shè)備上報數(shù)據(jù)。
開發(fā)AMQP客戶端接收服務端訂閱消息:RAM用戶開發(fā)AMQP客戶端接入物聯(lián)網(wǎng)平臺,接收物聯(lián)網(wǎng)平臺下服務端訂閱的設(shè)備消息。