前回、AWS Client VPNでの環境構築したのですが、
認証方法として「SAMLによるユーザーフェデレーション認証」に対応しているのを把握しておりませんでした。
(2020/05のアップデートなのに、、)
ということで今回は、AWS Client VPN が公式対応している IDaaS (Identity as a Service) 「Okta」を使って、SAMLによるユーザーフェデレーション認証を試してみます。
また、せっかくユーザー認証を行うので、
実際の運用時に管理者的にメリットがありそうな、「セルフサービスポータル機能」についてもあわせて試してみます。
OktaでSAML認証
Oktaでの作業
1.Okta 初期登録
- Oktaには、30 日間の無料トライアルがあるのでそれを利用します。
https://www.okta.com/free-trial/ - ユーザー登録を行います。
※注意:Gmail (gmail.com) など、自組織を特定できないメールアドレスでは初期登録 (管理者登録) 出来ません。
- 登録を行ったメールアドレスに、登録確認のメールが来ます。
記載されたログイン用のURLと仮のパスワードで、ログインします。
- 本パスワードの設定と秘密のパスワードとユーザの画像を設定します。


2.Okta アプリ登録
-
アプリとして「AWS Client VPN」を登録します。
-
[Application]→ [Add Application]を選択します。検索欄に「AWS」と入力して、「AWS Client VPN」を選択します。
3.Okta グループ登録
4.Okta エンドユーザー登録
- エンドユーザを作成します。[Directory] → [People] → [Add Person]で登録できます。
グループを指定することができるので先に作成したグループ「dev」を指定してます。 - エンドユーザに関しては、Gmail などのメールアドレスでも登録可能です。
5.Okta アプリアサイン
- 「AWS Client VPN」を、先ほど作成したエンドユーザにアサインします。
[Applications] → [AWS Client VPN] → [Assignments]でアサイン可能です。
6.Okta SAML設定
- AWS Client VPN 用の SAML 設定を行います。
「Applications」 → 「AWS Client VPN」 → 「SSO」を選択して、「Edit」ボタンを押します。 - 設定画面に移行するので、下記を設定します。
memberOf を「Matches .*」で設定する。
※同様の設定について、参考にさせていただいたページで、ADVANCED SIGN-ON SETTINGSのポートを「35001」に設定する必要があると記載があったのですが、2021/02/01現在、Port番号を設定する箇所がなくなっておりました。
明示的にポート番号を設定する必要なくなったようです。(特に設定しなくても、ちゃんと認証出来ました。)
AWSでの作業
1.AWS IdP登録
2.AWS Client VPN Endpoint 作成
- Client VPN Endpointについて、以下のように設定します。
- 「名前タグ」 任意
- 「クライアント IPv4 CIDR」 任意 クライアントに割り当てられるIPアドレスです。
割り当てるサブネットと被らない範囲で/22以上のものを指定してください。 - 「サーバー証明書 ARN」 ACMにアップロードしているサーバ用の証明書を指定
- 「認証オプション」 ユーザーベースの認証を使用、統合認証を選択
- 「SAML プロバイダー ARN」 IDプロバイダーで設定したものを指定
3.AWS Client VPN Endpoint 設定
- エンドポイント作成後、「関連付け」で接続するサブネットを追加します。
- 「認証」で、接続先サブネットや接続許可 CIDR を指定します。
- Oktaで作成したdevグループを指定します。これで宛先「10.0.0.0/16」は「devグループに所属しているユーザーのみ」が接続できるようになります。
※詳しい手順に関しては、前回の手順を参照してください。
4.接続確認
-
ClientVPNクライアントを起動して、ダウンロードしたクライアント設定ファイルを読み込ませます。
セルフサービスポータル機能
1.セルフサービスポータル機能とは
- AWS Client VPN をエンドユーザーが使用する際には、以下2つをクライアントデバイスにダウンロードする必要があります。
- VPN クライアント
- クライアント VPN 設定ファイル
- 前者のクライアントは任意の場所からダウンロードできますが、後者の設定ファイルはマネジメントコンソールからダウンロードする必要があります。
- セルフサービスポータル機能により、各エンドユーザーが専用ポータルから設定ファイルをダウンロードできるようになりました。管理者はセルフサービスポータル機能を有効化し、その URL を連携するだけで済みます。
AWS Client VPN が VPN プロファイルとデスクトップアプリケーションをダウンロードするためのセルフサービスポータルを発表
2.セルフサービスポータル機能の有効化
-
セルフサービスポータル機能の有効化は、エンドポイントの新規作成時だけでなく、既存のエンドポイントを設定変更することでも指定できます。
-
[VPC] → [クライアントVPNエンドポイント] → [アクション] → [クライアントエンドポイントの変更]を選択して、変更画面に移ります。
-
これで Client VPN 用のセルフサービスポータルの URL が生成されました。管理者の方は、このURLをエンドユーザーに連携することになります。