阿里云通过sdk添加安全组

1. 阿里云申请秘钥

, : 前往 https://ram.console.aliyun.com/manage/ak 添加 accessKey

2. 安装sdk

1
2
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-ecs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env python
# coding=utf-8
import requests
from aliyunsdkcore.client import AcsClient
from aliyunsdkecs.request.v20140526.AuthorizeSecurityGroupRequest import AuthorizeSecurityGroupRequest

# 获取IPv4地址:https://4.ipw.cn
# 获取IPv6地址:https://6.ipw.cn
# 确认用户网络是IPv4还是IPv6访问优先:https://test.ipw.cn/api/ip/myip?json
r = requests.get('https://4.ipw.cn')
clientIP = r.text


# RegionId:安全组所属地域ID ,比如 `cn-guangzhou`
# 访问 [DescribeRegions:查询可以使用的阿里云地域](https://next.api.aliyun.com/api/Ecs/2014-05-26/DescribeRegions) 查阅
# 国内一般是去掉 ECS 所在可用区的后缀,比如去掉 cn-guangzhou-b 的尾号 -b
client = AcsClient('accessKeyId', 'accessSecret', 'cn-shanghai')

request = AuthorizeSecurityGroupRequest()
request.set_accept_format('json')
request.set_SecurityGroupId("sg-uf61m8p4hsmdjm8xq9bf") # 安全组ID
request.set_IpProtocol("tcp") # 协议,可选 tcp,udp, icmp, gre, all:支持所有协议
request.set_PortRange("9080/10000") # 端口范围,使用斜线(/)隔开起始端口和终止端口,如果信任所有端口为 1/65535
request.set_Priority("1") # 安全组规则优先级,数字越小,代表优先级越高。取值范围:1~100
request.set_Policy("accept") # accept:接受访问, drop: 拒绝访问
request.set_NicType("internet") # internet:公网网卡, intranet:内网网卡。
request.set_SourceCidrIp(clientIP) # 源端IPv4 CIDR地址段。支持CIDR格式和IPv4格式的IP地址范围。

response = client.do_action_with_exception(request)
# python2: print(response)
print(str(response, encoding='utf-8'))
print("Client IP: %s was successfully added to the Security Group." % clientIP)


阿里云通过sdk添加安全组
https://kingjem.github.io/2025/04/28/阿里云通过sdk添加安全组/
作者
Ruhai
发布于
2025年4月28日
许可协议