全部產品
Search
文件中心

Identity as a Service:M2M應用(機器間許可權管理)

更新時間:Nov 11, 2025

機器間許可權管理(M2M)是無需使用者參與的應用間授權,由IDaaS進行授權,結合網關型產品進行鑒權,從而控制調用方應用對受保護資源的訪問,防止越權訪問。

使用情境

企業在數字化協作情境中,如果需要將部分業務系統能力開放給第三方夥伴(如外包團隊)時,通常需要建立基於機器身份的自動化授權機制。在具體實施過程中,企業可採取以下方案:

  • 建立夥伴准入認證體系:通過預先共用金鑰或OAuth 2.0用戶端憑證模式等技術手段,為每個合作方分配獨立的機器身份標識。

  • 採用細粒度許可權管理原則:在API存取控制層面,將非核心業務資料介面的存取權限與精選合作夥伴身份進行綁定。例如:可配置僅允許某Team Dev調用資料視覺效果相關的介面服務。

這種基於M2M(機器對機器)通訊的授權模式,既保證了自動化系統間的高效互動,又通過身份鑒權和許可權隔離機制降低了資料安全風險,特別適用於開發協作、資料看板搭建等無需終端使用者介入的系統對接情境。

說明

使用M2M應用(機器間許可權管理)功能,需要建立EIAM執行個體(免費執行個體或付費執行個體),每個執行個體可享2個額度M2M應用的免費試用。如果您尚未開通,請前往開通購買

功能概述

機器間許可權管理(M2M)是無需使用者參與的應用間授權,由IDaaS進行授權,結合網關型產品進行鑒權,從而控制調用方應用對受保護資源的訪問,防止越權訪問。

典型情境

  • 企業將內部API對外開放給外包/供應商系統調用,需要精細化控制其調用許可權。

  • 企業在非雲廠商環境內訪問雲廠商資源(如多雲環境)。

典型客戶

  • 需要結合API Gateway對外暴露API的客戶。

  • 所有需要無AK訪問阿里雲的客戶,以及多雲客戶。IDaaS方案可以在阿里雲無AK方案的基礎上覆蓋本地開發環境、多雲環境情境的使用。

核心功能

  • 憑證管理:管理IDaaS中調用方應用的憑證,用於向IDaaS請求Access Token

  • 授權管理:定義調用方應用,並對其進行授權。

  • 預整合網關:在應用統一鑒權情境下,聯動API Gateway進行鑒權。

基本概念

概念

說明

M2M應用(Machine-to-Machine)

用於機器間許可權管理的應用,無需使用者參與的授權和鑒權過程,可聯動API Gateway實現API許可權控制、聯動RAM實現無AK訪問。

說明

一個M2M應用既可以作為用戶端,也可以作為服務端。

用戶端

即調用方應用(對應OAuth中的Client),是一個發起向受保護資源訪問的應用程式。

服務端

即被呼叫者應用或受保護資源(對應OAuth中的Resource Server),代表一個外部資源實體。

受眾標識

對應Claim中的aud,表示Access Token的受眾,即服務端的唯一標識。填寫後不可修改。

配置流程

本文主要以API Gateway配置流程進行介紹。M2M應用既可以作為調用方身份(即Client),也可以作為被呼叫者身份(即Resource Server)。

說明

建議一個M2M應用只使用其中一種身份。

調用流程

  1. 調用方應用驗證身份並請求Access Token

  2. IDaaS 返回Access Token(包含許可權資訊)。

  3. 調用方應用攜帶Access Token訪問被呼叫者應用。

  4. 被呼叫者應用(或API Gateway、STS服務)驗證Token有效性。

  5. 被呼叫者應用(或API Gateway、STS服務)進行鑒權,允許存取或攔截操作。

  6. 返迴響應。

應用配置

添加應用

  1. 登入IDaaS管理主控台,選擇並進入您的 IDaaS 執行個體,進入對應執行個體的管理主控台。

  2. 選擇應用 > M2M应用管理,單擊添加应用

  3. 在彈出對話方塊中的應用程式名稱一欄中填寫您的應用程式名稱,單擊立即添加,系統將自動跳轉至 M2M 應用詳情配置頁面。

