python实现添加阿里云IP白名单
由于公司业务需求 原本需手动添加sftp白名单 现通过python实现自动添加#!/usr/bin/python# -*- coding: utf-8 -*# 执行前先安装阿里云sdkpip install aliyun-python-sdk-ecsfrom aliyunsdkcore.client import AcsClientfrom aliyunsdkecs.request...
·
由于公司业务需求 原本需手动添加sftp白名单 现通过python实现自动添加
#!/usr/bin/python
# -*- coding: utf-8 -*
# 执行前先安装阿里云sdk pip install aliyun-python-sdk-ecs
from aliyunsdkcore.client import AcsClient
from aliyunsdkecs.request.v20140526 import AuthorizeSecurityGroupRequest
import sys
import json
class alis:
def __init__(self,AccessKey, AccessSecret, RegionId):
self.AccessKey = AccessKey
self.AccessSecret = AccessSecret
self.RegionId = RegionId
def client(self):
"""用于创建AcsClient实例
"""
client = AcsClient(self.AccessKey, self.AccessSecret, self.RegionId)
return client
def authorizeSecurityGroupRequest(self,SourceCidrIp, Description ,PortRange='2121/2121',Priority=1,IpProtocol='tcp',SecurityGroupId='安全组ID'):
"""用于添加安全组规则
"""
#创建AuthorizeSecurityGroupRequest实例
request = AuthorizeSecurityGroupRequest.AuthorizeSecurityGroupRequest()
#安全组ID
request.set_SecurityGroupId(SecurityGroupId)
#协议,比如TCP或者UDP
request.set_IpProtocol(IpProtocol)
#端口范围
request.set_PortRange(PortRange)
#如果存在源ip,则设置源ip
if SourceCidrIp:
request.set_SourceCidrIp(SourceCidrIp)
#优先级
request.set_Priority(Priority)
# 描述
request.set_Description(Description)
#规则的动作为接受
request.set_Policy('accept')
#接收数据格式为json
request.set_accept_format('json')
return request
if __name__ == '__main__':
#AliGroup类实例化
ali = alis('accessID', 'accessKey', 'cn-shenzhen') # 阿里云账户accessID、Key 及安全组所在地域
#创建AcsClient实例
clt = ali.client()
#添加安全组规则,由于优先级、协议和安全组ID已经设置默认参数,所以只需要在运行脚本时输入端口范围和源ip两个参数
add = ali.authorizeSecurityGroupRequest(sys.argv[1],sys.argv[2]) #传值 可根据实际需求自己添加传几个值
#打印输出
res = clt.do_action(add)
print (res)
通过此脚本可实现自动添加阿里云安全组白名单 需注意这里需要传值 有些地方可根据实际需求修改
RegionId 地域ID链接文档 https://help.aliyun.com/document_detail/40654.html?spm=a2c6h.13066369.0.0.54a12505dr9wfT
自动添加服务器IP从json文件中获取
通过python脚本定时执行 扫描固定文件夹下新文件并拷贝至一文件夹下,有新文件存在就执行固定shell脚本实现自动化添加
这里附轮训固定文件夹下文件并拷贝的脚本
脚本连接
更多推荐
已为社区贡献2条内容
所有评论(0)