AWS Client VPNをOneLoginのSAML認証で設定してみた
こんにちは。
繁松です。
はじめに
AWS Client VPNをOneLoginのSAML認証で設定してみました。
Client VPNの認証オプションは以下の選択肢があります。
- 相互認証
- ユーザーベース認証
- アクティブディレクトリ認証
- フェデレーション認証
今回はフェデレーション認証のSAMLプロバイダーにOneLoginを設定して、接続まで確認してみました。
やってみた
前提条件
- VPCは作成済みであること
- EC2は作成済みであること
- 接続確認用
- サーバー証明書作成用
- OneLoginのアカウントは作成済みであること
事前準備
AWSから提供されているAWS Client VPNクライアントを使用します
OneLogin側の設定
OneLoginにログインし、「Applications」→「Applications」を開き、「Add App」を選択します。
「AWS ClientVPN」と検索し選択します。
「Save」を選択します。
「More Actions」→「SAML Metadata」を選択しメタデータをダウンロードします。
「Access」→「Roles」でClientVPNを利用させたいロールを選択します。
AWS側の設定
IDプロバイダーの追加
「IAM」→「IDプロバイダー」→「プロバイダを追加」を選択します。
以下の内容に設定し、「プロバイダを追加」を選択します。
プロバイダのタイプ:SAML
プロバイダ名:任意
メタデータドキュメント:OneLoginでダウンロードしたメタデータ
サーバー証明書の作成
以下の手順でサーバー証明書を作成し、ACMにアップロードします。
今回はEC2で証明書の作成を行います。
OpenVPN easy-rsa リポジトリをクローンする必要があるので、EC2はパブリックサブネットに配置する必要があります。
Client VPNの作成
「VPC」→「クライアント VPN エンドポイント」→「クライアントVPNエンドポイントを作成」を選択します。
以下の内容を設定し、「クライアント VPN エンドポイントを作成」を選択します。
名前タグ:任意
クライアント IPv4 CIDR:割り当てるサブネットと被らない範囲で/22以上のものを指定
サーバー証明書ARN:ACMにアップロードしたサーバー用証明書
認証オプション:ユーザーベースの認証オプション
ユーザーベースの認証オプション:フェデレーション認証
SAMLプロバイダーのARN:追加したIDプロバイダー
作成したClient VPNから「ターゲットネットワークの関連付け」→「ターゲットネットワークの関連付ける」を開き、接続するVPCとサブネットを選択します。
サブネットは/27以上のCIDRが必要です。
「承認ルール」→「認証ルールを追加」を開き接続先のIPアドレスを設定します。
「クライアント設定をダウンロード」を選択し設定ファイルをダウンロードします。
Client VPNクライアントを開き、「ファイル」→「プロファイルを管理」→「プロファイルを追加」でダウンロードした設定ファイルをプロファイルに追加します。
追加したプロファイルを選択し接続します。
ブラウザが立ち上がりOneLoginの認証画面が開きます。
ログインすると、以下の画面が表示されます。
接続後にEC2にpingして疎通できることを確認しました。
以上、AWS Client VPNをOneLoginのSAML認証で設定してみました。
参考URL