ผู้จัดจำหน่ายระหว่างประเทศของ Alibaba Cloud: การเรียกใช้อินเทอร์เฟซ API ของ Alibaba Cloud และวิธีการกำหนดค่าคีย์

เมฆ 2026-06-02 阅读 11
cloud

สำหรับนักเรียนที่ยังใหม่กับการประมวลผลแบบคลาวด์หรือการพัฒนาส่วนหลัง "การเรียกใช้อินเทอร์เฟซ API" เป็นวิธีเดียวที่จะเชื่อมต่อธุรกิจและทรัพยากรบนคลาวด์ไม่ว่าคุณจะต้องการเขียนสคริปต์สำหรับสวิตช์อัตโนมัติการปรับเปลี่ยนกลุ่มความปลอดภัยเป็นชุดหรือการรวมที่เก็บข้อมูล OSS ของ Alibaba Cloud และอินเทอร์เฟซโมเดลขนาดใหญ่เข้ากับระบบของคุณเองก็ไม่สามารถทำได้หากไม่มี API

อย่างไรก็ตามเมื่อหลายคนเห็นเงื่อนไขการเข้ารหัส (เช่น AccessKey, Secret, HMAC-SHA1, Signature Algorithm) พวกเขาก็หัวโตหรือเนื่องจากการกำหนดค่าที่ไม่เหมาะสมคีย์จึงรั่วไหลไปยัง GitHub โดยไม่ได้ตั้งใจทำให้เซิร์ฟเวอร์ถูกแฮกเกอร์แฮ็กเพื่อขุดและสูญเสียหนัก.

บทช่วยสอนของวันนี้จะพาคุณผ่านกระบวนการทั้งหมดในภาษาท้องถิ่น: จาก

วิธีการรับคีย์อย่างปลอดภัย

, ถึง

วิธีการกำหนดค่าอย่างหรูหราในท้องถิ่น

, และอีกครั้ง

เสร็จสิ้นการเรียก API ครั้งแรกด้วยรหัสที่ง่ายที่สุด

ขั้นตอนแรก: แนวคิดหลัก (อย่าใส่กุญแจประตูโดยตรง)

ก่อนที่จะเริ่มต้องมีการชี้แจงแนวคิดหลักสองประการ:

AK

และ

SK

。มันเหมือนของคุณ

บัตรประชาชนและรหัสผ่านระบบคลาวด์

AccessKey ID (เรียกว่า AK): เทียบเท่ากับ "ชื่อผู้ใช้" ของคุณเป็นสาธารณะและใช้เพื่อบอก Alibaba Cloud ว่า "ฉันเป็นใคร"

AccessKey Secret (SK): เทียบเท่ากับ "รหัสผ่าน" ของคุณต้องไม่เปิดเผยต่อสาธารณะเพื่อพิสูจน์ว่า "ฉันคือฉัน"

ทุกคำขอ API ของ Alibaba Cloud จำเป็นต้องเข้ารหัสและลงนามเนื้อหาที่ร้องขอด้วย SK หลังจากได้รับคำขอ Alibaba Cloud ก็ใช้อัลกอริทึมเดียวกันในการตรวจสอบและปล่อยมันไป

🚨กฎเหล็ก: อย่าใช้ AK/SK ของบัญชีหลัก!

หากคุณใช้คีย์ของบัญชี Alibaba Cloud Boss (บัญชีหลัก) โดยตรงคีย์นี้จะมีการควบคุมทรัพย์สินทั้งหมดในบัญชีของคุณสูงสุด (หักค่าธรรมเนียมลบฐานข้อมูลซื้อเซิร์ฟเวอร์)

แนวทางที่ถูกต้อง:

สร้างบัญชีย่อย (ผู้ใช้ RAM) เช่น "Sweeper" โดยเฉพาะกำหนดเฉพาะการอนุญาตให้ทำสิ่งที่เฉพาะเจาะจงจากนั้นใช้ AK/SK ของบัญชีย่อยนี้

