本文へスキップ

コアコンセプト

このページでは、Altuur Secure Ingress(アルトゥール セキュアイングレス)の主要なエンティティと抽象化について説明します。これらのコンセプトを理解することで、ワークロードの整理とトラフィックルーティングの設定を効果的に行えます。

組織(Organization)

Secure Ingress(セキュアイングレス)の最上位エンティティです。組織はプロジェクト、課金、チームアクセスをグループ化します。Secure Ingress(セキュアイングレス)のすべてのものは組織に属します。

組織は通常、会社ごとに1つです。チームメンバーは組織レベルで招待され、課金は単一の組織アカウントに統合されます。

プロジェクト(Project)

組織の下にある、環境、ルート、Warpgate(ワープゲート)、サービスアカウントの論理的なグループです。プロジェクトは、Secure Ingress(セキュアイングレス)を通じて公開する単一のサービスまたはアプリケーションを表します。

例:Webアプリケーションと別のAPIサービスがある場合、それぞれに1つずつ、2つのプロジェクトを作成します。

各プロジェクトには以下があります:

  • 1つ以上の環境(本番、ステージング、開発)
  • トラフィックがワークロードに到達する方法を定義するルート
  • Warpgate(ワープゲート)認証用のサービスアカウント
  • エンドユーザー管理用のユーザーディレクトリ(認証が有効な場合)

環境(Environment)

プロジェクト内の名前付きデプロイターゲットです。各環境には独自のエンドポイントURLがあり、独立して有効/無効にできます。

一般的な環境:

  • 本番(Production):エンドユーザーからのライブトラフィック
  • ステージング(Staging):本番に近い設定でのリリース前テスト
  • 開発(Development):ローカル開発とデバッグ

環境は分離されています。ルート、Warpgate(ワープゲート)接続、認証設定は環境ごとに独立して設定されます。

ルート(Route)

プロジェクト内のURLパスルーティングルールです。ルートは、受信リクエストがワークロードにどのように振り分けられるかを決定します。

Secure Ingress(セキュアイングレス)は3つのマッチングモードをサポートしています:

モード説明例
Prefix指定された値で始まるパスにマッチ/api/は/api/users、/api/ordersにマッチ
Exactパスが完全に一致/healthは/healthのみにマッチ
Regexp正規表現でマッチ/users/[0-9]+は/users/123にマッチ

ルートは以下で設定できます:

  • 認証要件:特定のルートでログインを要求
  • パーミッション要件:特定のロールを持つユーザーにアクセスを制限
  • CORS設定:ルートごとのクロスオリジンリソース共有を設定

Warpgate(ワープゲート)

ワークロードと一緒にデプロイされる軽量サイドカーです。Warpgate(ワープゲート)はAltuur(アルトゥール)のグローバルエッジに対して外側に接続し、エンドユーザーのトラフィックがワークロードに転送されるセキュアなトンネルを確立します。

主な特徴:

  • アウトバウンド接続:Warpgate(ワープゲート)がすべての接続を開始。インバウンドポート不要
  • 自動登録:Warpgate(ワープゲート)はサービスアカウント認証情報を使用してコントロールプレーンに自動登録
  • ステータス追跡:各Warpgate(ワープゲート)は接続ステータス(connected、disconnected、unknown)とIPアドレスを報告
  • 自己登録型:Warpgate(ワープゲート)はConsole(コンソール)からは作成できない。デプロイ時に自動登録

サービスアカウント(Service Account)

Warpgate(ワープゲート)登録とAPIアクセスに使用されるマシン認証情報です。各サービスアカウントには以下があります:

  • APIキー:サーバー側で生成される50文字のbase62文字列
  • 設定可能なパーミッション:サービスアカウントがアクセスできるものを制御
  • プロジェクトスコープ:サービスアカウントは単一のプロジェクトにスコープ

Warpgate(ワープゲート)をデプロイする際、認証トークンとしてサービスアカウントAPIキーを提供します。Warpgate(ワープゲート)はこのキーを使用してSecure Ingress(セキュアイングレス)に自動登録します。

アーキテクチャ

