Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
enterprise-abac-gateway — Go製のゼロトラストリバースプロキシおよびABAC認可ゲートウェイ。OPAポリシー評価を組み込み、分散トークン失効に対応。 | Kitploit
ツール/GitLabGitLab/kavryxdev-group/enterprise-abac-gateway
認証と認可防御ツールウェブプロキシと傍受ネットワークセキュリティクラウドセキュリティアイデンティティ&アクセス管理 (IAM)
GitLabkavryxdev-group/enterprise-abac-gateway

enterprise-abac-gateway

Go製のゼロトラストリバースプロキシおよびABAC認可ゲートウェイ。OPAポリシー評価を組み込み、分散トークン失効に対応。

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
3721時間55分前未レビュー

🛡️ エンタープライズ向け細粒度属性ベースアクセス制御 (ABAC) ゲートウェイ

Go Version OPA Engine Redis Cache PostgreSQL NIST Compliance Latency SLA License

Go で構築された高性能・ゼロトラストのリバースプロキシ兼認可ゲートウェイ。組み込みの Open Policy Agent (OPA) エンジン、5ms 未満の判定レイテンシ、Redis Pub/Sub によるリアルタイム分散トークン失効、および暗号学的に改ざん検知可能な監査ログを備えています。


📌 エグゼクティブ概要

現代のクラウドネイティブかつマルチテナントなプラットフォームでは、静的なロールベースアクセス制御 (RBAC) よりもはるかに細粒度な認可パラダイムが求められます。高保証環境では、認可は、リクエスト元が誰であるか (Subject)、実行しようとする操作は何か (Action)、適用されるデータ分類は何か (Resource)、そしてリアルタイムの運用コンテキスト (Environment) を動的に統合して判断する必要があります。

エンタープライズ向け細粒度 ABAC ゲートウェイは、バックエンドのマイクロサービスを前面で保護する集中型のポリシー適用ポイント (PEP) およびポリシー決定ポイント (PDP) として機能します。NIST SP 800-162 (ABAC)、NIST SP 800-207 (ゼロトラストアーキテクチャ)、および RFC 7519 (JSON Web Tokens) に準拠するよう設計されており、Rego ポリシーを Go プロセスのメモリ空間に直接コンパイルすることで、プロセス外へのネットワークホップを回避しつつ、クラスタインスタンス間の分散整合性を維持し、認可レイテンシを排除します。

🌟 主な機能

  • ⚡ 5ms 未満の判定レイテンシ SLA ($T_{\text{eval}} \le 5.0\text{ ms (p99)}$): 組み込み OPA による Go 内でのインメモリ属性解決とローカルポリシーコンパイルにより、ホットパス認可時のブロッキングなデータベース往復を排除します。
  • 🎯 四次元ベクトル評価 ($S, A, R, E$): Subject (ロール、テナント、クリアランス、MFA ステータス)、Action (動詞、冪等性分類)、Resource (分類、テナント所有者、ライフサイクルタグ)、Environment (クライアント IP/CIDR、営業時間、デバイス信頼態勢) にわたって動的に判定を計算します。
  • 🔄 リアルタイム分散無効化 ($\le 100\text{ ms}$): 緊急トークン失効 (JTI) およびロール変更は Redis Pub/Sub を介してすべてのゲートウェイインスタンスに即座に伝播し、インメモリ LRU キャッシュを 100ms 未満で更新します。
  • 🔒 暗号学的改ざん検知監査チェーン: すべての認可結果 (ALLOW / DENY) は、追記専用の SHA-256 ハッシュチェーン ($\text{Hash}n = \text{SHA-256}(\text{Hash}{n-1} + \text{Snapshot}_n)$) に記録され、SOC 2 Type II および ISO 27001 の監査証跡のために PostgreSQL へ非同期で永続化されます。
  • 🏢 鉄壁のマルチテナント分離: テナント組織間の完全な分離をルート層およびポリシー層で暗号学的かつ論理的に強制し、デフォルト拒否のフェイルクローズドセマンティクスを採用しています。
  • 🚨 緊急ブレークグラスプロトコル: 重大インシデント向けの統制されたバイパス経路で、必須の監査義務とテナント境界の自動封じ込めを伴います。

📐 システムアーキテクチャ

ゲートウェイは、超低レイテンシのデータプレーン(HTTPリバースプロキシおよびインメモリPDP)、分離されたコントロールプレーン(ポリシーと失効管理のための管理API)、および耐障害性を備えたステート&パーシステンス層(Redis 7およびPostgreSQL 16)に分割されています。

インタラクティブアーキテクチャ図(Archify)

System Architecture
図1:Archifyで生成された高レベルシステムアーキテクチャ図。
👉 🔍 ここをクリックしてインタラクティブなArchify図を開く (ダーク/ライトテーマ、クリック可能なノード、詳細なコンポーネント検査に対応)


ネイティブシステムアーキテクチャマップ

