LoginSignup
0

More than 1 year has passed since last update.

AWS SSO を Client VPN の認証に使う

Posted at

初めに

この記事は以下の AWS ブログを参考にやってみたものです。

AWS SSO の環境構築

ここでやることは以下の 3 つです。

  • SSO にアプリケーションを作成
  • ユーザーグループを作成
  • ユーザーを作成

「AWS SSO の有効化」をクリックします。

1.png

有効化されたことを確認した後、左のナビゲーションペインから「アプリケーション」をクリックします。

2.png

「新規アプリケーションの追加」をクリックします。

4.png

「カスタム SAML 2.0 アプリケーションの追加」をクリックします。

5.png

以下の「メタデータファイルがない場合は・・・」をクリックします。

6.png

「ダウンロード」をクリックし、メタデータファイルをダウンロードします。

7.png

アプリケーション ACS URL に「http://127.0.0.1:35001」、アプリケーション SAML 対象者に「urn:amazon:webservices:clientvpn」を入力します。その後「変更の保存」をクリックします。

8.png

作成したアプリケーションを選択し、「属性マッピング」タブをクリックします。以下のようにマッピングを設定します。

アプリケーションのユーザー属性 マッピング 形式
Subject ${user:email} emailAddress
memberOf ${user:groups} unspecified

9.png

続いてグループを作成します。左のナビゲーションペインから「グループ」をクリックし、以下の「グループを作成」をクリックします。

10.png

グループ名に「VPN_Group」と入力します。その後「グループを作成」をクリックします。

11.png

続いてユーザーを作成します。左のナビゲーションペインから「ユーザー」をクリックし、以下の「ユーザーを作成」をクリックします。

12.png

ユーザー情報を入力します。E メールアドレスには招待メールが届くので、そのユーザーのメールアドレスを入力します。

13.png

一番下の「次へ」をクリックします。

14.png

先ほど作成したグループを選択し、「次へ」をクリックします。

15.png

確認画面で「ユーザーを追加」をクリックします。

16.png

しばらくすると招待メールが届きます。「Accept invitation」をクリックします。

17.png

ユーザーのパスワードを入力します。

18.png

これで有効なユーザーが作成されます。

最後にアプリケーションに作成したグループを割り当てます。アプリケーションを選択し、「割り当て済みユーザー」タブから「ユーザーの割り当て」をクリックします。

36.png

続いて「グループ」タブからグループを選択します。その後、「ユーザーの割り当て」をクリックします。

37.png

IAM ID プロバイダの作成

IAM のコンソール画面に行き、ナビゲーションペインから「ID プロバイダ」をクリックします。その後、以下の「プロバイダを追加」をクリックします。

19.png

プロバイダの種類は「SAML」を選択し、プロバイダ名には任意の名前(ここでは「AWS_SSO_for_Client_VPN」)を入力します。

メタデータドキュメントは以前ダウンロードしたメタデータファイルを選択します。その後「プロバイダを追加」をクリックします。

20.png

クライアント VPN エンドポイントの作成

VPC のコンソール画面に行き、ナビゲーションペインから「クライアント VPN エンドポイント」をクリックします。その後、「クライアント VPN エンドポイントの作成」をクリックします。

21.png

名前タグには任意の名前(ここでは「AWS Client VPN」)を入力します。クライアント IPv4 CIDR (VPN 接続時のクライアントに割り当てられる IP アドレス)には「192.168.0.0/22」を入力します。クライアント IPv4 CIDR を入力するときは以下の考慮事項があります。

  • 範囲は /12 ~ /22
  • 関連付けを行うサブネットの VPC の CIDR と重複不可
  • クライアント VPN エンドポイントのルートテーブルのルート送信先の CIDR と重複不可
  • クライアント VPN エンドポイント作成後に変更不可
  • 一般に、クライアント VPN エンドポイントでサポートする予定の IP アドレスの 2 倍の数を含むクライアント CIDR 範囲を指定することが推奨される

22.png

続いてサーバ証明書 ARN を選択します。サーバ証明書の作成方法 については、以下のドキュメントを参考にします。

認証オプションは「ユーザーベースの認証を使用」を選択し、「統合認証」を選択します。SAML プロバイダー ARN 、セルフサービス SAML プロバイダー ARN には作成したID プロバイダを選択します。

23.png

接続ログ記録、クライアント接続ハンドラはいずれも「いいえ」を選択します。

24.png

その他のオプションでは「スプリットトンネルを有効化する」にチェックを入れます。VPC ID とセキュリティグループ ID には、クライアント VPN エンドポイントを作成する VPC とそのセキュリティグループの ID を選択します。その後、「クライアント VPN エンドポイントの作成」をクリックします。

25.png

続いて関連付けを行います。作成したクライアント VPN エンドポイントを選択し、「関連付け」タブから「関連付け」をクリックします。関連付ける VPC とサブネットを選択します。その後、「関連付け」をクリックします。

26.png

続いてどのユーザーがどの CIDR にアクセスできるかを設定するために、受信の承認を行います。「認証」タブから「受信の承認」をクリックします。

28.png

ここで AWS SSO のコンソール画面のナビゲーションペインから「グループ」を選択し、「VPN_Group」をクリックします。以下のようにグループ ID が表示されるのでコピーします。

29.png

アクセスを許可する CIDR を入力し、アクセスを付与する対象に「特定のアクセスグループのユーザーへのアクセスを許可する」を選択します。アクセスグループ ID に先ほどコピーした SSO のグループ ID を貼り付けます。その後、「認証ルールの追加」をクリックします。

30.png

続いて「クライアント設定のダウンロード」をクリックし、VPN 接続に使用する設定ファイルをダウンロードします。

31.png

VPN 接続のためのソフトである AWS VPN Client をインストールしていない場合は、以下のページから OS に適したインストーラをダウンロードします。

AWS VPN Client を起動し、「ファイル」をクリックします。

33.png

表示名にこの VPN 接続に用いるわかりやすい名前を入力し、VPN 設定ファイルに先ほどダウンロードした設定ファイルを選択します。その後、「プロファイルを追加」をクリックします。

33.png

以下の「接続」をクリックします。

35.png

自動でブラウザが開き、以下のように表示されていれば、AWS SSO に認証されています。

38.png

VPN 接続できているかを確かめるには、関連付けを行っている VPC のプライベート DNS サーバの IP アドレス(CIDR の最小値に プラス 2 した IP アドレス)に対して名前解決できるかを確認します。

  • 成功時

39.png

  • 失敗時

40.png

参考記事

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
0