クライアント承認
クライアント承認は AWS クラウドへの最初のエントリポイントで実装されます。クライアントがクライアント VPN エンドポイントへの接続を許可されているかどうかを判断するために使用されます。認証が成功すると、クライアントはクライアント VPN エンドポイントに接続して VPN セッションを確立します。認証が失敗すると、接続は拒否され、クライアントは VPN セッションを確立できなくなります。
クライアント VPN では、次のタイプのクライアント承認を使用できます。
-
Active Directory 認証 (ユーザーベース)
-
相互認証 (証明書ベース)
-
シングルサインオン (SAML ベースのフェデレーション認証) (ユーザーベース)
上記の方法のいずれかを単独で使用することも、次のようなユーザーベースの方法との相互認証を組み合わせて使用することもできます。
-
相互認証とフェデレーション認証
-
相互認証と Active Directory 認証
重要
クライアント VPN エンドポイントを作成するには、使用する認証のタイプに関係なく、AWS Certificate Manager でサーバー証明書のプロビジョニングを行う必要があります。サーバー証明書の作成とプロビジョニングの詳細については、「相互認証」の手順を参照してください。
Active Directory 認証
クライアント VPN は と統合することによって Active Directory サポートを提供しますAWS Directory Service Active Directory 認証では、クライアントは既存の Active Directory グループに対して認証されます。AWS Directory Service を使用して、クライアント VPN は AWS またはオンプレミスネットワークでプロビジョニングされた既存の Active Directory に接続できます。これにより、既存のクライアント承認インフラストラクチャを使用することができます。オンプレミスの Active Directory を使用していて、既存の AWS Managed Microsoft AD がない場合は、Active Directory Connector (AD Connector) を設定する必要があります。1 つの Active Directory サーバーを使用してユーザーを認証できます。Active Directory 統合の詳細については、AWS Directory Service 管理ガイドを参照してください。
クライアント VPN は、AWS Managed Microsoft AD または AD Connector で有効になっている場合、多要素認証 (MFA) をサポートします。MFA が有効になっている場合、クライアントはクライアント VPN エンドポイントに接続するときにユーザー名、パスワード、および MFA コードを入力する必要があります。MFA を有効にする詳細については、AWS Directory Service 管理ガイドの「AWS Managed Microsoft AD の多要素認証を有効にするには」および「AD Connector の多要素認証を有効にするには」を参照してください。
Active Directory でユーザーとグループを設定するためのクォータとルールについては、「ユーザーとグループのクォータ」を参照してください。
相互認証
相互認証では、クライアント VPN は証明書を使用してクライアントとサーバー間の認証を実行します。証明書とは、認証機関 (CA) によって発行された識別用デジタル形式です。クライアントがクライアント VPN エンドポイントに接続を試みると、サーバーはクライアント証明書を使用してクライアントを認証します。サーバー証明書とキー、および少なくとも 1 つのクライアント証明書とキーを作成する必要があります。
サーバー証明書は AWS Certificate Manager (ACM) にアップロードし、クライアント VPN エンドポイントの作成時に指定する必要があります。サーバー証明書を ACM にアップロードするときは、認証局 (CA) も指定します。クライアント証明書を ACM にアップロードする必要があるのは、クライアント証明書の CA がサーバー証明書の CA と異なる場合だけです。ACM の詳細については、AWS Certificate Manager ユーザーガイドを参照してください。
クライアント VPN エンドポイントに接続するクライアントごとに、個別のクライアント証明書とキーを作成できます。これにより、ユーザーが組織を離れた場合に、特定のクライアント証明書を取り消すことができます。この場合、クライアント VPN エンドポイントを作成するときに、クライアント証明書がサーバー証明書と同じ CA によって発行されていれば、クライアント証明書のサーバー証明書 ARN を指定できます。
注記
クライアント VPN エンドポイントは、1024 ビットおよび 2048 ビットの RSA キーサイズのみサポートしています。また、クライアント証明書の [Subject (件名)] フィールドに CN 属性が含まれている必要があります。
クライアント VPN エンドポイントで使用している証明書を、ACM の自動ローテーションまたは手動での新しい証明書のインポートにより更新すると、Client VPN サービスはクライアント VPN エンドポイントを新しい証明書で更新します。ただし、この自動プロセスは最長で 24 時間かかることがあります。
シングルサインオン (SAML 2.0 ベースのフェデレーション認証)
AWS Client VPN はクライアント VPN エンドポイントに対して、Security Assertion Markup Language 2.0 (SAML 2.0) を使用して ID フェデレーションをサポートしています。SAML 2.0 をサポートする ID プロバイダー (IdP) を使用して、一元化されたユーザー ID を作成できます。その後、SAML ベースのフェデレーション認証が使用されるようにクライアント VPN エンドポイントを設定し、IdP に関連付けることができます。その後、ユーザーは、一元化された認証情報を使用してクライアント VPN エンドポイントに接続します。
SAML ベースの IdP をクライアント VPN エンドポイントに使用するには、次の操作を行う必要があります。
-
AWS Client VPN と連携するには、選択した IdP で SAML ベースのアプリを作成するか、既存のアプリを使用します。
-
との信頼関係を確立するために IdP を設定しますAWS リソースについては、「SAML ベースの IdP 設定リソース」を参照してください。
-
IdP で、組織を IdP として定義するフェデレーションメタデータドキュメントを生成し、ダウンロードします。この署名付き XML ドキュメントは、AWS と IdP の間の信頼関係を確立するために使用されます。
-
クライアント VPN エンドポイントと同じ AWS アカウントに IAM SAML ID プロバイダーを作成します。IAM SAML ID プロバイダーは、IdP によって生成されたメタデータドキュメントを使用して、組織の IdP と AWS の信頼関係を定義します。詳細については、IAM ユーザーガイドの「SAML ID プロバイダーの作成」を参照してください。後で IdP のアプリ設定を更新する場合は、新しいメタデータドキュメントを生成し、IAM SAML ID プロバイダーを更新します。
注記
IAM SAML ID プロバイダーを使用するために IAM ロールを作成する必要はありません。
-
クライアント VPN エンドポイントを作成します。認証タイプとしてフェデレーション認証を指定し、作成した IAM SAML ID プロバイダーを指定します。詳細については、「」を参照してくださいクライアント VPN エンドポイントを作成する
-
クライアント設定ファイルをエクスポートし、ユーザーに配布します。AWS が提供するクライアントの最新バージョンをダウンロードし、これを使用して設定ファイルをロードして、クライアント VPN エンドポイントに接続するようにユーザーに指示します。または、クライアント VPN エンドポイントのセルフサービスポータルを有効にした場合は、セルフサービスポータルにアクセスして設定ファイルと AWS が提供するクライアントを取得するようにユーザーに指示します。詳細については、「」を参照してくださいセルフサービスポータルにアクセスする
認証ワークフロー
次の図に、SAML ベースのフェデレーション認証を使用するクライアント VPN エンドポイントの認証ワークフローの概要を示します。クライアント VPN エンドポイントを作成および設定するときは、IAM SAML ID プロバイダーを指定します。

