全部產品
Search
文件中心

:跨帳號RAM使用者授權服務端訂閱

更新時間:Jun 30, 2024

物聯網平台服務端訂閱功能支援通過RAM角色授權跨帳號操作,即使用企業A的阿里雲主帳號建立RAM角色並為該角色授權,將該角色賦予企業B阿里雲主帳號,即可實現使用企業B的主帳號或其RAM使用者訪問企業A的服務端訂閱訊息。

背景資訊

STS(Security Token Service)是阿里雲提供的一種臨時存取權限管理服務。RAM提供RAM使用者和RAM角色兩種身份。

RAM角色是一種虛擬使用者,可以被授予一組權限原則。與RAM使用者不同,RAM角色沒有確定的登入密碼或存取金鑰,它需要被一個可信的實體使用者(RAM使用者、阿里雲服務或身份供應商)扮演。扮演成功後實體使用者將獲得RAM角色的臨時身份憑證,即安全性權杖(STS Token),使用安全性權杖就能以RAM角色身份訪問被授權的資源。

瞭解STS的功能特性和優勢,請參見什麼是STS

應用情境

企業A阿里雲帳號開通了阿里雲物聯網平台來開展業務,希望將服務端訂閱的裝置上報訊息授權給企業B阿里雲帳號服務端消費,做進一步的業務處理。

解決方案

企業A需要授予企業B的員工對物聯網平台服務端訂閱資源進行操作。假設企業A和企業B分別有一個阿里雲主帳號A和阿里雲主帳號B,需要完成以下操作完成企業A和企業B的跨雲帳號授權及資源訪問。

  1. 步驟一:建立RAM角色並授權

    阿里雲主帳號A建立一個RAM角色,並為RAM角色授予對應的服務端訂閱許可權,然後允許阿里雲主帳號B下的RAM使用者扮演該角色。

  2. 步驟二:跨帳號接收AMQP服務端訂閱訊息

    RAM角色授權完成後,阿里雲主帳號B下的RAM使用者通過扮演阿里雲主帳號A的RAM角色可擷取該角色對應的許可權。

步驟一:建立RAM角色並授權

  1. 建立可信實體為阿里雲帳號的RAM角色:企業A使用阿里雲主帳號A登入RAM控制台,為企業B的阿里雲主帳號B建立RAM角色。

    角色可信實體的阿里雲帳號選擇其他雲帳號,設定為企業B的阿里雲主帳號ID。

  2. 通過指令碼編輯模式建立自訂權限原則:企業A使用阿里雲主帳號A建立自訂權限原則。

    服務端訂閱授權操作Actioniot:sub,權限原則內容如下:

    {
      "Statement": [
        {
          "Action": "iot:sub",
          "Effect": "Allow",
          "Resource": "*"
        }
      ],
      "Version": "1"
    }
  3. 為RAM角色授權:企業A使用阿里雲主帳號A為剛建立的RAM角色添加上一步建立的自訂權限原則。

  4. 建立RAM使用者:企業B使用阿里雲主帳號B登入RAM控制台,建立RAM使用者。

  5. 為RAM使用者授權:企業B使用阿里雲主帳號B為上一步建立的RAM使用者,添加AliyunSTSAssumeRoleAccess許可權,使阿里雲主帳號B的RAM使用者可以扮演企業A阿里雲主帳號A的RAM角色。

步驟二:跨帳號接收AMQP服務端訂閱訊息

  1. 配置AMQP服務端訂閱:企業A使用阿里雲帳號登入物聯網平台控制台,配置AMQP服務端訂閱裝置上報資料。

  2. 開發AMQP用戶端接收服務端訂閱訊息:企業B開發AMQP用戶端接入企業A阿里雲帳號的物聯網平台,接收企業A物聯網平台下服務端訂閱的裝置訊息。