Casbin

Casbin

  • Документ
  • API
  • Редактор
  • Плагины IDE
  • Single Sign-On (SSO)
  • Форум
  • Справка
  • Блог
  • Pricing
  • Contact Sales
  • Languages iconРусский
    • English
    • 中文
    • 한국어
    • Français
    • Deutsch
    • 日本語
    • Помочь перевести
  • GitHub

›Расширенное использование

Основы

  • Общий обзор
  • Начать работу
  • Как это работает
  • Уроки

Модель

  • Поддерживаемые модели
  • Синтаксис для моделей
  • Эффект
  • Функция
  • RBAC
  • RBAC with Pattern
  • RBAC с доменами
  • Casbin RBAC v.s. RBAC96
  • АДАТ
  • Приоритетная модель
  • Супер админ

Хранилище

  • Модель хранилища
  • Хранилище политики
  • Загрузка подмножества политик

Расширения

  • Enforcers
  • Адаптеры
  • Наблюдатели
  • Диспетчеры
  • Менеджеры ролей
  • Посредники
  • GraphQL Middlewares
  • Облачные Посредники

API

  • Обзор API
  • API управления
  • RBAC API
  • RBAC с доменным API
  • RoleManager API
  • Права доступа к данным

Расширенное использование

  • Многопоточность
  • Benchmarks
  • Оптимизация производительности
  • Авторизация Кубернетов
  • Авторизация служебной ячейки через посланника

Управление

  • Администратор портала
  • Служба Касбина
  • Обработка журнала и ошибок
  • Использование интерфейса

Редактор

  • Онлайн-редактор
  • Плагины IDE

Ещё

  • Наши усыновители
  • Вклад
  • Политика конфиденциальности
  • Условия предоставления услуг
Translate

Авторизация Кубернетов

K8s-authz это Kubernetes (k8s) RBAC & ABAC authorization middleware на основе Casbin. Этот middleware использует K8s валидацию webhook для проверки политик, определенных casbin, по каждому запросу k8s ресурсов. Эти пользовательские контроллеры доступа выполняют некоторую проверку объекта запроса, который был переслан api сервером и основан на логике, отправляет ответ на api сервер, содержащий информацию о том, разрешить или отклонить запрос. Эти контроллеры зарегистрированы в Kubernetes с помощью ValidatingAdmissionWebhook.

Сервер K8s должен знать когда отправлять входящий запрос нашему контроллеру приёма. Со своей стороны, мы определили веб-хук для проверки подлинности, который проксирует запросы любого типа K8s ресурс/подресурса и проверил их. Пользователю будет разрешено выполнять операции по этим ресурсам, только в том случае, если он санкционирует это действие. The enforcer checks the roles of the user defined in the policies. Этот middleware будет развернут на кластере K8s.

Требования

Перед тем как продолжить, убедитесь, что следует-

  • Запущенный k8s Cluster. Вы можете запустить кластеры через Docker, включив их на Docker Desktop или вы можете настроить полностью K8s ytem локально или на вашем сервере. Вы можете следовать подробному руководству для установки кластера k8 локально в Windows или руководству , если хотите установить для Linux.
  • Kubectl CLI Это руководство по установке на Windows и это руководство для Linux.
  • OpenSSL

Использование

  • Генерировать сертификаты и ключи для каждого пользователя, используя openssl и запустив следующий скрипт: -
./gen_cert.sh
  • Создайте образ докер из файла Dockerfile вручную, выполнив следующую команду и затем измените версию сборки здесь и в процессе установки файла, по сборкам.
 docker build -t casbin/k8s_authz:0.1 .
  • Определите политику касбина в model.conf и policy.csv. You can refer the docs to get to know more about the working of these policies.

  • Перед установкой вы можете изменить порты в main.go , а также в конфигурации webhook файла в зависимости от вашего использования.

  • Разверните контроллер проверки и webhook на кластере k8s путем запуска:-

кубектл применяет -f deployment.yaml
  • For a production server, we need to create a k8s secret to place the certificates for security purposes.
kubectl создать секретный общий casbin -n по умолчанию \
  --from-file=key.pem=certs/casbin-key.pem \
  --from-file=cert.pem=certs/casbin-crt.pem
  • Однажды, эта часть выполнена, нам нужно изменить директорию сертификатов в . o и затем в манифесте с меткой ``.

Теперь сервер должен быть запущен и готов к проверке запросов на операции с ресурсами k8.

В случае любого запроса Вы можете спросить на нашем канале на канале.

← Оптимизация производительностиАвторизация служебной ячейки через посланника →
  • Требования
  • Использование
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