
さて、今回、読者の皆様にご紹介したいのはOneLoginとAWS Client VPNがSAML連携できるというお話です。昨今のリモートワークが進む中、社員による自宅やカフェ、コワーキングスペースなどの管理者の監督下にいない外部のネットワークからクラウドを利用する機会が増えていますよね。従来からあるVPN網は拠点ネットワークへの入り口なので、多くの企業では大多数の従業員による同時アクセスを収容する設備までは持ち合わせていない場合がほとんどだと思います。
そこで昨今ではAmazonの提供するAWS Client VPNを利用したマネージド型・スケーラブルなVPNを構築するケースが増えてます。元々AWS Client VPNでは証明書を用いた相互認証やActive Directory連携を前提とするAD認証の2つを利用する必要がありましたが、ペンティオでは、クライアント証明書の発行・配布・失効やAD設定すべてを不要とする、OneLoginによるSAML2.0シングルサインオン連携をご提案します。
今日はそんなOneLoginとAWS Client VPNの連携のお話です。
目次
必要なもの
- OneLoginのSuper UserまたはAccount Owner権限を持つアカウントを所有していること
- AWSのアカウントを所有していること
- VPN接続するVPC
- サーバ証明書のACMへの登録
- AWS 公式ドキュメントを参照してください docs.aws.amazon.com
- AWS IAM, VPC, Client VPN等の管理権限を所有していること
※詳しくはAWSでご確認ください
OneLoginの設定
OneLoginに管理者としてログインし、カタログからAWS Client VPNコネクタを追加します

このコネクターはOneLoginのポータルサイトからログインするものではないので、Visible in portalをInvisibleにします
これは結構おすすめ。
エンドユーザが誤ってログインを試みたりしないように、ポータル画面にはいらないものは非表示にしましょう!

More Actions > [SAML Metadata]をクリックし、SAML Metadataをダウンロードします

AccessタブでRoleを割り当てます
Accessタブ > Rolesで割り当てたいRoleを選択し、[SAVE]します

AWSでのIDプロバイダーの設定
OneLoginでの認証を行うためにAWSでOneLoginをIDプロバイダーとして登録します
AWSに管理者としてログインし、IAM > アクセス管理 > [プロバイダを追加]をクリックします

プロバイダの設定を下記のように設定します
- プロバイダのタイプ:SAML
- プロバイダ名:OneLogin(任意)
- メタデータドキュメント:OneLoginの設定でダウンロードしたメタデータファイル
各項目を設定したら、[プロバイダを追加]をクリックします

ID プロバイダーが追加されるとページが遷移し、ページ上部でロールの割り当てを求めるポップアップが表示されますが、割り当てをする必要はありませんので、そのまま閉じていただいて問題ありません。
以上で、IDプロバイダーの登録は完了です

Client VPNの設定
クライアントVPNエンドポイントを作成します
VPCダッシュボード > 仮想プライベートネットワーク(VPN) > クライアントVPNエンドポイント を開き、[クライアントVPNエンドポイントの作成]をクリックします

クライアントVPNエンドポイントの各項目を記入します
下記の表を参考に項目を記入し、[クライアントVPNエンドポイントの作成]をクリックします
*下記の表以外の項目の設定はデフォルトのままで問題ありません


クライアントVPNエンドポイントが作成されたことを確認します
次にVPN接続後にアクセスすることができるVPCを設定します
作成したクライアントVPNエンドポイントを選択し、関連付けタブ > [関連付け]をクリックします

VPN接続後にアクセスすることができるVPCとVPC内のサブネットを選択し、[関連付け]をクリックします

どのユーザーがどのネットワーク範囲にアクセスすることができるのかを制限するルールを設定します
*すべてのユーザーがすべてのネットワーク範囲にアクセスすることを許可する場合でも本設定は必須です
作成したクライアントVPNエンドポイントを選択し、認証タブ > [受信の承認]をクリックします

アクセスを有効にする送信先ネットには、接続先のVPCのCIDR を入力し、アクセスを付与する対象には すべてのユーザーにアクセスを許可する を選択し、[認証ルールの追加]をクリックします

クライアントVPNエンドポイントの状態が 使用可能 に変わったことを確認できましたら、クライアントVPNエンドポイントの設定は完了です

設定したクライアントVPNエンドポイントを選択し、[クライアント設定のダウンロード]をクリックします

クライアント設定のダウンロードというポップアップ内の[ダウンロード]をクリックします
以上でAWS側の設定は完了です

AWS ClientVPN 接続テスト
AWS Client VPN downloadからAWS VPN Client アプリをダウンロードします
AWS VPN Client アプリを起動し、ファイル > [プロファイルを管理]をクリックします

表示された プロファイルを管理 というポップアップ内の[プロファイルを追加]をクリックします

表示名を記入し、Client VPNの設定でダウンロードしたファイルを選択します

プロファイルが追加されたことを確認し、[完了]をクリックします

[接続]をクリックします

自動的にブラウザが立ち上がり、OneLoginのログイン画面が表示されますのでユーザー名を記入し[続行する]をクリックします

パスワードを入力し、[続行する]をクリックします

MFAを設定している場合はMFA認証が求められます

認証が通ると[受信した認証の詳細、処理の詳細。このウィンドウをいつでも閉じることができます。]が表示されるとブラウザ側の処理は完了です

[接続済み。]と表示されるとVPN接続は完了です。
