全部產品
Search
文件中心

Resource Access Management:AccessKey泄露處理方案

更新時間:Sep 22, 2026

存取金鑰(AccessKey)是您調用阿里雲API時用於完成身分識別驗證的憑證,AccessKey泄露會對該帳號下所有資源的安全帶來威脅,產生非預期的費用以及惡意勒索等,嚴重情況下甚至可能給阿里雲或其他使用者帶來危害。本文為您介紹疑似泄露的AccessKey的處理方案,避免AccessKey泄露造成更大範圍的身份憑證冒用風險。

阿里雲安全措施

阿里雲一直致力於提升雲端服務的安全性,並盡最大努力支援您更好地保護您的賬戶及資產安全。當阿里雲根據外部線索,掌握到您的AccessKey已經被公開,阿里雲將通過您預留的連絡方式及時通知您。同時,為保障您的業務及資料安全,阿里雲將對該AccessKey進行限制性保護,禁止該AccessKey調用部分雲產品的高危許可權API,詳情請參見AccessKey限制性保護說明。

警告

請您務必及時關注簡訊、郵箱、站內訊息等渠道的通知,並結合業務實際需求進行及時處置,同時關注您帳號下的雲資源異動,以免影響業務的正常運行。

說明

阿里雲無法也不可能掌握您全部AccessKey的使用安全情況。根據安全責任共擔模型,雲上的安全由您和阿里雲共同分擔。其中AccessKey屬於雲客戶的帳號和身份訪問憑證,相關安全責任仍需要由您負責承擔,請您務必關注。

AccessKey泄露導致RAM使用者無法登入或提示帳號被凍結怎麼辦?

當阿里雲安全系統檢測到AccessKey存在泄露風險後,會自動觸發保護機制,限制關聯RAM使用者登入控制台。您可能會遇到Authentication.Block.AccountFrozen、"當前帳號不允許登入"等報錯資訊。

處理方法如下:

  1. 使用阿里雲帳號(主帳號)登入RAM控制台,立即禁用或刪除泄露的AccessKey,然後建立新的AccessKey完成輪轉。僅禁用AccessKey可能不足以釋放保留,必須完成刪除或輪轉操作。

  2. 完成AccessKey處置後,若RAM使用者仍無法登入,請提交工單申請解除安全風控限制。

阿里雲帳號(主帳號)AccessKey疑似泄露手動處理措施

  • 若確認AccessKey不在使用中,請訪問AccessKey管理頁面,直接禁用和刪除AccessKey。

  • 若確認AccessKey在使用中,請訪問AccessKey管理頁面,輪轉AccessKey。

    您可以先建立一個新的AccessKey,妥善保管AccessKey Secret。將原AccessKey替換為新的AccessKey,驗證正常運行後,禁用和刪除AccessKey。

