ClientVPN의 접근 포인트에 대한 제어는 aws에서 친절하게 제공하지 않아서 접근 지점의 Source IP를 lambda를 통해 관리하는 방법을 안내합니다.
import ipaddress
def is_public_source_ip_valid(public_ip):
## 접근 허용할 ip 입력
ips = ['72.21.0.0', '220.70.6.93'];
if public_ip in ips:
return True
return False
def lambda_handler(event, context):
public_ip = event['public-ip']
allow = False
error_msg = "Your IP is not allowed to establish a connection. Please contact your administrator!!"
if is_public_source_ip_valid(public_ip):
allow = True
return {
"allow": allow,
"error-msg-on-failed-posture-compliance": error_msg,
"posture-compliance-statuses": [],
"schema-version": "v1"
}
접근할 대상이 ip 대역인 경우에는 1)기존 코드 부분을 2)변경 코드로 변경해서 사용이 가능합니다.
1) 기존 코드
if public_ip in ips:
2) 변경 코드
if ipaddress.ip_address(public_ip) in ipaddress.ip_network('123.12.0.0/16'):
client vpn 접근 포인트에 대해 간편하게 제어하는 것이 가능해졌습니다.
자세한 사항은 공식 가이드에서 확인이 가능합니다.