ขั้นตอนที่สอง: คีย์การเข้าถึงที่ปลอดภัย (5นาที)

เราต้องผ่าน Alibaba Cloud

RAM (การควบคุมการเข้าถึง)

เพื่อสร้างคีย์บัญชีย่อยที่ปลอดภัย

1.สร้างผู้ใช้ย่อย RAM

ลงชื่อเข้าใช้คอนโซล Alibaba Cloud ป้อน RAM ในแถบค้นหาด้านบนแล้วคลิกเพื่อเข้าสู่คอนโซลควบคุมการเข้าถึง

ในแถบนำทางด้านซ้ายให้คลิก Identity Management-> ผู้ใช้

คลิกปุ่มสร้างผู้ใช้

การกำหนดค่าพารามิเตอร์หลัก: ชื่อการเข้าสู่ระบบ: ตั้งชื่อที่มีความหมายเช่น api-operator-oss (หมายความว่าบัญชีนี้ใช้เพื่อปรับอินเทอร์เฟซ OSS โดยเฉพาะ) ชื่อที่แสดง: ตัวอย่างเช่นบัญชีเฉพาะของอินเทอร์เฟซ OSS วิธีการเข้าถึง: ประเด็นสำคัญ! ต้องติ๊ก OpenAPI เรียกการเข้าถึงไม่จำเป็นต้องตรวจสอบ "การเข้าสู่ระบบคอนโซล" เนื่องจากบัญชีนี้ไม่จำเป็นต้องเข้าสู่ระบบหน้าเว็บ

คลิกตกลง. ในขณะนี้จะปรากฏขึ้นบนหน้าจอ

ตารางที่มี AccessKey ID และ AccessKey Secret

คัดลอกและบันทึกทันทีไปยังสถานที่ที่ปลอดภัยในท้องถิ่น (เช่นผู้จัดการรหัสผ่าน)!> หมายเหตุ: ความลับนี้จะแสดงในครั้งนี้เท่านั้นเมื่อคุณรีเฟรชหน้าหรือปิดหน้าต่างคุณจะไม่เห็นมันอีกเลยหากคุณทำหายคุณสามารถลบและสร้างใหม่ได้เท่านั้น

2.ให้สิทธิ์ปลั๊กบุคลากร (การอนุญาต)

บัญชีย่อยที่สร้างขึ้นใหม่คือ "Bai Ding" โดยไม่มีสิทธิ์ใดๆจะมีการรายงานข้อผิดพลาดหากคุณเรียกใช้อินเทอร์เฟซโดยตรง

User not authorized

ในรายชื่อผู้ใช้ในตอนนี้ค้นหาผู้ใช้ที่สร้างขึ้นใหม่ของคุณแล้วคลิกเพิ่มสิทธิ์ทางด้านขวา

เลือกช่วงการอนุญาต: บัญชีคลาวด์ทั้งหมด

เลือกนโยบาย: ป้อนบริการที่คุณต้องการเรียกในช่องค้นหาตัวอย่างเช่นหากคุณต้องการควบคุมเซิร์ฟเวอร์ให้ค้นหา ECS และตรวจสอบ AliyunECSFullAccess (สิทธิ์ของผู้ดูแลระบบ) หรือ AliyunECSReadOnlyAccess (สิทธิ์แบบอ่านอย่างเดียว) ขอแนะนำให้ปฏิบัติตามหลักการของการอนุญาตขั้นต่ำสิ่งที่คุณต้องการให้สิ่งที่คุณต้องการและอย่าพยายามช่วยลดปัญหาและให้ผู้ดูแลระบบโดยตรง (ผู้ดูแลระบบ)

คลิกตกลงการอนุญาตจะเสร็จสมบูรณ์

ขั้นตอนที่สาม: การกำหนดค่าคีย์ท้องถิ่น (ปฏิเสธการเข้ารหัสยาก!)

