為保證API的安全調用,在調用API時,阿里云RTC會對每個API請求通過簽名(Signature)進行身份驗證。無論您使用HTTP還是HTTPS協議提交請求,都需要在請求中包含簽名信息。

說明 阿里云RTC提供了多種編程語言的SDK及第三方SDK,可以省略計算簽名步驟,SDK下載請單擊阿里云SDK中心

RAM授權

為了確保您的賬號安全,建議您使用子賬號的身份憑證調用API。如果您使用RAM賬號調用API,您需要為該RAM賬號創建、附加相應的授權策略。RTC中可授權的資源和接口列表,請參見RAM資源授權,AccessKey的相關操作請參見獲取AccessKey

API簽名

RTC服務會對每個API請求進行身份驗證,無論您使用HTTP還是HTTPS協議提交請求,都需要在請求中包含簽名(Signature)信息。

RTC通過使用AccessKey ID和AccessKey Secret進行對稱加密的方法來驗證請求的發送者身份。AccessKey是為阿里云賬號和RAM用戶發布的一種身份憑證(類似于用戶的登錄密碼),其中AccessKey ID用于標識訪問者的身份,AccessKey Secret是用于加密簽名字符串和服務器端驗證簽名字符串的密鑰,必須嚴格保密。

DeleteChannelAPI為例,假設使用的AccessKeyIdtestidAccessKeySecrettestsecret。 簽名前的請求URL如下:

https://rtc.aliyuncs.com/?Action=DeleteChannel
&AppId=a2h1****
&ChannelId=juz****
&Format=XML
&AccessKeyId=testid
&SignatureMethod=HMAC-SHA1
&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf
&Version=2018-01-11
&SignatureVersion=1.0

使用testsecret&,計算得到的簽名值:

Y8c1u47r2gHn6scXqz92wklKws1=

將簽名作為Signature參數加入到URL請求中,最后得到的URL:

https://rtc.aliyuncs.com/?Action=DeleteChannel
&AppId=a2h1****
&ChannelId=juz****
&Format=XML
&AccessKeyId=testid
&SignatureMethod=HMAC-SHA1
&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf
&Version=2018-01-11
&SignatureVersion=1.0
&Signature=Y8c1u47r2gHn6scXqz92wklKws1=

阿里云為您提供了多種編程語言SDK簽名示例代碼。