AWS Client VPNをOneLoginのSAML認証で設定してみた

AWS Client VPNをOneLoginのSAML認証で設定してみた

Clock Icon2024.09.30

こんにちは。
繁松です。

はじめに

AWS Client VPNをOneLoginのSAML認証で設定してみました。
Client VPNの認証オプションは以下の選択肢があります。

  • 相互認証
  • ユーザーベース認証
    • アクティブディレクトリ認証
    • フェデレーション認証

今回はフェデレーション認証のSAMLプロバイダーにOneLoginを設定して、接続まで確認してみました。

やってみた

前提条件

  • VPCは作成済みであること
  • EC2は作成済みであること
    • 接続確認用
    • サーバー証明書作成用
  • OneLoginのアカウントは作成済みであること

事前準備

AWSから提供されているAWS Client VPNクライアントを使用します

OneLogin側の設定

OneLoginにログインし、「Applications」→「Applications」を開き、「Add App」を選択します。
2024-09-27_18h06_47

「AWS ClientVPN」と検索し選択します。
2024-09-27_18h08_36

「Save」を選択します。
2024-09-27_18h09_36

「More Actions」→「SAML Metadata」を選択しメタデータをダウンロードします。
2024-09-27_18h10_48

「Access」→「Roles」でClientVPNを利用させたいロールを選択します。
2024-09-27_18h15_53

AWS側の設定

IDプロバイダーの追加

「IAM」→「IDプロバイダー」→「プロバイダを追加」を選択します。
2024-09-27_18h18_54

以下の内容に設定し、「プロバイダを追加」を選択します。

プロバイダのタイプ:SAML
プロバイダ名:任意
メタデータドキュメント:OneLoginでダウンロードしたメタデータ

2024-09-27_18h23_24

サーバー証明書の作成

以下の手順でサーバー証明書を作成し、ACMにアップロードします。
今回はEC2で証明書の作成を行います。
https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-admin/client-auth-mutual-enable.html

https://dev.classmethod.jp/articles/manage-aws-client-vpn-client-certificates/

OpenVPN easy-rsa リポジトリをクローンする必要があるので、EC2はパブリックサブネットに配置する必要があります。

Client VPNの作成

「VPC」→「クライアント VPN エンドポイント」→「クライアントVPNエンドポイントを作成」を選択します。
2024-09-27_19h01_29

以下の内容を設定し、「クライアント VPN エンドポイントを作成」を選択します。

名前タグ:任意
クライアント IPv4 CIDR:割り当てるサブネットと被らない範囲で/22以上のものを指定
サーバー証明書ARN:ACMにアップロードしたサーバー用証明書
認証オプション:ユーザーベースの認証オプション
ユーザーベースの認証オプション:フェデレーション認証
SAMLプロバイダーのARN:追加したIDプロバイダー

2024-09-27_19h47_22

2024-09-27_19h47_43

作成したClient VPNから「ターゲットネットワークの関連付け」→「ターゲットネットワークの関連付ける」を開き、接続するVPCとサブネットを選択します。
サブネットは/27以上のCIDRが必要です。
2024-09-28_00h45_14

2024-09-28_00h52_36

「承認ルール」→「認証ルールを追加」を開き接続先のIPアドレスを設定します。
2024-09-28_01h22_30

「クライアント設定をダウンロード」を選択し設定ファイルをダウンロードします。
2024-09-28_01h22_42

Client VPNクライアントを開き、「ファイル」→「プロファイルを管理」→「プロファイルを追加」でダウンロードした設定ファイルをプロファイルに追加します。
2024-09-28_01h26_23

追加したプロファイルを選択し接続します。
2024-09-28_01h35_52

ブラウザが立ち上がりOneLoginの認証画面が開きます。
2024-09-28_01h36_14

ログインすると、以下の画面が表示されます。
2024-09-28_01h37_39_2

接続後にEC2にpingして疎通できることを確認しました。
2024-09-28_01h33_45

以上、AWS Client VPNをOneLoginのSAML認証で設定してみました。

参考URL

https://dev.classmethod.jp/articles/clientvpn_saml_okta/

https://onelogin.service-now.com/support?id=kb_article&sys_id=d3e1d611db1370101c167e77f49619ef&kb_category=2009a1b0db185340d5505eea4b96194e

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.