หลังจากได้ AK/SK สิบล้าน

อย่า

เขียนลงในรหัสโดยตรง (นี่คือ "รหัสยาก" ในตำนาน) ในกรณีที่รหัสถูกส่งไปยังคลังสินค้าสาธารณะในวันหนึ่งคุณสามารถรอจ่ายเงินเดือนเต็มจำนวนเพื่อจ่ายบิลบนคลาวด์

แนวทางมาตรฐานอุตสาหกรรมคือการใช้

ตัวแปรสิ่งแวดล้อม (Environment Variables)

1.วิธีการกำหนดค่า Linux / macOS

เปิดเทอร์มินัลและแก้ไขไฟล์ตัวแปรสภาพแวดล้อมของคุณ (เช่น

~ /.Bashrc

หรือ

~ /.Zshrc

):

Export ALIBABA_CLOUD_ACCESS_KEY_ID = "AccessKeyID ของคุณ"

Export ALIBABA_CLOUD_ACCESS_KEY_SECRET = "AccessKeySecret ของคุณ"

หลังจากบันทึกแล้วให้เรียกใช้

ที่มา ~ /.Bashrc

(หรือไฟล์ที่เกี่ยวข้อง) ให้การกำหนดค่ามีผล

2.วิธีการกำหนดค่าของ Windows

คลิกขวาที่ "คอมพิวเตอร์เครื่องนี้"-> "คุณสมบัติ"-> "การตั้งค่าระบบขั้นสูง"-> "ตัวแปรสภาพแวดล้อม"

ใน "ตัวแปรผู้ใช้" หรือ "ตัวแปรระบบ" คลิก "ใหม่": ชื่อตัวแปร: ALIBABA_CLOUD_ACCESS_KEY_ID, ค่าตัวแปร: กรอก AK ของคุณสร้างชื่อตัวแปรใหม่: ALIBABA_CLOUD_ACCESS_KEY_SECRET ค่าตัวแปร: กรอก SK ของคุณ

คลิกตกลงตลอดทางเพื่อบันทึกหมายเหตุ: หลังจากกำหนดค่าแล้วคุณต้องรีสตาร์ทสภาพแวดล้อมการพัฒนาแบบรวมของคุณ (เช่น VS Co

De/PyCharm) หรือหน้าต่างบรรทัดคำสั่งมิฉะนั้นจะไม่สามารถอ่านตัวแปรใหม่ได้

ขั้นตอนที่สี่: API แรกเรียกการต่อสู้จริง (ตัวอย่างงูหลาม)

ตอนนี้สภาพแวดล้อมพร้อมแล้วเราใช้วิธีที่แนะนำมากที่สุดโดยใช้อย่างเป็นทางการของ Alibaba Cloud

V2.0 SDK

โทร. นี่คือตัวอย่างของการสืบค้นอินสแตนซ์เซิร์ฟเวอร์ ECS ทั้งหมด (DescebeInstances) ภายใต้บัญชีของคุณ

1.ติดตั้งไลบรารีหลัก SDK และไลบรารีผลิตภัณฑ์ที่เกี่ยวข้อง

ทำงานในเทอร์มินัลท้องถิ่น:

แบช

Pip install alibabacloud_tea_openapi

Pip install alibabacloud_ecs20140526 = = 4.3.0

2.เขียนรหัสการโทร

Alibaba Cloud 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 ภายใต้พื้นที่ปัจจุบัน)

Descripbe_instances_request = (

Ecs_20140526_models.DescribeInstancesRequest (

Region_id = "cn-hangzhou"

)

)

Try:

# เริ่มต้นการโทร

Response = client.de scribe_instances(describe_instances_request)

# พิมพ์กลับผล JSON

& Nb

Sp; พิมพ์ ("=== API เรียกสำเร็จและส่งกลับผลลัพธ์ดังนี้ ===")

Print (response.body)

Except Exception as error:

# จัดการข้อผิดพลาดอย่างสง่างาม

