全部產品
Search
文件中心

Resource Access Management:服務憑證管理(API Key)

更新時間:Jul 04, 2026

API Key 是存取控制 RAM 為接入雲端服務簽發的服務憑證(OpenAPI 中稱為 ServiceCredential),專用於調用該雲端服務的 OpenAPI。本章介紹 API Key 的概念與全生命週期管理。

在調用特定雲端服務的OpenAPI時,您可以使用 API Key 作為認證憑證。API Key 在建立時綁定單一雲端服務,僅可用於調用該雲端服務的 API,安全風險範圍相比 AccessKey 更可控。

核心特徵

  • 服務涵蓋範圍隔離:每個 API Key 在建立時指定一個雲端服務(ServiceName),僅可調用該雲端服務接入的 API;不能跨服務調用,也不能通過授權擴大服務涵蓋範圍。

  • 許可權疊加最小化:API Key 的最終許可權 = 所屬 RAM 使用者的許可權 ∩ 該雲端服務 Scope。即使 RAM 使用者擁有多服務許可權,API Key 也只能在指定服務涵蓋範圍內生效。

  • 身份限定:僅 RAM 使用者可建立 API Key,阿里雲帳號(主帳號)不支援建立,以減少憑證泄露的影響範圍。

  • 名稱差異:OpenAPI、SDK 中使用 ServiceCredential(服務憑證),控制台為便於理解使用 API Key。兩者指同一資源。

API Key 與 AccessKey 的區別

API Key 與 AccessKey 都是 RAM 使用者的長期身份憑證,但服務涵蓋範圍、簽發方式和適用情境不同。

對比項

API Key

AccessKey

服務涵蓋範圍

建立時綁定單一雲端服務,僅可調用該服務的 OpenAPI

無服務涵蓋範圍限制,可調用 RAM 使用者已授權的所有雲端服務

許可權模型

RAM 使用者權限 ∩ 雲端服務 Scope,最小化許可權

完全繼承 RAM 使用者的全部已授權許可權

支援的身份

僅 RAM 使用者可建立,不支援阿里雲帳號(主帳號)

阿里雲帳號、RAM 使用者均可建立

配額

每個 RAM 使用者在每個雲端服務下最多 2 個,不可提升

每個身份最多 2 個

有效期間

建立時設定 1–36600 天,或永不到期;到期後自動失效,不可恢複

長期有效,無內建到期機制

典型用途

AI 模型調用、第三方平台/開發工具整合、需要按服務隔離的情境

通用 OpenAPI/SDK 調用、跨服務編排、CI/CD 自動化

生命週期狀態

API Key 在生命週期內可處於以下三種狀態:

  • 已啟用:憑證可用於調用綁定雲端服務的 OpenAPI。建立後預設為該狀態。

  • 已禁用:憑證暫時不可用。可通過啟用恢複為 Active。刪除前必須先進入此狀態。

  • 已到期:到達到期時間後系統自動轉入此狀態,憑證永久失效,不可恢複。需重新建立。

配額與有效期間

  • 配額:每個 RAM 使用者在每個雲端服務下最多建立 2 個 API Key(含 ActiveInactive),不可提升。已到期的API Key仍佔用配額,已刪除的 API Key 不佔用配額。

  • 有效期間單位:天。

  • 取值範圍:控制台預置 1 / 7 / 30 / 90 天與永不到期,並支援自訂。

  • OpenAPI 預設:調用 CreateServiceCredential 時不傳 CredentialAgeDays,預設永不到期。

  • 到期不可恢複:到期後憑證狀態變為 Expired 且永久失效,無法通過啟用恢複為可用狀態,需刪除並重新建立。

重要

建議根據云服務的實際使用周期為 API Key 設定合理的到期時間,避免長期使用永不到期的憑證。請在到期前完成應用側的憑證輪轉,避免業務中斷。

支援的雲端服務

在 RAM 控制台 使用者詳情 頁 > 憑證管理 標籤頁 > API Keys 區塊中點擊 建立 API Key雲端服務 下拉中可選項即為帳號當前可用的雲端服務。每個雲端服務支援調用的 API 範圍請參閱相應雲產品文檔。

RAM 使用者如何自主管理

阿里雲帳號或具備相應許可權的 RAM 管理員,可在 RAM 安全設定中通過 AllowUserToManageServiceCredential 控制是否允許 RAM 使用者自主管理自己的 API Key。該開關的兩種狀態及其影響如下:

  • 允許自主管理:RAM 使用者可登入控制台或調用 OpenAPI 自行建立、更新、刪除自己的 API Key,前提是未被管理員通過權限原則明確拒絕(即不存在顯式 Deny 策略)。

  • 不允許自主管理:RAM 使用者無法管理自己的 API Key,須由具備 ram:CreateServiceCredential 等許可權的管理員代為建立與維護。

授權方式