RAM使用者AccessKey疑似泄露手動處理措施

  • 若確認AccessKey不在使用中,訪問RAM控制台,直接禁用和刪除RAM使用者的AccessKey。具體操作,請參見禁用RAM使用者的AccessKey、刪除RAM使用者的AccessKey。

    禁用AccessKey時,系統會要求您完成安全驗證(多因素認證MFA),驗證通過後AccessKey狀態才會變更為已禁用。如果該AccessKey最近60天內有調用記錄,系統會提示禁用可能造成業務中斷,請確認無業務依賴後再繼續操作。

  • 若確認AccessKey在使用中且可以直接輪轉,請儘快輪轉。

    建立新的AccessKey時,系統會彈出使用情境選擇對話方塊,請從CLI、本地開發、ECS、ACK、第三方、其他中選擇實際使用情境。您可以建立新的AccessKey,妥善保管AccessKey Secret。將原AccessKey替換為新的AccessKey,驗證正常運行後,禁用和刪除舊的AccessKey。具體操作,請參見輪轉RAM使用者的AccessKey。

    刪除AccessKey時,需手動輸入AccessKey ID完成二次確認。如果該AccessKey禁用未滿7天,系統會提示刪除可能造成業務中斷,請確認無業務依賴後再繼續操作。刪除後AccessKey不會立即銷毀,而是移入資源回收筒,保留30天后自動清理,如需恢複請在保留期內操作。

  • 若確認AccessKey在使用中且短期內無法順利輪轉,為降低被盜用的影響,您可以按照下圖所示步驟進行處置。完成後務必儘快輪轉。

    步驟一:縮小AccessKey許可權

    請先明確業務情境,在不影響當前業務啟動並執行前提下,儘快縮小疑似泄露的AccessKey許可權,限制高風險許可權,降低業務和資費受損的風險。在AccessKey禁用和刪除之前請不要解除該策略(限制高風險許可權)的授權。

    建議限制的高風險許可權,例如:禁止該RAM使用者在存取控制(RAM)中建立新的RAM使用者及授權,禁止ECS、RDS、OSS、SLS資源的釋放,禁止傳送簡訊等。

    以下提供一個禁用高風險許可權的自訂權限原則樣本,請您充分評估影響,根據業務情況設定。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": [
            "ram:AddUserToGroup",
            "ram:AttachPolicyToGroup",
            "ram:AttachPolicyToRole",
            "ram:AttachPolicyToUser",
            "ram:ChangePassword",
            "ram:CreateAccessKey",
            "ram:CreateLoginProfile",
            "ram:CreatePolicyVersion",
            "ram:CreateRole",
            "ram:CreateUser",
            "ram:DetachPolicyFromUser",
            "ram:PassRole",
            "ram:SetDefaultPolicyVersion",
            "ram:UpdateAccessKey",
            "ram:SetPasswordPolicy",
            "ram:UpdateRole",
            "ram:UpdateLoginProfile",
            "ram:UpdateUser"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Deny",
          "Action": [
            "ecs:DeleteInstance",
            "ecs:DeleteInstances",
            "ecs:DeregisterManagedInstance",
            "ecs:ReleaseDedicatedHost"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Deny",
          "Action": [
            "rds:DeleteAccount",
            "rds:DeleteDatabase",
            "rds:DeleteDBInstance",
            "rds:DestroyDBInstance"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Deny",
          "Action": [
            "oss:DeleteBucket",
            "oss:DeleteObject",
            "oss:PutBucketAcl",
            "oss:PutBucketPolicy"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Deny",
          "Action": [
            "log:DeleteLogStore",
            "log:DeleteProject",
            "log:PutProjectPolicy",
            "log:DeleteProjectPolicy"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Deny",
          "Action": [
            "dysms:CreateProductNew",
            "dysms:CreateSmsTemplateNew",
            "dysms:AddSmsTemplate",
            "dysms:SendSms",
            "dysms:SendBatchSms"
          ],
          "Resource": "*"
        }
      ]
    }

    具體操作,請參見建立自訂權限原則、管理RAM使用者的許可權。

    建議您明確AccessKey所需要的業務許可權,將不需要的許可權全部移除。

    步驟二:開啟RAM使用者的MFA

    按照最佳實務,建議您阿里雲帳號(主帳號)下所有用於控制台訪問的RAM使用者開啟多因素認證(MFA)。

    1. 設定主帳號下的RAM使用者登入控制台必須開啟MFA。

      具體操作,請參見管理RAM使用者登入設定。

    2. 為使用者綁定MFA裝置。

      具體操作,請參見RAM使用者自行綁定MFA裝置。

    步驟三:檢查是否存在AccessKey異常操作

    檢查AccessKey是否存在異常操作行為,以及排查是否有其他疑似泄露的身份。重點關注異常的訪問IP、非業務需要的資源建立或刪除操作等。

    泄露期間需重點排查的危險操作包括:

    • 身份與許可權變更:建立RAM使用者(CreateUser)、建立AccessKey(CreateAccessKey)、附加權限原則(AttachPolicyToUser)、建立角色(CreateRole)、開通控制台登入(CreateLoginProfile)等。CreateLoginProfile、AttachPolicyToUser、CreateUser等事件通常意味著攻擊者正在建立後門帳號或提權,需重點核查調用源IP及UserAgent。

    • 資源刪除與釋放:刪除ECS執行個體(DeleteInstance)、刪除RDS執行個體(DeleteDBInstance)、刪除OSS儲存空間(DeleteBucket)等。

    • 資料外泄操作:修改OSS儲存空間存取權限(PutBucketAcl)、修改OSS儲存空間策略(PutBucketPolicy)等。

    • 異常調用行為:短時間內大量發起API請求、從非常用IP地址或地區發起操作、非工作時間段的大量操作等。

    檢查方式:在RAM控制台尋找RAM使用者的AccessKey列表,在列表中查看操作記錄,或在Action Trail控制台的AccessKey 審計頁面直接輸入AccessKey ID查詢操作記錄。

    除Action Trail外,您還可以登入Security Center控制台查看AccessKey泄露警示詳情,擷取被惡意建立的具體RAM使用者名稱、異常調用IP等資訊。

    通過Action Trail的AccessKey審計功能,您可以查看指定AccessKey在最近90天內的所有API調用記錄,包括調用時間、操作名稱、源IP地址和訪問的雲端服務等資訊。具體操作,請參見使用Action Trail監控AccessKey的使用。

    說明

    未接入Action Trail的資料類動作記錄,如OSS、SLS等,需要使用各雲產品的日誌功能查詢。

    您可以通過安全郵箱、站內信通知確認具體泄露的AccessKey ID。若通知中僅包含一個AccessKey且無其他警示,則通常僅該AccessKey存在泄露。

    進一步排查除了已知存在泄露風險的AccessKey之外,是否還有其他RAM使用者和AccessKey存在異常操作行為。若發現存在異常行為,與相關人員確認操作是否由本人執行,若存在疑似泄露風險,建議按以下方式處理:

    • RAM使用者如果需要繼續使用,建議您立即修改RAM使用者密碼並開啟多因素認證(MFA)。

    • RAM使用者並非正常建立的,或確認為閑置使用者不需要繼續使用的,可進行刪除。RAM使用者刪除後會進入資源回收筒,觀察業務是否受到影響,如有影響該RAM使用者可快速恢複。

    • AccessKey異常操作,參照上文所述方法進行許可權限制,然後進行輪轉。

    排查AccessKey的使用範圍

    Action Trail記錄的源IP僅能反映已接入管控事件(如OSS的GetService、GetBucketInfo等管理類操作)的調用記錄;未接入Action Trail的資料類操作(如OSS對象上傳、下載)預設不會記錄,因此僅憑源IP列表無法還原AccessKey的全部使用範圍。禁用或刪除原AccessKey之前,請逐一確認以下環境中是否仍配置了該AccessKey:

    • 本地開發機:開發人員的環境變數、SDK設定檔、CLI憑證檔案等。

    • CI/CD流水線:構建任務的環境變數、憑證倉庫、部署指令碼等。

    • 第三方應用與SaaS服務:授權給外部平台用於調用阿里雲API的憑證。

    • 容器與鏡像:容器鏡像層、Kubernetes Secret、編排模板中的憑證配置等。

    • 定時任務與營運指令碼:伺服器上的crontab、備份指令碼、監控採集指令碼等。

    • 簡訊等訊息通知類服務的調用方:例如調用簡訊服務傳送簡訊的業務應用。

    請確認以上環境全部替換為新的AccessKey並驗證業務正常運行後,再禁用或刪除原AccessKey,避免遺漏調用方導致業務中斷。

    步驟四:檢查是否存在異常費用

    在費用與成本檢查是否存在異常的費用產生,結合上一步結果,針對性採取產品的防護措施。

重要

僅刪除惡意建立的RAM使用者不足以消除泄露風險。核心風險在於阿里雲帳號(主帳號)或高許可權RAM使用者的AccessKey已泄露,攻擊者可利用該AccessKey持續建立新使用者或提權。您必須執行AccessKey輪轉(建立新AccessKey替換舊AccessKey,並禁用和刪除舊AccessKey),同時排查AccessKey泄露途徑(如代碼、設定檔、伺服器安全等),否則風險將持續存在。

員工離職情境AccessKey回收

員工離職後,需及時檢查並回收其名下的AccessKey,避免遺留的憑證被濫用。請按以下步驟操作:

  1. 登入RAM控制台,在使用者列表中找到已離職員工對應的RAM使用者。

  2. 單擊該使用者,進入使用者詳情頁,切換到憑證管理頁簽。

  3. 檢查該使用者名稱下所有AccessKey的狀態。

  4. 對狀態為已啟用的AccessKey,先執行禁用操作。禁用需通過安全驗證(多因素認證MFA),如果該AccessKey最近60天內有調用記錄,系統會提示禁用可能造成業務中斷。

  5. 確認該AccessKey無業務依賴後,執行刪除。刪除時需手動輸入AccessKey ID完成二次確認,刪除後AccessKey會移入資源回收筒,保留30天后自動清理。

為什麼AccessKey儲存在私人倉庫、Nacos或離線資料庫中仍被檢測為泄露?

即使您認為AccessKey已安全儲存,仍可能通過以下常見途徑被檢測或竊取:

  • 代碼倉庫:私人倉庫若曾公開、被Fork或共同作業者上傳至其他位置,AccessKey仍可被掃描服務檢測到。

  • 配置中心(如Nacos):若未做許可權控制、存在漏洞或伺服器被入侵,明文儲存的AccessKey可能被竊取。

  • 離線儲存:若讀取AccessKey的應用或指令碼曾連網調用API,密鑰可能在傳輸過程中被截獲或被日誌記錄。

  • 應用漏洞:RCE(遠程代碼執行)或任意檔案讀取漏洞可導致伺服器內設定檔中的AccessKey被竊取。

防範建議:

  • 使用Credentials工具管理認證,避免寫入程式碼AccessKey。

  • 配置AccessKey的網路訪問限制(IP白名單)。

  • 避免將AccessKey直接寫入原始碼或設定檔。

泄露後子帳號安全使用規範

主帳號AccessKey泄露後,按以下規範恢複安全使用:

  1. 建立獨立子帳號:不要使用主帳號建立AccessKey。在RAM控制台建立獨立的RAM使用者,僅授予所需最小許可權。建立時請注意以下實測要點:

    • 選擇訪問方式時,介面文案已由“OpenAPI 呼叫訪問”更新為使用永久 AccessKey 訪問。

    • 勾選我確認必須建立 AccessKey 確認框後,需完成安全驗證(多因素認證 MFA)才能繼續建立。

    • AccessKey Secret 僅在建立時顯示一次,關閉對話方塊後無法重新查詢,請立即妥善儲存。

    • 授權時,AdministratorAccess 會標記為“高風險”;請遵循最小許可權原則,僅授權該 RAM 使用者所需產品的最小許可權(如 AliyunOSSReadOnlyAccess),避免授予 AdministratorAccess。

    • 如非長期免密調用情境,控制台推薦優先使用 STS Token 臨時憑證替代永久 AccessKey,可進一步降低泄露風險。

  2. AccessKey許可權範圍:子帳號AccessKey許可權僅限所附加的權限原則範圍,不繼承主帳號的全部許可權。

  3. 檢查代碼中的AccessKey配置:檢查代碼中所有AccessKey配置參數,刪除明文AccessKey。如代碼已上傳至GitHub等第三方代碼託管平台,可通過Security Center的AK泄露檢測功能排查。

  4. 使用安全憑證儲存:使用環境變數或Key Management Service(KMS)儲存AccessKey,避免寫入程式碼。具體操作,請參見使用訪問憑據訪問阿里雲OpenAPI最佳實務。

發現非本帳號的AccessKey泄露,能否申請緊急禁用?

由於隱私保護及許可權隔離,阿里雲無法直接根據泄露的AccessKey禁用非當前登入帳號下的密鑰。建議按以下方式處理:

  1. 若知曉AccessKey歸屬帳號,應聯絡該帳號持有人自行處理。

  2. 若擁有該AccessKey對應帳號的許可權,可通過DeleteAccessKey API或RAM控制台自行刪除。

  3. 跨帳號或非己方帳號的泄露AccessKey,需通過法律或安全合規渠道協調處理。