権利とドメインの分離の内容は何ですか?

ナゲッツ コミュニティに記事を公開し、本文の最初の文に「『ナゲッツ セイル プラン』に参加しています」と追加します。

現在のシステムの何が問題になっているのでしょうか?

現在、私たちのシステムはますます大きくなっていますが、誰もがアクセスしてまったく同じコンテンツを見ることになります。異なるユーザーに応じて異なるデータを柔軟に表示する方法はありません。

たとえば、異なる権限を持つユーザーが異なる種類のページを表示することを期待するシステムがあります。同じページ上で異なる権限を持つユーザーが参照するデータも一貫性がなく、管理者は異なるレベルに分かれています。異なるレベルは自分のレベルと比較されます。下位レベルの 管理 。メンバーには引き続き権限を割り当てる権利があります。

この要件と同様に、権利とドメインの分離をサポートしていない従来のシステムでは、この要件を適切に処理できません。

分散化とドメイン分離は何をもたらすのでしょうか?

  1. システムはますます大規模かつ複雑になり、権限を管理する能力が必要になりますが、これは分散化とドメイン分割によって適切に処理できます。
  2. システムの柔軟性と拡張性を向上させることができます
  3. システムのセキュリティ、安定性、信頼性を向上させることができます

三権分立と領域をどのように理解すればよいでしょうか?

仕事上で、私は突然、三権分立と領域分立をどう理解すればいいのか、地方分権と領域分割は何が違うのか、同じものなのか、と尋ねることがよくあります。明確な答えはないかもしれませんが、実際には少し考えればわかります

  • 分散化: 権限の設計と定義

  • ドメイン分割: ユーザー権限の制御

分散化とは、システムに対してどのような権限を設計および定義するか、またどの権限がどのリソースにアクセスできるかを理解することができます。

ドメイン分割は、同じ権限を持つユーザーとして理解できますが、ドメイン権限が異なるため、表示されるコンテンツも異なります。たとえば、A 部門の上司は A 部門の従業員の給与しか参照できません。その部門は部門 B の給与を確認する方法がありません

B部門の部長も同様です

権利とドメインの分割に含まれるもの

時間の経過、社会のニーズの変化、上司の継続的な最適化に伴い、次のようなさまざまな権力モデルとドメイン モデルがゆっくりと連続的に登場しました。

  1. UGO - ファイルオブジェクトの Linux アクセス制御モデル

ユーザー、ユーザー グループ、およびその他の 3 つのカテゴリを含めると、システムへのアクセスを分類するのは非常に柔軟性が低く、この欠点は非常に明白であり、特別な権限が必要な場合は分類できません。

  1. ACLアクセス制御リスト

この方法も広く使用されており、すべてのリソースを対応するリソース ID に割り当て、ユーザーにアクセス許可を割り当てるときに、対応するリソース ID をユーザーに追加するだけで、特定のリソース ID を持つユーザーがそのリソースの特定のリソース情報を確認できるようになります。

这种方式也是会存在重复劳动,则 小 A 和 小 B 能看到的资源内容是一样的,那么 超级管理员 就需要给 小 A 和 小 B 分别加上对应的相同的资源 id

  • 此处说的资源可以理解为,
    1. 前端页面,

    2. 后台 API

    3. 也可以是具体的数据域

  1. DAC 自主访问控制

  2. MAC 强制访问控制

  3. RBAC - 基于用户角色的权限访问控制

RBAC - 基于用户角色的权限访问控制

对于 RBAC

Role Based Access Control / Role-Based Access Control / 基于角色的访问控制

相信学过 K8S 的都不会陌生,K8S 就是使用 RBAC 来进行权限访问的控制的,那么对于这种模式,我们可以看到多了一个关键的对象 角色

之前是

用户 - 权限 - 资源

现在是

用户 -- 角色 -- 权限 -- 资源

上述的模式都是给用户赋予某种权限, RBAC 是把权限绑定到角色上,再将用户赋予不同的角色

RBAC 也有自己的子模型,最基本的模型 RBAC 0 默认包含 用户,角色,权限 三个重要的部分

就如同上述例子例子一样 小 A 和小 B 拥有相同的权限,使用 RBAC 模型,那么 他们都是可以是 员工 角色,那么只需要将他们和 员工角色 建立关系即可,那么他们就可以很轻松的能够访问到 员工 角色能够访问到的资源

对于 RBAC 其他的模型,都是基于 RBAC 0 上面进行的衍生和变化,增加了一些继承和约束,但是原理还是一样的

基本知道分权分域是个啥了,那么去给系统设计权限的时候,就能够有的放矢

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~

おすすめ

転載: juejin.im/post/7233809287531855932