พิมพ์ (f "=== API ล้มเหลว ===")

If hasattr(error, "message"):

พิมพ์ (f "ข้อความแสดงข้อผิดพลาด: {error.message}")

If hasattr(error, "code"):

พิมพ์ (f "รหัสข้อผิดพลาด: {error.code}")

If __name__ = = "__main__":

AliyunApiDemo.main()

เรียกใช้รหัสนี้หากคุณเห็นข้อมูล JSON ของรายการอินสแตนซ์เซิร์ฟเวอร์ของคุณแสดงว่าคุณได้เปิดประตู API ของ Alibaba Cloud เรียบร้อยแล้ว

ขั้นตอนที่5: Master Advanced Fairy Tools-OpenAPI Explorer

หากคุณไม่ต้องการเขียนโค้ดหรือไม่ทราบวิธีกรอกพารามิเตอร์ของอินเทอร์เฟซบางอย่าง Alibaba Cloud ให้ "สิ่งประดิษฐ์โกง" อย่างแน่นอน-

พอร์ทัล OpenAPI (OpenAPI Explorer)

https://next.api.aliyun.com การเข้าถึงเบราว์เซอร์/

ป้อนฟังก์ชันที่คุณต้องการใช้ในช่องค้นหาทางด้านซ้ายเช่น "สร้างดิสก์บนคลาวด์" หรือ "ส่ง SMS"

ในแบบฟอร์มตรงกลางให้กรอกพารามิเตอร์โดยตรงในช่องป้อนข้อมูลของอินเทอร์เฟซภาพ

ประเด็นสำคัญอยู่ที่นี่: แท็บ "ตัวอย่าง SDK" ทางด้านขวาของหน้าจะสร้างรหัสภาษาต่างๆโดยอัตโนมัติตามพารามิเตอร์ที่คุณกรอกแบบเรียลไทม์ (Python, Java, Go, Node.js มี

)。

คุณสามารถคลิก "เริ่มการโทร" ได้โดยตรงบนหน้าเว็บเพื่อดูว่าผลลัพธ์ที่ส่งคืนโดยอินเทอร์เฟซถูกต้องหรือไม่หลังจากการดีบักเสร็จสิ้นให้คัดลอกโค้ดทางด้านขวาไปยังโครงการของคุณโดยตรงเพื่อใช้งาน

สรุปเคล็ดลับหลีกเลี่ยงหลุม

อินเตอร์เฟซที่ปรับได้ไม่ยากยากในรายละเอียดและความปลอดภัยสุดท้ายนี้ฉันจะให้เคล็ดลับสี่ประการในการหลีกเลี่ยงหลุม:

ลดสิทธิ์: อย่าอ่านหรือเขียนหากคุณสามารถอ่านอย่างเดียวและอย่าเลือกทั้งหมดหากคุณสามารถจำกัดผลิตภัณฑ์เฉพาะได้

รหัสไม่ได้เข้ารหัส: ในซอร์สโค้ดคุณจะเห็น access_key ตามด้วยสตริงซึ่งทั้งหมดนี้ถูกเขียนใหม่เพื่ออ่านจากตัวแปรสภาพแวดล้อม

ระบบหมุนเวียนปกติ: ขอแนะนำให้ปิดใช้งานคีย์บัญชีย่อยของโครงการเชิงพาณิชย์บนคอนโซลทุกๆหกเดือนและสร้างชุดใหม่เพื่อป้องกันไม่ให้พนักงานลาออกหรือรั่วไหลโดยไม่ได้ตั้งใจ

ใช้ประโยชน์จาก Explorer ให้เป็นประโยชน์: อย่าแทะเอกสารข้อความอย่างเป็นทางการไปที่พอร์ทัล OpenAPI เพื่อดูรหัสสาธิตที่สร้างขึ้นโดยอัตโนมัติเพื่อหลีกเลี่ยงทางอ้อม

1
← 返回新闻中心