在實際授權時,可根據管控強度從以下三種方式中選擇:

  • 授予 RAM 管理員系統策略(集中管控):為帳號管理員授予 AliyunRAMFullAccess,由其代使用者建立與維護 API Key。該策略包含完整的 RAM 系統管理權限,適用於由專人統一管控所有 RAM 使用者憑證的情境。

  • 開啟全域自主管理開關(不建議生產環境):在 RAM 安全設定中開啟 AllowUserToManageServiceCredential 後,帳號下所有 RAM 使用者均可自主管理自己的 API Key(除非通過顯式 Deny 策略約束)。便於團隊自助使用,但放權範圍最廣,建議僅在受控的測試或沙箱情境使用。

  • 下發自訂策略(推薦):保持全域開關關閉,僅向需要自主管理 API Key 的特定 RAM 使用者下發自訂策略,將 Resource 限定到使用者本人;必要時再通過 ram:ServiceCredentialServiceName Condition 限定到具體雲端服務。在不放開全帳號自主管理的前提下精確授權所需使用者。

警告

開啟 AllowUserToManageServiceCredential 全域開關後,所有 RAM 使用者均可自主管理自己的 API Key(包括建立、啟用、禁用、刪除等操作),除非管理員為其分配拒絕相關操作的權限原則。生產環境強烈建議關閉該開關,僅通過自訂策略精細授權。

自訂策略樣本

下列樣本策略將 Resource 限定到 RAM 使用者本人,附加給目標 RAM 使用者後,該使用者即可在自身賬戶上執行允許的操作。使用前請將 ACCOUNT_ID 替換為帳號 ID(可在 阿里雲帳號中心查看),將 USER_NAME 替換為目標 RAM 使用者的登入名稱(不含 @ 尾碼部分)。

允許使用者自主建立 API Key

僅允許使用者為自己建立並查看 API Key,不允許修改或刪除。適合最小許可權原則下的輕量授權。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateServiceCredential",
        "ram:ListServiceCredentials"
      ],
      "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME"
    }
  ]
}

允許使用者自主管理 API Key(全生命週期)

允許使用者自行完成建立、查看、改名、啟用、禁用、刪除等全部 API Key 操作,覆蓋完整生命週期。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateServiceCredential",
        "ram:ListServiceCredentials",
        "ram:GetServiceCredential",
        "ram:UpdateServiceCredential",
        "ram:DeleteServiceCredential"
      ],
      "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME"
    }
  ]
}

限定到特定雲端服務

在系統管理權限的基礎上疊加 ram:ServiceCredentialServiceName Condition,僅允許使用者管理某個雲端服務(樣本為 ak.aliyuncs.com)下的 API Key,可用於"按雲端服務劃分憑證管理權"的精細化授權情境。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateServiceCredential",
        "ram:ListServiceCredentials",
        "ram:GetServiceCredential",
        "ram:UpdateServiceCredential",
        "ram:DeleteServiceCredential"
      ],
      "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME",
      "Condition": {
        "StringEquals": {
          "ram:ServiceCredentialServiceName": "ak.aliyuncs.com"
        }
      }
    }
  ]
}

API Key 資料結構

每個 API Key 由以下核心欄位組成。OpenAPI 返回的欄位名以 ServiceCredential 為命名首碼;控制台中欄位名經過翻譯呈現。

OpenAPI 欄位

控制台欄位

說明

ServiceCredentialId

ID

系統自動產生,首碼 SC。後續啟用、禁用、刪除等操作均通過此 ID 定位。

ServiceCredentialName

名稱

方便使用的標識名,便於識別用途。控制台預設填充為 {雲端服務名}_apikey_{隨機字元},可在建立後修改。

ServiceName

雲端服務

綁定的雲端服務標識(如 ak.aliyuncs.com),建立時確定,不可修改。

ServiceCredentialSecret

API Key

憑證密鑰明文,僅在建立成功的彈窗中返回一次。後續 List/Get 介面與控制台均不再返回明文。

CreateTime

建立時間

UTC 時間,ISO-8601 格式。控制台展示為本地時間。

ExpirationTime

到期時間

到期後憑證失效,狀態變為 Expired。永不到期時為 null,控制台顯示為"永不到期"。

Status

狀態

憑證狀態,取值 Active/Inactive/Expired

UserPrincipalName

所屬使用者

RAM 使用者登入名稱(UPN,形如 us**@account.onaliyun.com)。

安全建議

  • 為 API Key 設定到期時間:短期測試避免設定永不到期。其他情況下建議設定有效期間,建議根據云服務的使用周期設定 30 天或 90 天,並在到期前輪轉。

  • 建立後務必立即複製或下載 CSV 儲存 API Key 明文,關閉彈窗後將無法再次擷取;遺失只能刪除後重新建立。

  • 將 API Key 視為高敏感憑證,禁止以明文形式提交到代碼倉庫、設定檔或日誌,建議接入憑證託管或 KMS 加密儲存。