python调用aws接口添加安全组策略
介绍:
1.aws安全组策略:协议、端口、流入流量、流出流量
2.aws 控制python库: boto3,需先安装。
3.脚本作用:获取本地外网IP-----》添加到指定安全组
代码:
#!/usr/bin/env python
#coding:utf-8import re
import urllib2
import datetime
import boto3
from botocore.exceptions import ClientErrordef get_ip():# 获取外网IPurl = 'https://www.ipip.net/'html = urllib2.urlopen(url).read()ips = re.findall('\d+\.\d+\.\d+\.\d+',html)ips = list(set(ips))ip = ''for item in ips:if item != '8.8.8.8':ip = itembreakreturn ipd_port = 11230 # 目标端口
group_id = 'sg-xxxxxxx' # 要操作的安全组id
client = boto3.client('ec2',region_name='ap-south-1', # 安全组所属区域aws_access_key_id='xxxxxxxxxxx', #IAM账号idaws_secret_access_key='xxxxxxxxxxx') #IAM账号keynow = datetime.datetime.now().strftime('%m-%d_%H:%M:%S')my_ip = get_ip()
if my_ip is not None:my_ip = my_ip + "/32"
# print my_ipr_ip = []
res = client.describe_security_groups(GroupIds=[group_id])
for item in res['SecurityGroups'][0]['IpPermissions']:if item['FromPort'] == d_port:for iprange in item['IpRanges']:r_ip.append(iprange['CidrIp'])
# print r_ipif my_ip not in r_ip:try:data = client.authorize_security_group_ingress(GroupId = group_id,IpPermissions=[{'IpProtocol': 'tcp','FromPort':d_port,'ToPort':d_port,'IpRanges':[{'CidrIp':my_ip,'Description':now}]}])print "Add %s successful..."%my_ipexcept ClientError as e:print e
转载于:https://blog.51cto.com/11424123/2056862
python调用aws接口添加安全组策略相关推荐
- pythondockerapi_docker-py 用Python调用Docker接口的方法
众所周知,Docker向外界提供了一个API来管理其中的资源.这个API可以是socket文件形式的(一般也是默认的,在/var/run/docker.sock中),也可以是TCP形式的.以前想要通过 ...
- c调python_应该是史上最全的python调用C接口
在这段时间里,我需要使用python调用C接口.我在网上搜索了很多,再加上python的官方文件,并组织备份1.从ctypes加载dll导入* dll = () # func1dll = CDLL ( ...
- python调用webservice接口实例_python调用各种接口,webservice,c接口,com接口,socket协议方法...
python调用webservice接口(SOAP) (2)调用示例: 需要先安装suds库:pip install suds from suds.client import Client #如果需要 ...
- python调用第三方接口获取数据_python调用接口,python接收post请求接口(附完整代码)...
与Scala语言相比,Python有其独特的优势和广泛的应用,python调用接口,因此Spark也推出了PySpark,它在框架上提供了一个使用Python语言的接口,python接收post请求接 ...
- python rpc_对python调用RPC接口的实例详解
要调用RPC接口,python提供了一个框架grpc,这是google开源的 rpc相关文档: 需要安装的python包如下: 1.grpc安装 pip install grpcio 2.grpc的p ...
- Python 调用WebService接口出错-suds.transport.TransportError: HTTP Error 401: Unauthori
使用Python调用WebService接口出现"suds.transport.TransportError: HTTP Error 401: Unauthorized"错误. 问 ...
- 实现python 调用 C++ 接口的 easypr
实现python 调用 C++ 接口的 easypr 本文实现了用python 调用 C++ 的easypr ,实现车牌的识别. CMakelist.txt 以及调用方法将会附上 CMakelist. ...
- python调用百度接口实现ocr识别_Python调用百度OCR实现图片文字识别的示例代码
百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...
- 如何利用python调用API接口获取数据进行测试
一.Python 可以使用 requests 库来调用 API 接口获取数据.以下是基本的步骤: 1.安装 requests 库 pip install requests 2.导入 requests ...
最新文章
- how you can do to make girls more close to you?
- .net core独立发布文件过多的问题
- android mysql 图片_android sqlite添加图片到数据库
- sql:数据定义语言ddl
- 再有人问你volatile是什么,把这篇文章也发给他。
- Java-虚拟机-启动参数及调优
- java手机解锁密码_Appium 解决手势密码 (java篇)
- 同济版《工程数学:线性代数》60条笔记全整理
- java代理模式的应用场景
- 利用IPV6实现宿舍远程连接实验室并免费上网
- 免费服务器领取步骤(详细)
- MIT人工智能实验室:如何做研究
- 优先队列三大利器——二项堆、斐波那契堆、Pairing 堆
- 改变思维(深度学习)
- 世界杯要来了,AI预测冠军哪家强?
- 音视频入门系列-音频篇(AAC)
- 关于Sunday算法以及实现
- 如何关闭电脑自动更新?
- 雨 霖 铃 【鉴赏】
- 注意:近期QQ陌生人经常发送QQ文件名为“果冻.r22”等文件!大家千万别接收或打开!