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
  • ABAC
  • 優先モデル
  • スーパー管理者

ストレージ

  • モデル ストレージ
  • ポリシーストレージ
  • ポリシーサブセットの読み込み

拡張

  • Enforcers
  • アダプター
  • Watchers
  • 派遣者
  • ロールマネージャー
  • ミドルウェア
  • GraphQL Middlewares
  • Cloud Native Middlewares

API

  • API の概要
  • 管理API
  • RBAC API
  • Domains API による RBAC
  • RoleManager API
  • データ権限

高度な使い方

  • マルチスレッド
  • Benchmarks
  • パフォーマンス最適化
  • Kubernetes の承認
  • Envoyによるサービスメッシュの承認

管理

  • 管理者ポータル
  • カスビンサービス
  • ログとエラー処理
  • フロントエンドの使用法

エディター

  • オンラインエディター
  • IDE プラグイン

もっと見る

  • Adopters
  • コントリビューション
  • プライバシーポリシー
  • 利用規約
Translate

Kubernetes の承認

K8s-authz は Kubernetes (k8s) RBAC & Casbinに基づくABAC認証ミドルウェアです。 このミドルウェアは、K8s検証アドミッションのWebhookを使用して、k8sリソースのリクエストごとにcasbinによって定義されたポリシーをチェックします。 これらのカスタムアドミッションコントローラは、API サーバーによって転送されロジックに基づいてリクエストオブジェクトに対して何らかの検証を実行します。 要求を許可するか拒否するかの情報を含むAPIサーバーに応答を送り返します これらのコントローラは、 ValidatingAdmissionWebhook を使用して Kubernetes に登録されています。

K8s APIサーバーは、アドミッションコントローラに受信リクエストを送信するタイミングを知る必要があります。 このパートについて 我々は、K8sリソース/サブリソースのあらゆる種類のリクエストをプロキシし、その上でポリシー検証を行うバリデーションWebhookを定義しました。 ユーザは、これらのリソースに対する操作を実行することが許可されます。 The enforcer checks the roles of the user defined in the policies. このミドルウェアはK8sクラスタにデプロイされます。

要件

続行する前に、以下を必ずご確認ください。

  • 実行中の k8s クラスタ。 Dockerデスクトップ上でクラスタを有効にするか、ローカルまたはサーバー上で完全なK8sエコシステムをセットアップすることができます。 この詳細な ガイド に従って、Windows上でk8sクラスタをローカルにセットアップできます。Linux用にセットアップしたい場合は、この ガイド。
  • Kubectl CLI これは ガイド で Windows にセットアップし、この ガイド で Linux にセットアップします。
  • OpenSSL

使用法

  • openssl を使用して、次のスクリプトを実行することで、すべてのユーザーの証明書と鍵を生成します。
./gen_cert.sh
  • 次のコマンドを実行して、 Dockerfile からdocker イメージを手動でビルドし、こことデプロイメント ファイルでビルドバージョンを変更します。 建物によれば
 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 設定 ファイル で変更することができます。

  • 実行することで、検証コントローラと k8s クラスタの webhook をデプロイします。

kubectl apply -f deployment.yaml
  • 本番サーバーについては、セキュリティ目的で証明書を配置するために、k8s secret を作成する必要があります。
kubectl create secret generic casbin -n default \
  --from-file=key.pem=certs/casbin-key.pem \
  --from-file=cert.pem=certs/casbin-crt.pem
  • Once, this part is done we need to change the directory of the certs in main.go and then in manifests with that of the secret.

これで、サーバは実行中で、k8s リソースに対する操作のリクエストを検証する準備が整いました。

いずれかのクエリがある場合は、gitter チャンネル で問い合わせてください。

← パフォーマンス最適化Envoyによるサービスメッシュの承認 →
  • 要件
  • 使用法
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