初めに
この記事は以下の AWS ブログを参考にやってみたものです。
AWS SSO の環境構築
ここでやることは以下の 3 つです。
- SSO にアプリケーションを作成
- ユーザーグループを作成
- ユーザーを作成
「AWS SSO の有効化」をクリックします。
有効化されたことを確認した後、左のナビゲーションペインから「アプリケーション」をクリックします。
「新規アプリケーションの追加」をクリックします。
「カスタム SAML 2.0 アプリケーションの追加」をクリックします。
以下の「メタデータファイルがない場合は・・・」をクリックします。
「ダウンロード」をクリックし、メタデータファイルをダウンロードします。
アプリケーション ACS URL に「http://127.0.0.1:35001」、アプリケーション SAML 対象者に「urn:amazon:webservices:clientvpn」を入力します。その後「変更の保存」をクリックします。
作成したアプリケーションを選択し、「属性マッピング」タブをクリックします。以下のようにマッピングを設定します。
アプリケーションのユーザー属性 | マッピング | 形式 |
---|---|---|
Subject |
${user:email} |
emailAddress |
memberOf |
${user:groups} |
unspecified |
続いてグループを作成します。左のナビゲーションペインから「グループ」をクリックし、以下の「グループを作成」をクリックします。
グループ名に「VPN_Group」と入力します。その後「グループを作成」をクリックします。
続いてユーザーを作成します。左のナビゲーションペインから「ユーザー」をクリックし、以下の「ユーザーを作成」をクリックします。
ユーザー情報を入力します。E メールアドレスには招待メールが届くので、そのユーザーのメールアドレスを入力します。
一番下の「次へ」をクリックします。
先ほど作成したグループを選択し、「次へ」をクリックします。
確認画面で「ユーザーを追加」をクリックします。
しばらくすると招待メールが届きます。「Accept invitation」をクリックします。
ユーザーのパスワードを入力します。
これで有効なユーザーが作成されます。
最後にアプリケーションに作成したグループを割り当てます。アプリケーションを選択し、「割り当て済みユーザー」タブから「ユーザーの割り当て」をクリックします。
続いて「グループ」タブからグループを選択します。その後、「ユーザーの割り当て」をクリックします。
IAM ID プロバイダの作成
IAM のコンソール画面に行き、ナビゲーションペインから「ID プロバイダ」をクリックします。その後、以下の「プロバイダを追加」をクリックします。
プロバイダの種類は「SAML」を選択し、プロバイダ名には任意の名前(ここでは「AWS_SSO_for_Client_VPN」)を入力します。
メタデータドキュメントは以前ダウンロードしたメタデータファイルを選択します。その後「プロバイダを追加」をクリックします。
クライアント VPN エンドポイントの作成
VPC のコンソール画面に行き、ナビゲーションペインから「クライアント VPN エンドポイント」をクリックします。その後、「クライアント VPN エンドポイントの作成」をクリックします。
名前タグには任意の名前(ここでは「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 範囲を指定することが推奨される
続いてサーバ証明書 ARN を選択します。サーバ証明書の作成方法 については、以下のドキュメントを参考にします。
認証オプションは「ユーザーベースの認証を使用」を選択し、「統合認証」を選択します。SAML プロバイダー ARN 、セルフサービス SAML プロバイダー ARN には作成したID プロバイダを選択します。
接続ログ記録、クライアント接続ハンドラはいずれも「いいえ」を選択します。
その他のオプションでは「スプリットトンネルを有効化する」にチェックを入れます。VPC ID とセキュリティグループ ID には、クライアント VPN エンドポイントを作成する VPC とそのセキュリティグループの ID を選択します。その後、「クライアント VPN エンドポイントの作成」をクリックします。
続いて関連付けを行います。作成したクライアント VPN エンドポイントを選択し、「関連付け」タブから「関連付け」をクリックします。関連付ける VPC とサブネットを選択します。その後、「関連付け」をクリックします。
続いてどのユーザーがどの CIDR にアクセスできるかを設定するために、受信の承認を行います。「認証」タブから「受信の承認」をクリックします。
ここで AWS SSO のコンソール画面のナビゲーションペインから「グループ」を選択し、「VPN_Group」をクリックします。以下のようにグループ ID が表示されるのでコピーします。
アクセスを許可する CIDR を入力し、アクセスを付与する対象に「特定のアクセスグループのユーザーへのアクセスを許可する」を選択します。アクセスグループ ID に先ほどコピーした SSO のグループ ID を貼り付けます。その後、「認証ルールの追加」をクリックします。
続いて「クライアント設定のダウンロード」をクリックし、VPN 接続に使用する設定ファイルをダウンロードします。
VPN 接続のためのソフトである AWS VPN Client をインストールしていない場合は、以下のページから OS に適したインストーラをダウンロードします。
AWS VPN Client を起動し、「ファイル」をクリックします。
表示名にこの VPN 接続に用いるわかりやすい名前を入力し、VPN 設定ファイルに先ほどダウンロードした設定ファイルを選択します。その後、「プロファイルを追加」をクリックします。
以下の「接続」をクリックします。
自動でブラウザが開き、以下のように表示されていれば、AWS SSO に認証されています。
VPN 接続できているかを確かめるには、関連付けを行っている VPC のプライベート DNS サーバの IP アドレス(CIDR の最小値に プラス 2 した IP アドレス)に対して名前解決できるかを確認します。
- 成功時
- 失敗時
参考記事