Casbin

Casbin

  • Texte
  • API
  • Redakteur
  • IDE-Plugins
  • Single Sign-On (SSO)
  • Forum
  • Hilfe
  • Blog
  • Pricing
  • Contact Sales
  • Languages iconDeutsch
    • English
    • 中文
    • 한국어
    • Русский
    • Français
    • 日本語
    • Helfen Sie zu übersetzen
  • GitHub

›Erweiterte Nutzung

Die Grundlagen

  • Übersicht
  • Los geht's
  • So funktioniert es
  • Anleitungen

Modell

  • Unterstützte Modelle
  • Syntax für Modelle
  • Effektor
  • Funktion
  • RBAC
  • RBAC with Pattern
  • RBAC mit Domänen
  • Casbin RBAC v.s. RBAC96
  • ABAC
  • Prioritätsmodell
  • Super-Admin

Speicher

  • Modellspeicher
  • Richtlinien-Speicher
  • Richtlinien-Untermengenladen

Erweiterungen

  • Enforcers
  • Adapter
  • Beobachter
  • Dispatcher
  • Rollen-Manager
  • Middleware
  • GraphQL Middlewares
  • Cloud Native Middlewares

API

  • API-Übersicht
  • Management-API
  • RBAC API
  • RBAC mit Domains API
  • Rollen-Manager-API
  • Datenberechtigungen

Erweiterte Nutzung

  • Mehrfachfachen
  • Benchmarks
  • Leistungsoptimierung
  • Autorisierung von Kubernetes
  • Genehmigung des Service-Mesh durch den Gesandten

Management

  • Admin-Portal
  • Kasbin-Dienst
  • Log- & Fehlerbehandlung
  • Frontend-Nutzung

Redakteur

  • Online-Editor
  • IDE-Plugins

Mehr

  • Unsere Adopter
  • Mitwirken
  • Datenschutzerklärung
  • Nutzungsbedingungen
Translate

Genehmigung des Service-Mesh durch den Gesandten

Envoy-authz ist eine Middleware von Envoy, die externe RBAC & ABAC-Autorisierung durch Kasbin durchführt. Diese Middleware verwendet die externe Autorisierungs-API des Envoy über einen gRPC-Server. Dieser Proxy würde in jeder Art von Gesandtennetzen wie Istio eingesetzt werden.

Anforderungen

  • Gesandte 1.17+
  • Istio oder jede Art von Service-Netz
  • grpc Abhängigkeiten

Abhängigkeiten werden durch go.mod verwaltet.

Arbeiten von Middleware

  • Ein Client würde eine http-Anfrage stellen.
  • Envoy-Proxy würde diese Anfrage an den grpc-Server senden.
  • Der grpc Server autorisiert dann die Anfrage basierend auf Casbin-Richtlinien.
  • Wenn die Anfrage autorisiert wird, wird sie durch oder anderweitig versandt, sie wird abgelehnt.

Der grpc Server basiert auf Protokollpuffer von external_auth.proto von Envoy.

// Eine generische Schnittstelle, um Autorisierungsprüfung bei eingehenden
// Anfragen an einen vernetzten Dienst durchzuführen.
service Authorization {
  // Autorisierungsprüfung basierend auf den Attributen der
  // eingehenden Anfrage durchführen und gibt den Status `OK` oder nicht `OK` zurück.
  rpc Check(v2.CheckRequest) liefert (v2.CheckResponse);
}

Aus der obigen Proto-Datei müssen wir Check() Dienst im Autorisierungsserver verwenden.

Auslastung

  • Define the Casbin policies under config files by following this guide.

You can verify/test your policies on online casbin-editor.

  • Starte den Autorisierungsserver indem du läuft:-
$ go build .
$ ./authz 
  • Lade die Gesandte Konfiguration:-
$ envoy -c authz.yaml -l info

Sobald der Gesandte beginnt, fängt er an, Anfragen für den Genehmigungsprozess abzufangen.

Integration in Istio

Sie müssen benutzerdefinierte Kopfzeilen senden, die Benutzernamen in den JWT Token OF Headern enthalten, damit diese Middleware funktioniert. Sie können die offiziellen Istio Docs überprüfen, um weitere Informationen über die Änderung Anfrage-Header zu erhalten.

← Autorisierung von KubernetesAdmin-Portal →
  • Anforderungen
  • Arbeiten von Middleware
  • Auslastung
  • Integration in Istio
Casbin
Docs
Getting StartedManagement APIRBAC APIMiddlewares
Community
Who's using Casbin?Stack Overflow
Casbin          jCasbin
Node-Casbin   PHP-CasbinPyCasbin          Casbin.NETCasbin-CPP        Casbin-RS
Follow @casbinHQ
Copyright © 2022 Casbin Organization