阿里雲國際分銷商:阿里雲API接口調用與密鑰配置方法

雲端 2026-06-02 阅读 16
3

對於剛接觸雲計算或者後端開發的同學來說,「調用 API 接口」是把業務和雲資源打通的必經之路。 無論是想寫個腳本自動開關機、批量修改安全組,還是把阿里雲的 OSS 存儲、大模型接口集成到自己的系統里,都離不開 API。

但很多人一看到密碼學名詞(比如 AccessKey、Secret、HMAC-SHA1、簽名算法)就頭大,或者因為配置不當,不小心把密鑰洩漏到了 GitHub 上,導致服務器被黑客黑去挖礦,損失慘重。

今天這篇教程用大白話帶你走通全流程:從

如何安全地獲取密鑰

,到

如何在本地優雅地配置

,再到

用最簡單的代碼完成第一次 API 調用

第一階段:核心概念(別把大門鑰匙直接掛在嘴邊)

在動手之前,必須搞清楚兩個核心概念:

AK

SK

。 它們就像是你的

雲端身份證和密碼

AccessKey ID(簡稱 AK): 相當於你的「用戶名」。 它是公開的,用來告訴阿里雲「我是誰」。

AccessKey Secret(簡稱 SK): 相當於你的「密碼」。 它絕對不能公開,用來證明「我確實是我」。

阿里雲的每一個 API 請求,都需要用 SK 對請求內容進行加密簽名。 阿里雲收到請求後,用同樣的算法校驗,對上了才放行。

🚨鐵律:千萬不要用主賬號的 AK/SK!

如果你直接用阿里雲大老闆賬號(主賬號)的密鑰,這個密鑰就擁有你賬戶下所有財產的最高控制權(扣費、刪庫、買服務器)。

正確做法:

專門創建一個「掃地僧」一樣的子賬號(RAM 用戶),只給它分配乾某一件特定事情的權限,然後用這個子賬號的 AK/SK。

第二階段:安全獲取密鑰(5分鐘)

我們要通過阿里雲的

RAM(訪問控制)

來創建一個安全的子賬號密鑰。

1. 創建 RAM 子用戶

登錄阿里雲控制台,在頂部搜索欄輸入 RAM,點擊進入 訪問控制 控制台。

在左側導航欄,點擊 身份管理 -> 用戶。

點擊 創建用戶 按鈕。

關鍵參數配置:登錄名稱: 起個有意義的名字,比如 api-operator-oss(代表這個賬號專門用來調 OSS 接口)。 顯示名稱: 比如 OSS接口專用賬號。 訪問方式: 重點! 必須勾選 OpenAPI 調用訪問。 不需要勾選「控制台登錄」,因為這個賬號不需要登錄網頁。

點擊確定。 此時屏幕上會彈出一

個表格,裡面包含 AccessKey ID 和 AccessKey Secret。

立刻複製並保存到本地安全的地方(比如密碼管理器)! > 注意: 這個 Secret 只會顯示這一次,一旦你刷新頁面或者關閉窗口,就再也看不到了。 如果丟了,只能刪掉重新建一個。

2. 給人事塞權限(授權)

剛創建的子賬號是個「白丁」,沒有任何權限,直接調用接口會報錯

User not authorized

在剛剛的用戶列表里,找到你新建的用戶,點擊右側的 添加權限。

選擇授權範圍: 整個雲賬號。

選擇策略: 在搜索框輸入你需要調用的服務。 比如你想控制服務器,就搜 ECS,勾選 AliyunECSFullAccess(管理權限)或 AliyunECSReadOnlyAccess(只讀權限)。 建議遵循最小權限原則,需要什麼給什麼,別圖省事直接給 AdministratorAccess(系統管理員)。

點擊確定,授權完成。

第三階段:密鑰本地配置(拒絕硬編碼!)

拿到 AK/SK 後,千萬

不要

直接寫死在代碼里(這就是傳說中的「硬編碼」)。 萬一哪天代碼傳到了公開倉庫,你就等著用全額工資來交雲賬單吧。

業界標準做法是利用

環境變量(Environment Variables)

1. Linux / macOS 配置方法

打開終端,編輯你的環境變量文件(比如

~ /.Bashrc

~ /.zshrc

):

Export ALIBABA_CLOUD_ACCESS_KEY_ID="你的AccessKeyID"

Export ALIBABA_CLOUD_ACCESS_KEY_SECRET="你的AccessKeySecret"

保存後,運行

Source ~ /.Bashrc

