AWS Client VPNのクライアント接続ハンドラを試してみました
2021/07/07
AWS Client VPNを設定しましたで証明書とかせっかく作ったので、いろいろ試してみます。
まずはLambdaで接続ハンドラーを設定して独自ロジックで承認できるというのをやってみました。
Lambda関数はあらかじめ作成しておきますが、”AWSClientVPN-“から始まる関数名にする必要がありました。
そして、作成後に気づいたのですが、Lambdaにリソースベースのポリシーもできませんでした。
LambdaのIAMロールにも特別何かのポリシーも設定していません。
ということはプル型ではないですし、リソースベースのポリシーがないということはプッシュ型でもないというか、何かにプッシュはされてるのかもだけど、”AWSClientVPN-“という名前を設定しているということが実行の許可をしているということにしているのか、なんだか気持ち悪いですが、もうそういうことでいいとします。
AWSクライアントVPNの設定で、クライアント接続ハンドラARNにLambdaのARNを指定しました。
今回のコードはPython3.8でこちらにしました。
|
1 2 3 4 5 6 7 8 9 10 11 |
def lambda_handler(event, context): print(event) return { "allow": True, "error-msg-on-failed-posture-compliance": "", "posture-compliance-statuses": [], "schema-version": "v1" } |
ユーザーガイド接続承認に記載のレスポンススキーマにあわせました。
リクエストeventはこちらでした。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ 'endpoint-id': 'cvpn-endpoint-0702364d39b4e5304', 'connection-id': 'cvpn-connection-0d03446a94bfa013d', 'common-name': 'client1.domain.tld', 'username': None, 'platform': 'mac', 'platform-version': None, 'public-ip': 'xxx.xxx.xxx.xxx', 'client-openvpn-version': '2.4.5', 'groups': [], 'schema-version': 'v2' } |
実際に使用するときには、このevent情報を判定に使って、”allow”: Trueを返すか、”allow”: Falseを返すかのロジックを実装するということですね。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
AWS Storage Gatewayボリュームゲートウェイを作成してWindowsから使用
ボリュームゲートウェイの作成 Storage Gateway作成メニューからボリ …
-
-
執筆環境(PyCharm, CodeCommit, CodePipeline, S3, Lambda, 署名付きURL)
2018年から、年に1回ぐらい商業本の執筆をさせていただいております。 2020 …
-
-
名前解決してセッションマネージャが使えるようにVyOSのhost_name.pyを編集しました
発生したエラー セッションマネージャからこんなエラーが出力されました。 [cra …
-
-
ヤマムギ vol.24 API GatewayでREST API作成と直接DynamoDB登録のデモをしました
2週間ぶりのヤマムギ勉強会デモなのでなんだか久しぶりな気がしました。 今日はポケ …
-
-
Amazon ECSサービスでAWS App Meshを使用
AWS App MeshユーザーガイドのAWS App Mesh とAmazon …
-
-
AWS Cost Explorerの履歴を38ヶ月とリソース別コストを見られるように設定しました
AWS Cost Explorer がより詳細な履歴データの提供を開始 知らなか …
-
-
slackのbotをAWS Lambda(Python)+API Gatewayで構築
slackで投稿した内容に応じて返信したり調べ物したりしてくれるbotですが、こ …
-
-
Pepperで撮影した写真をAmazon Rekognitionで分析してその結果をPepperがしゃべる ~(1)AWS編~
Pepperの機能を使えるところは使って、何かしたいなあと思ってまして。 目(カ …
-
-
ハンズオン目的アカウントに設定しているSCPポリシー
AWS Organizationsでハンズオン目的のアカウントに設定しているSC …
-
-
EC2インスタンスが到達不能になって復旧してMackerelで監視し始めた
きっとばりばり使っておられる方ならよくある事なんだろうけど、はじめて体験したので …


