由于公司业务需求 原本需手动添加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脚本实现自动化添加
这里附轮训固定文件夹下文件并拷贝的脚本
脚本连接

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