AWS Client VPN
管理者ガイド

クライアント認証と認可

クライアント VPN には認証および認可機能が用意されています。

目次

認証

認証は AWS クラウドへの最初のエントリポイントで実装されます。クライアントが クライアント VPN エンドポイントへの接続を許可されているかどうかを判断するために使用されます。認証が成功すると、クライアントは クライアント VPN エンドポイントに接続して VPN セッションを確立します。認証が失敗すると、接続は拒否され、クライアントは VPN セッションを確立できなくなります。

クライアント VPN は、Active Directory 認証と相互認証の 2 種類のクライアント認証を提供します。一方または両方の認証方法を使用することを選択できます。

クライアント VPN は AWS Directory Service と統合することによって Active Directory サポートを提供します。Active Directory 認証では、クライアントは既存の Active Directory グループに対して認証されます。AWS Directory Service を使用して、クライアント VPN は AWS またはオンプレミスネットワークでプロビジョニングされた既存の Active Directory に接続できます。これにより、既存のクライアント認証インフラストラクチャを使用することができます。オンプレミスの Active Directory を使用している場合は、Active Directory Connector を設定する必要があります。Active Directory 統合の詳細については、AWS Directory Service Administration Guide を参照してください。

相互認証

相互認証では、クライアント VPN は証明書を使用してクライアントとサーバー間の認証を実行します。証明書は、認証機関 (CA) によって発行されたデジタル形式の ID です。クライアントが クライアント VPN エンドポイントに接続を試みると、サーバーはクライアント証明書を使用してクライアントを認証します。サーバーとクライアント証明書は AWS Certificate Manager (ACM) でプロビジョニングする必要があります。ACM で証明書をプロビジョニングする方法の詳細については、「AWS Certificate Manager ユーザーガイド」を参照してください。

クライアント証明書の認証機関 (発行者) がサーバー証明書の認証機関 (発行者) と異なる場合にのみ、クライアント証明書を ACM にアップロードする必要があります。

次の手順では、OpenVPN easy-rsa を使用してサーバーとクライアントの証明書とキーを生成してから、そのサーバーの証明書とキーを ACM にアップロードします。詳細については、「Easy-RSA 3 Quickstart README」を参照してください。

サーバーとクライアントの証明書とキーを生成し、それらを ACM にアップロードします。

  1. ローカルコンピュータに OpenVPN Easy-RSA レポジトリのクローンを作成します。

    $ git clone https://github.com/OpenVPN/easy-rsa.git
  2. ローカルリポジトリの easy-rsa/easyrsa3 フォルダに移動します。

    $ cd easy-rsa/easyrsa3
  3. 新しい PKI 環境を初期化します。

    $ ./easyrsa init-pki
  4. 新しい認証機関 (CA) を構築します。

    $ ./easyrsa build-ca nopass

    画面の指示に従って、CA を構築します。

  5. サーバー証明書とキーを生成します。

    $ ./easyrsa build-server-full server nopass
  6. クライアント証明書とキーを生成します。

    クライアント証明書とクライアントプライベートキーは、クライアントを設定するときに必要になるため、必ず保存してください。

    $ ./easyrsa build-client-full client1.domain.tld nopass
  7. サーバー証明書とキー、およびクライアント証明書とキーをカスタムフォルダにコピーしてから、カスタムフォルダに移動します。

    $ cp pki/ca.crt /custom_folder/ $ cp pki/issued/server.crt /custom_folder/ $ cp pki/private/server.key /custom_folder/ $ cp pki/issued/client1.domain.tld.crt /custom_folder $ cp pki/private/client1.domain.tld.key /custom_folder/ $ cd /custom_folder/
  8. サーバー証明書とキーを ACM にアップロードします。

    $ aws acm import-certificate --certificate file://server.crt --private-key file://server.key --certificate-chain file://ca.crt --region region

    注記

    クライアント VPN エンドポイントを作成する予定のリージョンと同じリージョンに証明書とキーを必ずアップロードしてください。

  9. クライアント証明書とキーを ACM にアップロードします。

    $ aws acm import-certificate --certificate file://client1.domain.tld.crt --private-key file://client1.domain.tld.key --certificate-chain file://ca.crt --region region

    注記

    クライアント VPN エンドポイントを作成する予定のリージョンと同じリージョンに証明書とキーを必ずアップロードしてください。

認可

クライアント VPN では 2 種類の認証がサポートされています。セキュリティグループとネットワークベースの認証 (認証ルールを使用) です。

セキュリティグループ

クライアント VPN は自動的にセキュリティグループと統合されます。サブネットを クライアント VPN エンドポイントに関連付けると、VPC のデフォルトセキュリティグループが自動的に適用されます。最初のターゲットネットワークを関連付けると、セキュリティグループを変更できます。クライアント VPN ユーザーアクセスを有効にするには、VPC 内でアプリケーションからのトラフィックを許可するルールを追加することで、セキュリティグループに適用された関連付けを選択します。逆に、関連付けに適用されたセキュリティグループを指定しないことで、クライアント VPN ユーザーのアクセスを制限できます。詳細については、「ターゲットネットワークにセキュリティグループを適用する」を参照してください。

ネットワークベースの承認

ネットワークベースの承認は承認ルールを使用して実装されます。アクセスを有効にするネットワークごとに、アクセス権を持つユーザーを制限する承認ルールを設定する必要があります。特定のネットワークでは、アクセスを許可する Active Directory グループを設定します。指定された Active Directory グループに属するユーザーのみが、指定されたネットワークにアクセスできます。Active Directory を使用していない場合、またはすべてのユーザーにアクセスを許可したい場合は、すべてのクライアントにアクセスを許可するルールを指定できます。詳細については、「承認ルール」を参照してください。

このページの内容: