Skip to content

Instantly share code, notes, and snippets.

@conhumi
Created June 14, 2017 12:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save conhumi/723336de65fa8d2fa30eef966966a199 to your computer and use it in GitHub Desktop.
Save conhumi/723336de65fa8d2fa30eef966966a199 to your computer and use it in GitHub Desktop.
ニフクラのファイアウォールに実行環境のGlobalアドレスを設定する
# -*- coding: utf-8 -*-
import hashlib
import hmac
import base64
import requests
from datetime import datetime
ACCESS_KEY = u'12345678901234567890'
SECRET_KEY = u'1234567890abcdefghijklmnopqrstuvwxyzABCD'
region = 'east-1'
fw_group_name = 'hogehoge'
port = 22
src_ip = requests.get('https://httpbin.org/ip').json()['origin']
endpoint = 'https://' + region + '.cp.cloud.nifty.com/api/'
date = datetime.now().isoformat(timespec='milliseconds') + 'Z'
params = {
'Action':'AuthorizeSecurityGroupIngress',
'GroupName':fw_group_name,
'IpPermissions.1.IpProtocol':'TCP',
'IpPermissions.1.FromPort':port,
'IpPermissions.1.ToPort':port,
'IpPermissions.1.IpRanges.1.CidrIp':src_ip,
'IpPermissions.1.Description':'SetCurrentIpToFW.py',
'AccessKeyId':ACCESS_KEY,
'SignatureVersion':0,
'Timestamp':date
}
string_to_sign = params['Action'] + params['Timestamp']
params['Signature'] = base64.b64encode(
hmac.new(
SECRET_KEY.encode('utf-8'),
string_to_sign.encode('utf-8'),
hashlib.sha1
).digest()
)
resp = requests.get(url=endpoint, params=params)
print(resp.content)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment