文档章节

阿里云SDK的使用(安全组篇)

y
 yestreenstars
发布于 2017/07/12 09:41
字数 722
阅读 113
收藏 0

因工作需要,想通过脚本控制阿里云的安全组,通过阿里云官网了解到有两种方式可以实现,一是通过API的方式,二是通过SDK的方式,昨天尝试了一下API的方式,没有成功,网上也没查到相关资料,只好转战SDK,接下来说说SDK怎么使用。

首先你需要创建一个RAM子账号:打开阿里云管理控制台,在“产品与服务”中找到“访问控制”,第一次使用需要激活,接下来不用我说你也应该懂怎么做了,创建完用户后给他创建一个”Access Key“,然后根据你的需要给他授权。

安装SDK:我需要管理ECS,所以我只需安装ECS的SDK即可,直接通过pip命令安装:”pip install aliyun-python-sdk-ecs“,如果你不知道你想管理的模块对应的SDK,请查看官网公布的列表

下面是查看某个安全组的示例:

# -*- coding: utf8 -*-
from aliyunsdkcore.client import AcsClient
from aliyunsdkecs.request.v20140526 import DescribeSecurityGroupAttributeRequest

client = AcsClient(
    "AccessKeyId",  # 此处填写你刚才创建的RAM子账号的AccessKeyId
    "AccessKeySecret",  # 此处填写你刚才创建的RAM子账号的AccessKeySecret
    "区域"  # 此处填写你要管理的区域
)

request = DescribeSecurityGroupAttributeRequest.DescribeSecurityGroupAttributeRequest()
request.set_SecurityGroupId('安全组ID')

response = client.do_action_with_exception(request)
print response

注:如果不知道自己的服务器在哪个区域,可查看官网公布的信息

 

官网上关于SDK的资料好少,所以只能靠包名来猜测功能了,所有包都在”C:\Python27\Lib\site-packages\aliyunsdkecs\request\v20140526“中,一般Describe开头的都是查看功能,Modify开头的都是修改功能,也不难搞懂。

 

包名 功能
AuthorizeSecurityGroupRequest 添加安全组规则(入方向)
AuthorizeSecurityGroupEgressRequest 添加安全组规则(出方向)
CreateSecurityGroupRequest 创建安全组
DeleteSecurityGroupRequest 删除安全组
DescribeSecurityGroupAttributeRequest 查看某个安全组的明细
DescribeSecurityGroupsRequest 查看所有安全组
JoinSecurityGroupRequest 将实例加入安全组
LeaveSecurityGroupRequest 将实例移出安全组
ModifySecurityGroupAttributeRequest 修改安全组名和描述
RevokeSecurityGroupEgressRequest 删除安全组规则(出方向)
RevokeSecurityGroupRequest 删除安全组规则(入方向)

下面是一个添加安全组规则的示例(公共部分已省略,请参考第一个示例):

from aliyunsdkecs.request.v20140526 import AuthorizeSecurityGroupRequest

request = AuthorizeSecurityGroupRequest.AuthorizeSecurityGroupRequest()
request.set_SecurityGroupId('安全组ID')
request.set_IpProtocol('tcp')
request.set_PortRange('80/80')
request.set_SourceCidrIp('0.0.0.0/0')

创建安全组的示例:

from aliyunsdkecs.request.v20140526 import CreateSecurityGroupRequest

request = CreateSecurityGroupRequest.CreateSecurityGroupRequest()

删除安全组示例:

from aliyunsdkecs.request.v20140526 import DeleteSecurityGroupRequest

request = DeleteSecurityGroupRequest.DeleteSecurityGroupRequest()
request.set_SecurityGroupId('安全组ID')

将实例加入安全组:

from aliyunsdkecs.request.v20140526 import JoinSecurityGroupRequest

request = JoinSecurityGroupRequest.JoinSecurityGroupRequest()
request.set_SecurityGroupId('安全组ID')
request.set_InstanceId('实例ID')

将实例移出安全组:

from aliyunsdkecs.request.v20140526 import LeaveSecurityGroupRequest

request = LeaveSecurityGroupRequest.LeaveSecurityGroupRequest()
request.set_SecurityGroupId('安全组ID')
request.set_InstanceId('实例ID')

修改安全组名和描述:

from aliyunsdkecs.request.v20140526 import ModifySecurityGroupAttributeRequest

request = ModifySecurityGroupAttributeRequest.ModifySecurityGroupAttributeRequest()
request.set_SecurityGroupId('安全组ID')
request.set_SecurityGroupName('新安全组名')
request.set_Description('新描述')

删除安全组规则(入方向)示例:

from aliyunsdkecs.request.v20140526 import RevokeSecurityGroupRequest

request = RevokeSecurityGroupRequest.RevokeSecurityGroupRequest()
request.set_SecurityGroupId('安全组ID')
request.set_IpProtocol('tcp')
request.set_PortRange('80/80')
request.set_SourceCidrIp('0.0.0.0/0')

 

© 著作权归作者所有

y
粉丝 0
博文 38
码字总数 13326
作品 0
深圳
私信 提问
CoAP协议学习笔记 2.2 阿里云IoT平台接入 基础版CoAP协议接入测试

这篇笔记涉及 阿里云CoAP接入,CoAP协议学习笔记可点此查看。 1 前言 上篇笔记完成了云端产品功能定义,并生成了相应的设备证书。 这篇笔记将会跟着教程走,使用 Ubuntu 对 SDK 编译验证,先...

iotisan
2018/05/11
0
0
日志服务与SIEM(如Splunk)集成方案实战

背景信息 目标 本文主要介绍如何让阿里云日志服务与您的SIEM方案(如Splunk)对接, 以便确保阿里云上的所有法规、审计、与其他相关日志能够导入到您的安全运维中心(SOC)中。 名词解释 LOG(S...

成喆
01/02
0
0
阿里云众包 - ODPS PHP SDK【PHP】

[背景] ODPS 是阿里云的大数据平台,需要实现PHP SDK 关于赏金的分配方案: 赏金只会发放选择最合适的一个方案。如果组队的方案为最佳,为了保证组队的人在获取奖金方面的安全性,我们会通过...

阿里开源
2015/12/22
67
6
阿里云众包 - ODPS Ruby SDK【Ruby】

[背景] ODPS 是阿里云的大数据平台,需要实现Ruby SDK 关于赏金的分配方案: 赏金只会发放选择最合适的一个方案。如果组队的方案为最佳,为了保证组队的人在获取奖金方面的安全性,我们会通过...

阿里开源
2015/12/22
16
0
MSSQL · 最佳实践 · RDS SDK实现数据库迁移上阿里云RDS SQL Server

title: MSSQL · 最佳实践 · RDS SDK实现数据库迁移上阿里云RDS SQL Server author: 风移 摘要 至今,我们完成了SQL Server备份还原专题系列七篇月报分享:三种常见的数据库备份、备份策略的...

风移
2018/07/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
6
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部