Secure Ingress(セキュアイングレス)のアーキテクチャは2つのプレーンで構成されています:

データプレーン

データプレーンはエンドユーザーと顧客ワークロード間のライブトラフィックを処理します。以下で構成されます:

  • グローバルエッジノード:TLSを終端し、認証・認可ポリシーを適用し、悪意のあるトラフィックをフィルタリングし、リクエストを正しいWarpgate(ワープゲート)にルーティングするパブリックに到達可能なポイント
  • Warpgate(ワープゲート):顧客ワークロードと一緒にデプロイされ、エッジノードへの永続的なTLS 1.3トンネルを維持するアウトバウンドコネクタ

トラフィックフロー:エンドユーザーはHTTPS経由でエッジノードに接続します。エッジノードがリクエストを認証し、ルーティングとセキュリティポリシーを適用した後、承認されたトラフィックを確立されたトンネルを通じてWarpgate(ワープゲート)に転送し、Warpgate(ワープゲート)がローカルワークロードに配信します。

コントロールプレーン

コントロールプレーンは設定、アイデンティティ、運用状態を管理します。以下を提供します:

  • 設定管理:プロジェクト、環境、ルート、ポリシー
  • アイデンティティサービス:ユーザーディレクトリ、認証フロー、サービスアカウント認証情報
  • Warpgate(ワープゲート)登録:サービスアカウント認証、証明書発行、設定配布
  • 運用データ:メトリクス、ログ、課金情報

Warpgate(ワープゲート)は起動時にサービスアカウント認証情報を使用してコントロールプレーンに認証し、設定(ルート、ポリシー、アップストリームターゲット)を受け取ります。設定の更新はリアルタイムでWarpgate(ワープゲート)にプッシュされます。

アウトバウンド専用モデルのセキュリティ特性

反転イングレスアーキテクチャにより、いくつかの重要なセキュリティ特性が生まれます:

  • 公開インバウンドオリジン不要:顧客ワークロードにはオープンなインバウンドポート、パブリックIPアドレス、それを指すDNSレコードが不要です。既存の直接経路を閉じれば、スキャン、探索、フィンガープリントできるものはありません。
  • オリジン非露出:従来のCDNやリバースプロキシアーキテクチャとは異なり、エッジが唯一の入口である限り、発見されて直接攻撃されうる「オリジンIP」は存在しません。Warpgate(ワープゲート)を追加しても既存の公開リスナーやファイアウォールルールは消えません。
  • 全経路mTLS:Warpgate(ワープゲート)とエッジノード間のすべての接続でTLS 1.3と相互認証を使用。双方が証明書を提示し、相手のアイデンティティを検証します。
  • 事前認証済みトラフィック:保護されたルートでは、ワークロードはエッジですでに認証・認可されたトラフィックのみを受信します。公開ルートはエンドユーザー認証なしで通過します。アプリケーションは独自のトークン検証を実装するのではなく、信頼されたアイデンティティコンテキストを利用します。
  • 多層防御:セキュリティポリシーはエッジ(第1層)で適用され、Warpgate(ワープゲート)(第2層)でも再度検証された後にトラフィックがワークロードに到達します。

ユーザーディレクトリ(User Directory)

プロジェクトまたは組織にスコープされたエンドユーザーアカウントのコレクションです。ユーザーディレクトリにより、異なるサービスに対して別々のユーザープールを管理できます。

例:SaaSアプリケーションでは、顧客向けユーザー用と内部管理者ユーザー用に別のユーザーディレクトリを持つことができます。

ユーザーアカウント(User Account)

Secure Ingress(セキュアイングレス)を通じてサービスにアクセスするエンドユーザーです。ユーザーアカウントには以下があります:

  • ステータス:active、inactive、suspended
  • ログイン追跡:最終ログインタイムスタンプと認証履歴
  • プロフィール情報:名前、メール、表示名

ルートで認証が有効な場合、Secure Ingress(セキュアイングレス)は完全なログインフロー(サインアップ、ログイン、パスワードリセット)を管理し、リクエストをWarpgate(ワープゲート)に転送する前にエッジでアイデンティティを検証します。