ユーザーは AWS が提供するクライアントをデバイスで開き、クライアント VPN エンドポイントへの接続を開始します。
-
クライアント VPN エンドポイントは、IAM SAML ID プロバイダーで提供された情報に基づいて IdP URL と認証リクエストをクライアントに送信します。
-
AWS が提供するクライアントは、ユーザーのデバイスで新しいブラウザウィンドウを開きます。ブラウザは IdP にリクエストを送信し、ログインページを表示します。
-
ユーザーがログインページに認証情報を入力し、IdP は署名付き SAML アサーションをクライアントに返します。
-
AWS が提供するクライアントは、クライアント VPN エンドポイントに SAML アサーションを送信します。
-
クライアント VPN エンドポイントはアサーションを検証し、ユーザーへのアクセスを許可または拒否します。
SAML ベースのフェデレーション認証の要件と考慮事項
SAML ベースのフェデレーション認証の要件と考慮事項を次に示します。
-
SAML ベースの IdP でユーザーとグループを設定するためのクォータとルールについては、「ユーザーとグループのクォータ」を参照してください。
-
SAML アサーションと SAML ドキュメントには署名が必要です。
-
AWS Client VPN は、SAML アサーションの「AudienceRestriction」、「NotBefore」、および「NotOnOrAfter」条件のみをサポートします。
-
SAML 応答でサポートされる最大サイズは 128 KB です。
-
AWS Client VPN では署名付き認証リクエストが提供されません。
-
SAML シングルログアウトはサポートされていません。ユーザーは、AWS が提供するクライアントから切断してログアウトすることも、接続を終了することもできます。
-
1 つのクライアント VPN エンドポイントでサポートされるのは、単一の IdP のみです。
-
IdP で有効になっている場合は Multi-Factor Authentication (MFA) がサポートされます。
-
ユーザーは AWS が提供するクライアントを使用して、クライアント VPN エンドポイントに接続する必要があります。バージョン 1.2.0 以降を使用する必要があります。詳細については、「AWS が提供するクライアントを使用して接続する」「を参照してください。
-
IdP 認証は、Apple Safari、Google Chrome、Microsoft Edge、Mozilla Firefox の各ブラウザでサポートされています。
-
AWS が提供するクライアントは、SAML 応答用にユーザーのデバイス上の TCP ポート 35001 を予約します。
-
正しくない URL または悪意のある URL で IAM SAML ID プロバイダーのメタデータドキュメントが更新されると、ユーザーの認証の問題が発生したり、フィッシング攻撃につながる可能性があります。このため、IAM SAML ID プロバイダーに対して行われる更新は、AWS CloudTrail を使用してモニタリングすることをお勧めします。詳細については、IAM ユーザーガイドの「AWS CloudTrail を使用した IAM および AWS STS 呼び出しのログ記録」を参照してください。
-
AWS Client VPN は、HTTP リダイレクトバインディングを介して IdP に AuthN リクエストを送信します。このため、HTTP リダイレクトバインディングが IdP でサポートされ、IdP のメタデータドキュメントに存在する必要があります。
-
SAML アサーションでは、
NameID
属性に E メールアドレス形式を使用する必要があります。
SAML ベースの IdP 設定リソース
次の表に、AWS Client VPN での使用がテストされている SAML ベースの IdP と、IdP の設定に役立つリソースを示します。
IdP | リソース |
---|---|
Okta | SAML を使用した AWS Client VPN ユーザーの認証 |
Microsoft Azure Active Directory (Azure AD) | 詳細については、Microsoft のドキュメントウェブサイトの「チュートリアル: Azure Active Directory シングルサインオン (SSO) と AWS ClientVPN との統合 |
アプリを作成するためのサービスプロバイダー情報
上の表に記載されていない IdP を使用して SAML ベースのアプリを作成するには、次の情報を使用して AWS Client VPN サービスプロバイダー情報を設定します。
-
Assertion Consumer Service (ACS) URL:
http://127.0.0.1:35001
-
Audience URI:
urn:amazon:webservices:clientvpn
IdP からの SAML レスポンスには、少なくとも 1 つの属性が含まれている必要があります。以下は属性の例です。
属性 | 説明 |
---|---|
FirstName |
ユーザーの名。 |
LastName |
ユーザーの姓。 |
memberOf |
ユーザーが属するグループ (複数も可)。 |
注記
memberOf
属性は、Active Directory または SAML IdP グループベースの承認ルールを使用する場合に必要です。また、属性は大文字と小文字を区別し、指定どおりに設定する必要があります。詳細については、「ネットワークベースの承認」と「 承認ルール」 を参照してください。
セルフサービスポータルのサポート
クライアント VPN エンドポイントでセルフサービスポータルを有効にした場合、ユーザーは SAML ベースの IdP 認証情報を使用してポータルにログインします。
IdP が複数の Assertion Consumer Service (ACS) URL をサポートしている場合は、次の ACS URL をアプリに追加します。
https://self-service.clientvpn.amazonaws.com/api/auth/sso/saml
GovCloud リージョンで Client VPN エンドポイントを使用している場合は、代わりに次の ACS URL を使用します。同じ IDP アプリを使用して標準リージョンと GovCloud リージョンの両方で認証する場合は、両方の URL を追加できます。
https://gov.self-service.clientvpn.amazonaws.com/api/auth/sso/saml
IdP が複数の ACS URL をサポートしていない場合は、以下を実行します。
-
IdP に追加の SAML ベースのアプリを作成し、次の ACS URL を指定します。
https://self-service.clientvpn.amazonaws.com/api/auth/sso/saml
-
フェデレーションメタデータドキュメントを生成し、ダウンロードします。
-
クライアント VPN エンドポイントと同じ AWS アカウントに IAM SAML ID プロバイダーを作成します。詳細については、IAM ユーザーガイドの「SAML ID プロバイダーの作成」を参照してください。
注記
メインアプリ用に作成したプロバイダーに加えて、この IAM SAML ID プロバイダーを作成します。
-
クライアント VPN エンドポイントを作成し、作成した IAM SAML ID プロバイダーを両方指定します。