■ 発表カテゴリ
Architecture: SREの視点からのシステム設計
■ 発表概要(400字程度)
この発表では、GCPのマネージドサービスとサーバーレスアーキテクチャを活用して構築した、ゼロトラストプロキシの設計と実装について紹介します。
本システムは、認証処理をGCPマネージドサービスに任せることで運用・開発負荷を軽減し、認可処理のみをサーバーレスで独自実装することで、柔軟かつ動的なアクセス制御を実現しています。
まず、システム開発の背景と複数の設計案を検討した上で、今回のアプローチを選択した理由を解説します。その後、システム全体の構成、採用技術のメリット・デメリットを詳述し、実際の開発経験を振り返ります。
この発表を通じて、ゼロトラストとSREの観点から、運用負荷を最小化しつつセキュリティを維持するシステム設計の実践的な知見を提供します。
■ 発表の詳細(1000字程度)
今回構築したシステムは、ゼロトラストセキュリティを小規模なユーザー向けに適用しつつ、開発と運用の効率化を実現するためのものです。
背景として、本システムを利用するユーザーは数十人程度と限られたユーザーしかアクセスしないため、大規模なインフラ管理や複雑な認証システムは不要と考えられました。
一方で、一定の要件を満たしつつ、HTTPプロトコルでの柔軟なアクセス制御を行う必要がありました。この背景のもと、いくつかの設計案を検討しました。
設計案は、主にAWSのマネージドサービスで開発した場合、GCPのマネージドサービスで開発をした場合、Tailscaleなどのゼロトラストサービスを利用した場合を検討しました。
これらの検討の結果、本システムはGCPのマネージドサービスでの開発を選択しました。
本システムでは、ユーザー認証をGCPのIdentity-Aware Proxy(IAP)に任せることで、ユーザープールの管理や認証ロジックの実装を簡素化し、セキュリティと信頼性を強化しています。
IAPの利用により、認証処理の独自実装を省くことで、開発・運用コストの削減とエンバグのリスク低減を目指しました。
認可処理においては、HTTPパスベースのアクセス制御を実現するため、Cloud Functionsを用いて独自の認可ロジックをサーバーレス環境で実装しています。
このアプローチにより、アクセス制御を動的かつ柔軟に行うことができ、システム全体のスケーラビリティと柔軟性を確保しました。
さらに、本システムの特徴として、Cloud NATを使用してプロキシからの出口IPを固定しています。
これにより、IPアドレスによるアクセス制御しかサポートしていないようなレガシーなシステムでも、このゼロトラストプロキシを簡易的に導入可能にしています。
この設計により、既存のサーバーに簡単にゼロトラストプロキシを導入できるようになりました。
本発表では、これらのシステムの背景や要件、複数の設計案の検討過程を紹介し、今回選択したアーキテクチャのメリット・デメリットを説明します。
具体的な技術選定や実装のポイント、運用時に得られた知見、今後の課題についても述べ、システム開発と運用における知見を共有します。
■ 対象聴衆とその人たちが得られるもの
この発表は、SREやクラウドインフラのエンジニアが対象です。
特に、マネージドサービスを活用してシステム運用の効率化を図りたい方や、サーバーレスアーキテクチャを導入して柔軟なアクセス制御を実現したい方にとって有益です。
聴衆は、ゼロトラストセキュリティを小規模システムにおける最適なアーキテクチャ設計や、実際の運用におけるメリットと課題について学ぶことができます。
■ なぜこのトピックについて話したいのか(モチベーション)
通常ゼロトラストプロキシの開発は、一定の開発コストがかかるため、大規模なシステムでしか実現が難しいと考えられます。
一方で小規模なシステムにおいては、Tailscaleなどの便利なゼロトラストサービスを利用することでシステムをゼロトラストにすることが可能ですが、認可制御が柔軟ではありません。
本発表を通して、小規模なシステムでも少しの開発と運用負荷で、効果的にゼロトラストセキュリティを導入できることを実証したいと考えています。