Casbin

Casbin

  • Documents
  • API
  • Editeur
  • Plugins IDE
  • Authentification unique (SSO)
  • Forums
  • Aide
  • Blogue
  • Languages iconFrançais
    • English
    • 中文
    • 한국어
    • Русский
    • 日本語
    • Aider à traduire
  • GitHub

›Utilisation avancée

Les Bases

  • Aperçu
  • Commencer
  • Comment ça marche
  • Tutoriels

Modélisation

  • Modèles pris en charge
  • Syntaxe pour les modèles
  • Effet
  • Fonction
  • RBAC
  • RBAC avec motif
  • RBAC avec domaines
  • Casbin RBAC v.s. RBAC96
  • ABAC
  • Modèle de priorité
  • Super Admin

Stockage

  • Stockage du modèle
  • Stockage de la politique
  • Chargement du sous-ensemble de la politique

Extensions

  • Enforcers
  • Adaptateurs
  • Observateurs
  • Répartiteurs
  • Responsables des rôles
  • Moyens
  • Moyens GraphQL
  • Moyens natifs du Cloud

API

  • Aperçu de l'API
  • API de gestion
  • RBAC API
  • RBAC avec API Domains
  • API RoleManager
  • Autorisations des données

Utilisation avancée

  • Multi-threads
  • Benchmarks
  • Optimisation des performances
  • Autorisation de Kubernetes
  • Autorisation de maillage de service par l'envoyé

Gestion

  • Portail Admin
  • Service Casbin
  • Gestion des logs et des erreurs
  • Utilisation du frontend

Editeur

  • Éditeur en ligne
  • Plugins IDE

En savoir plus

  • Nos Adopteurs
  • Contribuer
  • Politique de confidentialité
  • Conditions d'utilisation
Translate

Autorisation de maillage de service par l'envoyé

Envoy-authz est un middleware d'Envoyé qui effectue une autorisation externe RBAC & ABAC via casbin. Ce middleware utilise l'API d'autorisation externe Envoyé via un serveur gRPC. Ce proxy serait déployé sur n'importe quel type de mailles de service basées sur l'envoi comme Istio.

Exigences

  • Envoyé 1.17+
  • Istio ou tout type de maillage de service
  • Dépendances grpc

Les dépendances sont gérées via go.mod.

Travail de Middleware

  • Un client ferait une requête http.
  • Envoy proxy enverrait cette requête au serveur grpc.
  • Le serveur grpc autoriserait alors la requête en se basant sur les règles de casbin.
  • Si elle est autorisée, la demande sera envoyée par le biais ou autrement, elle sera refusée.

Le serveur grpc est basé sur le tampon de protocole de external_auth.proto d'Envoy.

// Une interface générique pour effectuer la vérification d'autorisation sur les requêtes entrantes
// à un service en réseau.
service Authorization {
  // Effectue une vérification d'autorisation basée sur les attributs associés à la requête entrante
  // et retourne le statut `OK` ou pas `OK`.
  rpc Check(v2.CheckRequest) retourne (v2.CheckResponse);
}

À partir du profil ci-dessus, nous devons utiliser le service Check() dans le serveur d'autorisation.

Usage

  • Définissez les politiques de Casbin sous les fichiers de configuration en suivant ce guide.

Vous pouvez vérifier/tester vos politiques sur l'éditeur de casbin- en ligne.

  • Démarrez le serveur d'autorisation en cours d'exécution :-
$ go build .
$ ./authz 
  • Charger la configuration de l'envoyé :-
$ envoyé -c authz.yaml -l info

Une fois que l'envoyé aura démarré, il commencera à intercepter les demandes d'autorisation.

Intégration à Istio

Vous devez envoyer des en-têtes personnalisés, qui contiendraient des noms d'utilisateur dans les en-têtes JWT pour que ce middleware fonctionne. Vous pouvez consulter les docs officiels Istio pour obtenir plus d'informations sur la modification des en-têtes de requête.

← Autorisation de KubernetesPortail Admin →
  • Exigences
  • Travail de Middleware
  • Usage
  • Intégration à Istio
Casbin
Docs
Getting StartedManagement APIRBAC APIMiddlewares
Community
Who's using Casbin?Stack OverflowDeploys by Netlify
Casbin          jCasbin
Node-Casbin   PHP-CasbinPyCasbin          Casbin.NETCasbin-CPP        Casbin-RS
Follow @casbinHQ
Copyright © 2022 Casbin Organization