2010access密钥(分享给大家一个简单的阿里云RDS添加

体育新闻 2022-11-29 13:17www.1689878.com最新体育新闻

在如今云盛行的年代。安全,显得尤为重要。对于创业公司来说,相较于笨重地机房建设,选择公有云,能减少很多地人力成本、机器成本。公有云也更有保障,更容易扩容。


在这里,小编给大家免费提供一个RDS添加白名单的Golang编写的脚本,虽然简单,却能增加安全性。

‬package securitygroup

import (

"github/aliyun/alibaba-cloud-sdk-go/services/rds"

"github/gin-gonic/gin"

)

type RDS struct {

AessKeyId string 阿里云账号的aesskey

AessSecret string 阿里云账号的aess secret密钥

DBInstanceId string RDS实例名

DBInstanceIPArrayName string RDS白名单组名

ModifyMode string 白名单分组处理模式。Append为增加白名单

}

func (r RDS) AddRDSwhitelist(c gin.Context) {

client, err := rds.NewClientWithAessKey("ap-southeast-3", r.AessKeyId, r.AessSecret)

request := rds.CreateModifySecurityIpsRequest()

request.Scheme = "https"

request.DBInstanceId = r.DBInstanceId

request.SecurityIps = c.ClientIP() 通过gin框架自带的clientIP()方法获取客户端IP,再加入白名单

request.DBInstanceIPArrayName = r.DBInstanceIPArrayName

request.WhitelistNetworkType = "MIX"

request.ModifyMode = r.ModifyMode

_, err = client.ModifySecurityIps(request)

if err != nil {

c.String(400,"RDS白名单添加失败,错误信息%s\n",err.Error())

return

}

c.String(200,"%s","RDS白名单添加成功")

return

}

上述部分,定义了一个添加白名单的方法,通过web的client方法可以很容易地获取客户端IP,然后添加到RDS白名单。

‬package main

import (

"github/gin-gonic/gin"

"rds-whitelist/myip"

"rds-whitelist/securitygroup"

)

//初始化ak,ak密钥

const (

AesskeyID = "xxxxxx"

AesskeySecret = "xxxxxx"

)

func main() {

//初始化基本参数

var rds = securitygroup.RDS{

AesskeyID,

AesskeySecret,

"xxxxxx",

"auto_add_whitelist",

"Append",

}

engine := gin.Default()

//处理增加RDS白名单

engine.Handle("GET","/add_rds_whitelist",rds.AddRDSwhitelist)

//运行

engine.Run("0.0.0.0:9090")

}

上面这段部分为程序的主体,利用gin框架启动了一个增加白名单的接口。访问这个接口,即可添加白名单。

执行结果


脚本逻辑简单,却能增加RDS数据库的安全性。只需要将数据库暴露给特定的IP,只允许特定IP访问,总比暴露给外网强吧。

上述内容,均为使用过的,个人想法实现。如有更好的方式地,更好地想法的,不妨评论交流,我会虚心地向大家请教学习,欢迎大家批评指正。

如有不清楚的,我们也可以互相交流。

Copyright © 2016-2025 www.1689878.com 体育知识网 版权所有 Power by

足球|篮球|NBA|奥运|网球|高尔夫|田径|游泳|排球|赛车|比赛|亚运会