(或對應文件)讓配置生效。

2. Windows 配置方法

右鍵「此電腦」 -> 「屬性」 -> 「高級系統設置」 -> 「環境變量」。

在「用戶變量」或「系統變量」里,點擊「新建」:變量名:ALIBABA_CLOUD_ACCESS_KEY_ID,變量值:填入你的 AK。 再新建一個:變量名:ALIBABA_CLOUD_ACCESS_KEY_SECRET,變量值:填入你的 SK。

一路點擊確定保存。 注意:配置完後需要重啟你的集成開發環境(如 VS Co

De / PyCharm)或命令行窗口,否則讀不到新變量。

第四階段:第一次 API 調用實戰(Python 示例)

現在環境準備好了,我們用最推薦的方法--使用阿里雲官方的

V2.0 SDK

來做一次調用。 這裡以查詢你賬號下所有的 ECS 服務器實例(DescribeInstances)為例。

1. 安裝 SDK 核心庫和對應產品庫

在本地終端運行:

貝殼腳本

Pip install alibabacloud_tea_openapi

Pip install alibabacloud_ecs20140526==4.3.0

2. 編寫調用代碼

阿里雲的 V2.0 SDK 非常智能,它會自動去讀取我們剛才配置的環境變量

ALIBABA_CLOUD_ACCESS_KEY_ID

ALIBABA_CLOUD_ACCESS_KEY_SECRET

,代碼里一個敏感詞都不用寫。

Import os

Import sys

From alibabacloud_ecs20140526.client import Client as Ecs20140526Client

From alibabacloud_tea_openapi import models as open_api_models

From alibabacloud_ecs20140526 import models as ecs_20140526_models

Class AliyunApiDemo:

@Staticmethod

Def create_client() -> Ecs20140526Client:

"""

初始化賬號Client

"""

# SDK會自動從環境變量中獲取ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET

Config = open_api_

Models.Config()

# 選擇你要調用的地域名,比如杭州是 cn-hangzhou,上海是 cn-shanghai

Config.endpoint = f"ecs.cn-hangzhou.aliyuncs.com"

Return Ecs20140526Client(config)

@Staticmethod

Def main():

Client = AliyunApiDemo.create_client()

# 構造請求參數(查詢當前地域下的ECS實例)

Describe_instances_request = (

Ecs_20140526_models.DescribeInstancesRequest(

Region_id="cn-hangzhou"

Try:

# 發起調用

Response = client.describe_instances(describe_instances_request)

# 打印返回的 JSON 結果

&Nb

Sp; print("=== API 調用成功,返回結果如下 ===")

Print(response.body)

Except Exception as error:

# 優雅地處理報錯

Print(f"=== API 調用失敗 ===")

If hasattr(error, "message"):

Print(f"錯誤信息: {error.message}")

If hasattr(error, "code"):

Print(f"錯誤碼: {error.code}")

If __name__ == "__main__":

AliyunApiDemo.main()

運行這段代碼,如果你看到了你服務器的實例列表 JSON 數據,說明你已經成功打通了阿里雲的 API 大門。

第五階段:高手進階神仙工具--OpenAPI Explorer

如果你不想寫代碼,或者不知道某個接口的參數怎麼填,阿里雲提供了一個絕對的「作弊神器」--

OpenAPI 門戶(OpenAPI Explorer)

瀏覽器訪問 https://next.api.aliyun.com/。

在左側搜索框輸入你想用的功能,比如「創建雲盤」或者「發送短信」。

在中間的表單里,直接用可視化界面的輸入框填參數。

重點來了: 網頁右側的「SDK 示例」標籤頁,會實時根據你填的參數自動生成各種語言的代碼(Python、java、Go、Node.js 都有

)。

你甚至可以直接在網頁上點擊「發起調用」,看接口返回的結果對不對,調試好了之後,把右側的代碼直接複製到你的項目裡就能用。

總結避坑口訣

調接口不難,難在細節和安全。 最後送你四個避坑錦囊:

權限最小化: 能給只讀就別給讀寫,能限特定產品就別全選。

代碼無密化: 源碼裡看到 access_key 後面跟著字符串的,通通改寫成從環境變量讀取。

定期輪換制: 商業項目的子賬號密鑰,建議每隔半年在控制台禁用掉,重新生成一套,防止員工離職或無意中洩露。

善用 Explorer: 別硬啃官方的文字文檔,多去 OpenAPI 門戶看自動生成的 Demo 代碼,能少走彎路。

3
← 返回新闻中心