通用配置

  1. 基础信息

    • 应用ID‌:由系統自動產生的唯一標識,用於唯一識別該 M2M 應用。

    • 应用名称‌:可自訂填寫,用於在管理介面中區分不同 M2M 應用。

  2. 凭证管理。M2M 應用支援多種凭证类型

    1. Client Secret 凭证‌ 。您可通過單擊添加 client_secret操作產生用戶端憑據,該憑據用於用戶端在調用服務端 API 時進行身分識別驗證和鑒權請求。

      • ‌client_id‌:M2M 應用的唯一識別碼,用於應用身份服務互動時的身分識別驗證。

      • client_secret‌:M2M 應用的密鑰,用於與應用身份服務互動時的許可權校正。

        • 查看‌:單擊查看,展示 client_secret 的完整內容。

        • 删除‌:刪除當前 client_secret,刪除後需重新添加新密鑰。

        • 设置有效期‌:配置 client_secret 的有效期間,到期後需重建密鑰。

      說明

      需妥善保管 client_secret,若發生泄露,需立即刪除舊密鑰並添加新密鑰以保障安全。

    2. 公私钥凭证。在公私钥凭证選項卡下,單擊‌手动添加按鈕,進入建立憑證頁面。

      • 情境類型:預設PRIVATE_KEY_JWT認證。

      • 加密類型‌:預設 RSA-2048

      • 公開金鑰‌:在文字框中粘貼公開金鑰內容,需確保公開金鑰格式以-----BEGIN PUBLIC KEY-----開頭、-----END PUBLIC KEY-----結尾,格式不正確會導致驗證失敗。

    3. PCA、OIDC、PKCS#7 憑證類型配置,請參見:建立聯邦憑證

  3. 网络范围限制。通過客户端网络范围配置,限制 M2M 應用的訪問來源。

    • 任何网络范围‌:允許任意 IP 位址發起對 M2M 應用的調用。

    • 指定网络范围‌:僅允許特定 IP 位址(或 IP 段)發起調用,需在網路範圍下拉框中選擇已添加允許訪問的網路範圍。

  4. 应用配置信息。M2M 應用的 OAuth2 相關配置,包含以下關鍵資訊。

    • ‌Issuer‌:用於標識 Token 發放來源的唯一識別碼,作為 OAuth2 相關介面的 BaseUrI 地址,確保身分識別驗證流程中 Token 源頭的可追溯性與唯一性。

    • OIDC 發現端點‌:公開可訪問的端點,用於擷取當前身份服務支援的 OIDC 協議端點資訊、認證模式及參數規範。

    • ‌OAuth2 發現端點‌:公開可訪問的端點,提供當前 IDaaS 支援的 OAuth2 授權端點資訊及授權模式,為開發人員配置 OAuth2 流程提供合規性依據。

    • 令牌端點‌:用於請求並擷取 OAuth2 Token 的介面地址,支援通過授權碼、用戶端憑據等模式完成身份憑證的頒發。

    • 驗證公開金鑰端點:提供用於驗證 Token 簽名的公開金鑰資訊的介面,支援公開金鑰動態輪轉機制,確保 SSO 流程中 Token 驗證的時效性與防篡改安全性。

服务端权限开放

開啟服務端許可權開放後,該M2M應用將作為被呼叫者(即 OAuth 中的資原始伺服器),可通過配置許可權並授權調用方,實現對調用方許可權的精細化控制。

說明

首次開啟需添加受眾標識,受眾標識對應Claim中的aud,標識Access Token的受眾,即持有受保護資源的服務。添加後不可修改。

  1. 許可權應用。

    • 受众标识對應Claim中的aud,標識Access Token的受眾,即持有受保護資源的服務。

    • 服务端权限开放單擊開啟按鈕在彈出的啟用許可權開放對話方塊受眾標識輸入框中,填寫調用方的‌受保護資源服務地址‌(需與OAuth中的aud Claim對應,即調用方應用的資原始伺服器地址)。

    • 自定义主体開啟自訂主體後,簽發的 Access Token 將從(clientld) 變成 <clientld>:<client.activeSubjectUrn>,其中 client.activeSubjectUrn 在應用的聯邦憑證的屬性對應中設定。

  2. 許可權管理。開啟服務端許可權開放後,可以向調用方應用添加或刪除許可權。

    單擊添加权限按鈕,在添加許可權頁面填寫以下關鍵資訊:

    • 授权类型‌:選擇机器权限(適用於機器間調用情境)。

    • 权限名称‌:輸入許可權在管理端的展示名稱(如“使用者讀取許可權”)。

    • 权限标识‌:輸入許可權的唯一標識(建議採用“資源:操作:限制條件”格式,如user:read:all,需確保應用內唯一)。

    說明
    • 資源:指被操作的具體對象,如使用者、角色、檔案、API等。樣本:user 表示使用者資源;file 表示檔案資源。

    • 操作:指對資源執行的具體行為,如如讀取、寫入、刪除等。樣本:read 表示讀取操作;write 表示寫入操作。

    • 限制條件:指操作的範圍或約束,如範圍、時間、權限等級等。樣本:all 表示所有使用者;admin 表示管理員權限。

  3. 授權應用。您可在授權應用列表中,查看或管理被呼叫者應用的許可權,如授權、收回許可權等。

客户端权限管理

單擊應用 > 用戶端許可權管理可查看該應用被授與權限。在被呼叫者應用的服務端許可權開放中進行添加許可權和授權。

相關最佳實務