graph TD
    subgraph Clients["Perimeter & External Consumers"]
        ClientApp["Client Applications (SPA / Mobile / Microservices)"]
        SecOps["SecOps & Admin Console"]
    end

    subgraph DataPlane["Enterprise Zero-Trust Gateway (:8080)"]
        direction TB
        AuthMid["Auth Middleware (JWT, JTI, Leeway)"]
        PEP["ABAC Interceptor (PEP Gate)"]
        Resolver["Attribute Resolver (S, A, R, E)"]
        OPA["Embedded OPA Engine (Rego Runtime)"]
        Proxy["Reverse Proxy (httputil)"]
        PubSubLis["PubSub Invalidation Listener"]
        AuditLog["Non-Blocking Audit Logger"]
        HashChain["SHA-256 Cryptographic Chainer"]
    end

    subgraph ControlPlane["Control Plane (:8082)"]
        AdminAPI["Admin API (Revocations & Health)"]
    end

    subgraph StateTier["Distributed State & Persistence"]
        Redis["Redis 7 (Vector Cache & Blacklist :6380)"]
        Postgres["PostgreSQL 16 (Ledger & Tenant DB :5433)"]
    end

    subgraph UpstreamTier["Target Services"]
        Upstream["Protected Upstream API (:8081)"]
    end

    ClientApp -->|"HTTPS + Bearer JWT"| AuthMid
    SecOps -->|"Admin Key Auth"| AdminAPI
    AdminAPI -->|"Publish JTI Revocation"| Redis
    Redis -.->|"Pub/Sub Channel (<=100ms)"| PubSubLis
    PubSubLis -->|"Invalidate Local LRU"| AuthMid

    AuthMid -->|"Verified Identity Claims"| PEP
    PEP -->|"Build Evaluation Context"| Resolver
    Resolver -.->|"Query Vectors"| Redis
    Resolver -->|"Vector (S, A, R, E)"| OPA
    OPA -->|"ALLOW / DENY (<5ms SLA)"| PEP

    PEP -->|"Authorized Traffic"| Proxy
    Proxy -->|"Reverse Proxy Forward"| Upstream
    PEP -.->|"Async Decision Record"| AuditLog
    AuditLog -->|"Hash Chain Generation"| HashChain
    HashChain -->|"Append-Only Immutable Write"| Postgres

コンポーネントの内訳と信頼境界

コンポーネントレイヤー説明セキュリティと信頼性の保証
認証ミドルウェア (proxy/auth_middleware.go)境界イングレスHMAC署名付きJWTトークンを検証し、発行者/対象者を確認し、クロックスキュー許容範囲($\pm 30\text{s}$)を適用し、ローカルJTIブラックリストをチェックします。ポリシー実行が始まる前に、境界で期限切れ、改ざん、またはブラックリスト登録されたトークンを拒否します。
ABACインターセプター (proxy/abac_interceptor.go)強制 (PEP)HTTPリクエストをインターセプトし、属性解決とポリシー評価を調整し、転送するかフェイルクローズするかを決定します。デフォルト拒否のセマンティクスを強制します。すべての拒否理由を捕捉してログに記録し、セキュリティ監査を可能にします。
属性リゾルバー (engine/resolver.go)コンテキスト拡充JWTクレーム、URIパラメータ、キャッシュされたテナントメタデータを組み合わせて、4つの評価ベクトル($S, A, R, E$)を合成します。インメモリルックアップにより、認可のホットパス上でSQLクエリのブロッキングを回避します。
組み込みOPAエンジン (engine/opa.go)決定 (PDP)事前コンパイルされたRegoポリシー(rbac_fallback.rego と abac_enterprise.rego)を実行するインプロセスOpen Policy Agent評価器です。複雑なマルチ属性ルールをメモリ内で評価し、厳格な $\le 5.0\text{ms}$ p99レイテンシSLAを満たします。
リバースプロキシ (proxy/reverse_proxy.go)データプレーン転送認可されたリクエストをターゲットのバックエンドマイクロサービスに転送する高スループットのGoリバースプロキシです。上流ヘッダーを保持し、認証済みサブジェクトコンテキストを注入し、レスポンスをストリーミングします。
PubSubリスナー (cache/pubsub_listener.go)無効化同期Redisの abac:v1:invalidate チャネルを購読し、トークンとポリシーの変更をインメモリキャッシュに伝播します。すべてのゲートウェイレプリカ間で分散キャッシュの無効化を $\le 100\text{ms}$ 以内に保証します。
監査ロガーとチェイナー (audit/logger.go)監査パイプラインすべての決定に対して連続的なSHA-256ハッシュチェーンを計算する、上限付きの非同期ワーカープールです。ノンブロッキングのリングバッファにより、監査書き込みがプロキシトラフィックを抑制することはなく、通常負荷下でイベントの取りこぼしがゼロであることを保証します。
管理API (cmd/admin_api)コントロールプレーン緊急トークン失効(POST /admin/revoke)とヘルス監視のための、ポート8082上の専用管理サービスです。厳格な静的管理者資格情報(ABAC_ADMIN_KEY)で認証され、パブリックデータプレーントラフィックから分離されています。

🔄 コアワークフローとリクエストライフサイクル

すべての受信リクエストは、イングレスとトークン検証、インメモリ属性解決とポリシー決定、認可されたプロキシ処理と暗号学的監査ログ記録という3フェーズのパイプラインを通過します。

インタラクティブワークフロー図 (Archify)

Request Lifecycle
図2: Archify で生成されたエンドツーエンドのリクエストライフサイクルとポリシー決定パイプライン。
👉 🔍 ここをクリックしてインタラクティブなArchifyワークフローを開く


ネイティブシーケンス図

sequenceDiagram
    autonumber
    actor Client as Client App
    participant PEP as Gateway PEP (:8080)
    participant Auth as Auth Middleware
    participant Cache as Redis 7 Cache
    participant Resolver as Attribute Resolver
    participant OPA as Embedded OPA
    participant Upstream as Target Upstream (:8081)
    participant Audit as Async Audit Logger
    participant DB as PostgreSQL 16
ツールをダウンロード