LoginSignup
2
2

More than 3 years have passed since last update.

【AWS】AWS Client VPN メモ ~OktaでSAML認証+セルフサービスポータル機能使ってみる~

Last updated at Posted at 2021-02-01

前回、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) など、自組織を特定できないメールアドレスでは初期登録 (管理者登録) 出来ません。
image.png

  • 登録を行ったメールアドレスに、登録確認のメールが来ます。
    記載されたログイン用のURLと仮のパスワードで、ログインします。

image.png

  • 本パスワードの設定と秘密のパスワードとユーザの画像を設定します。

  • (2021/02/01現在)、初期登録 (管理者登録) の際は MFAが 必須です。
    画面指示に沿って、 Okta の MFA 用ツール をダウンロードしてセットアップしてください。

2.Okta アプリ登録

  • アプリとして「AWS Client VPN」を登録します。
  • [Application]→ [Add Application]を選択します。検索欄に「AWS」と入力して、「AWS Client VPN」を選択します。
    image.png
    image.png

  • 特に設定変更せずに、そのまま追加します。
    image.png
    image.png

3.Okta グループ登録

  • グループの追加をします。今回は「dev」というグループを作成しました。 image.png

4.Okta エンドユーザー登録

  • エンドユーザを作成します。[Directory] → [People] → [Add Person]で登録できます。
    グループを指定することができるので先に作成したグループ「dev」を指定してます。
  • エンドユーザに関しては、Gmail などのメールアドレスでも登録可能です。 image.png image.png

5.Okta アプリアサイン

  • 「AWS Client VPN」を、先ほど作成したエンドユーザにアサインします。
    [Applications] → [AWS Client VPN] → [Assignments]でアサイン可能です。

image.png
image.png

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 の IdP 登録で使用するため、メタデータの XMLファイルをダウンロードしておきます。
    下図赤枠部分を右クリックして、「名前を付けてリンク先を保存」で保存できます。 image.png

AWSでの作業

1.AWS IdP登録

  • IAM から登録します。
    [IAM] →[ID プロバイダー] → [プロバイダの作成]で作成します。
    メタデータドキュメントでは、先ほどダウンロードしたメタデータを指定します。 image.png

2.AWS Client VPN Endpoint 作成

  • Client VPN Endpointについて、以下のように設定します。
    • 「名前タグ」 任意
    • 「クライアント IPv4 CIDR」 任意 クライアントに割り当てられるIPアドレスです。
      割り当てるサブネットと被らない範囲で/22以上のものを指定してください。
    • 「サーバー証明書 ARN」 ACMにアップロードしているサーバ用の証明書を指定
    • 「認証オプション」 ユーザーベースの認証を使用、統合認証を選択
    • 「SAML プロバイダー ARN」 IDプロバイダーで設定したものを指定

他の項目はデフォルトで作成します。
image.png

3.AWS Client VPN Endpoint 設定

  • エンドポイント作成後、「関連付け」で接続するサブネットを追加します。
  • 「認証」で、接続先サブネットや接続許可 CIDR を指定します。
  • Oktaで作成したdevグループを指定します。これで宛先「10.0.0.0/16」は「devグループに所属しているユーザーのみ」が接続できるようになります。
    ※詳しい手順に関しては、前回の手順を参照してください。 image.png

4.接続確認

  • ClientVPNクライアントを起動して、ダウンロードしたクライアント設定ファイルを読み込ませます。
  • 接続をすると、ブラウザでOktaの認証画面が開かれます。devグループに所属しているユーザーでログインします。
    image.png

  • 以下の「受信した~」のメッセージが表示されれば接続OKです。
    image.png

セルフサービスポータル機能

1.セルフサービスポータル機能とは

  • AWS Client VPN をエンドユーザーが使用する際には、以下2つをクライアントデバイスにダウンロードする必要があります。
    • VPN クライアント
    • クライアント VPN 設定ファイル
  • 前者のクライアントは任意の場所からダウンロードできますが、後者の設定ファイルはマネジメントコンソールからダウンロードする必要があります。
  • セルフサービスポータル機能により、各エンドユーザーが専用ポータルから設定ファイルをダウンロードできるようになりました。管理者はセルフサービスポータル機能を有効化し、その URL を連携するだけで済みます。

AWS Client VPN が VPN プロファイルとデスクトップアプリケーションをダウンロードするためのセルフサービスポータルを発表

2.セルフサービスポータル機能の有効化

  • セルフサービスポータル機能の有効化は、エンドポイントの新規作成時だけでなく、既存のエンドポイントを設定変更することでも指定できます。
  • [VPC] → [クライアントVPNエンドポイント] → [アクション] → [クライアントエンドポイントの変更]を選択して、変更画面に移ります。
    image.png

  • セルフサービスポータルに関するパラメータを有効化します。
    image.png

  • これで Client VPN 用のセルフサービスポータルの URL が生成されました。管理者の方は、このURLをエンドユーザーに連携することになります。
    image.png

3.セルフサービスポータルへのログイン

  • 1で払いだされたセルフサービスポータルのURLへアクセすると、ポータルにログインできます。
    ここから設定ファイルおよび VPN クライアントがダウンロードできます。 image.png

参考にさせていただいた記事:

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2