2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Verified AccessのTCP接続をOneLoginのOIDCを使って実装してみた

Last updated at Posted at 2025-06-03

AWS Verified Accessとは

VPNレスで、社内システムなどの接続できるサービスで、ポリシーなどを活用してデバイス準拠状況に応じてどのシステムに対してアクセスが可能という設定が可能なサービスです。
もともとはHTTPSとHTTPのみでしたが、2024年12月TCPプロトコルサポートがGAされました。
下記がアーキテクチャ図になります。
image.png

OIDCのTCPでの事例があまりなかったので設定してみたいと思います。

実現すること

  1. AWS Verified Accessを使ってEC2に接続できることを確認する
  2. OneLoginのOIDCを使って認証できることを確認する

AWS Verified Accessを使ってEC2に接続できることを確認する

※この手順にはIAM Identity Centerが必要になります。制限されていて使えない場合は、
「OneLoginのOIDCを使って認証・・・」のほうの手順を参考にしてください。
 また接続確認にしようするEC2はPrivateSubnetに構築済みの前提となっております。

まずはマネージメントコンソールからVPCを選択します

image.png

左側メニューの下の方に下記Verified Accessの項目があるのでここから操作します。

image.png

Verified Access 信頼プロバイダーを作成します。

信頼プロバイダータイプは今回はユーザを選択します。デバイスはCrowdStrikeやJamfと連携する場合に選択します。ユーザの信頼プロバイダタイムはまずはIAM Identity Centerを選択して作成します。
image.png

Verified Access インスタンスを作成します。

先ほど作成した信頼プロバイダーを指定して作成します。
image.png

Verified Access グループを作成します。

Verified Access インスタンスは先ほど作成したものを選択しポリシーはまずはすべてを許可するポリシーを設定します。

permit(principal,action,resource) when {true};

image.png

Verified Access エンドポイントを作成します。

Verified Access グループは先ほど作成したものを選択。そのほかは事前に作成してあるEC2を選択してください。
ポートが「22 - 22」という形式で例とは異なりますので注意してください。
ポリシーに関しては今回は空白ですが、エンドポイント単位に条件を分けたい場合はここに設定することで、エンドポイント単位にポリシーを分けることが可能です。
image.png

エンドポイントの作成に20分程度かかりますのでこの間に補足説明をしたいと思います。

補足

設定できるエンドポイントは下記があり、RDSなどは使いやすいかなと思います。
image.png

セキュリテイぃグループもさらっと流しましたが、今回の場合だと22番ポートのアウトバウンドルールを作成してそのセキュリティグループからの22番ポートのアクセス許可をEC2に設定してもらえれば大丈夫です。

接続料金についてはTCP接続の場合は下記になります。
image.png
わかりにくいので解説すると、エンドポイントが起動している分は固定で課金されます。今回の構成を1ヶ月使った場合は、187.2USDが固定でかかり、接続したユーザ数×時間分がかかり、仮に1人が平日(20日間)で毎日8時間接続すると、0.16時間となります。エンドポイントが増えると料金が高くなる傾向になるので注意してください。
先ほどのネットワークCIDRを使うとエンドポイントの集約もできそうですので、別途検証しようと思います。

AWS Client VPNと比較すると、ユーザ単位の接続料金が安いので接続ユーザが多い場合にコストメリットが出ると思います。

接続確認

Verified Access インスタンスから設定ファイルをダンロードします。
image.png

下記から接続するツールをダウンロードしてインストールしてください。
https://aws.amazon.com/jp/verified-access/connectivity-client-download/

ダウンロードしたファイルを下記に配置してください。
Mac

/Library/Application\ Support/Connectivity\ Client

Windows

C:\ProgramData\Connectivity Client

※注意
ファイル名は変更しない方がトラブルが少ないですが、変更する場合はClientConfig-から始まる名前にするように注意してください。また、ClientConfig-から始まるファイルが複数ある場合はブラウザに遷移しなくなるので注意してください。

インストールしたアプリケーションを起動するとブラウザが起動しログインを求められますのでログインしてください。
※ログイン後初回だけ、AWS Verified Accessにアクセス許可が求められますので許可を押してください。

下記画面になれば接続完了です。
image.png

Verified Access エンドポイントに詳細タグにエンドポイントドメインがあるのでそれを使って接続できれば接続完了です。
image.png

OneLoginのOIDCを使って認証できることを確認する

OneLoginでOIDCアプリケーションを作成します。
image.png

表示名を入力していただいてSaveボタンを押下します。
image.png

作成されるとSSOがメニューに表示されるのでそれをクリックし、ClientIDとClientSecretをissuerURLをコピーしておきます。
image.png

コピーしたissuerURLにブラウザからアクセスとJSONが表示されますので下記項目をコピーしてください。
issuer
authorization_endpoint
jwks_uri
token_endpoint
userinfo_endpoint

作成した情報をもとにVerified Access 信頼プロバイダーを作成します。
image.png

他の項目は先ほどと同じ設定で問題ありません。

Onlogin側に追加設定します。Configureを開いて、エンドポイントのURLとhttp://localhost8000を設定します。
image.png

Verified Access インスタンスから設定ファイルをダンロードし、先ほどと同じところに格納します。先ほどのファイルは削除することを忘れないでください。削除しない場合はログイン画面に遷移しません。

アプリケーションを起動してログインできるか確認します。
image.png

ログインできたのでEC2に接続確認をしてみます。
image.png/

接続できましたね。

まとめ

AWS Client VPNに加えて新しい選択肢が増えました。デバイスの状態を確認してから接続許可を行えるなどゼロトラストに近い方法ですし、利用方法によってはコスト低減になるかもしれません。
誰かのお力になれば幸いです

2
0
0

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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?