慣性聚合 高效追讀感興趣之博客、新聞、科技資訊
閱原文 以慣性聚合開啟

推薦訂閱源

博客园 - 司徒正美
V
V2EX
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
月光博客
月光博客
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python)
數宇界安鎮重構:教訓適用已晚
SapotaCorp · 2026-05-24 · via DEV Community

Dataverse 赋予君三種權限控制之基元,合而為權限之模:業務單位(BUs)、安全角色、隊伍。紙上之理,簡單明瞭。然實際操作,凡運行逾歲之項目,皆發展同此敗壞之模式:安全之模,積累而增長——每部門立一新角色,每項目立一新隊伍,每當有人言「然吾輩需區域資料分離」時,立一新業務單位。及至三載,模中已有二十角色,無人記其設立之由,而權限審計需時一周。

吾等已历三事,更其安之。首事历五旬,盖待之过久。末事仅一旬,缘察之在季月。此乃其律也。

其本实为之何

业部:居用者与载籍之层器。Dataverse之一行,属用者或众,而处业部。业部自本而下,为木之形。

安全角色:每表之权限集(创建/读取/写入/删除/追加/追加至/分配/共享),及每域(用户/业务单元/父:子/组织)。用户得一或数角色。

团队:用户群,可共拥记录,且可赋角色予团队(众成员皆承之)。

通识之误,以角色为职衔(如"Sales Rep"),以业务单元为部门(如"Sales")。其本真之配,实为:

  • 数据隔离之BU(区域、国家、其数据不宜混杂之并购公司)
  • 职能之任(阅帐、修机、出至Excel)
  • 跨部门协作之团队及记录共有之制

尔欲以角色隔离数据(如欧洲销售代表角色与美利坚销售代表角色之别)而非事业部,则终成N地各置N同角色之状。尔欲以事业部明权能(如设只读事业部),则得荒诞之枝干.

积弊之征兆 __JHSNS_SEG_50623266_12__观一项目之安全模型渐移,其状乃若:

  • 有十或十以上定制角色,其名如"销售代表v2"、"销售代表特殊案例"、"销售代表美国山地地区"
  • 有用户于单一账户上叠加四或五角色,以得恰当之组合权限
  • 为容纳不实际共享记录所有权之用户而设之团队(用作组别分配之代称)
  • BU树深逾三级
  • 商贾不能无工程师询查,而应答"孰可睹此录?"之问者

去岁于客户处承继五症,其下之方乃吾辈所施

八步重构之法

  1. 汇列现存之物。将安全角色矩阵导出为电子表格。每一角色,每一表格,每一特权。此独本文件,乃诸般议论之始基。

  2. 以意分群组。察各角色之权限列,寻其聚簇。多数"定制角色"实为3-5意:仅读、标准用户、高级用户、管理员、系统管理员。细密者,几乎皆稍变而已。

  3. 定能级角色。以第2步之聚簇,易为3-5典常角色:

  • acme_read_only - 每业表皆可读,不可写
  • 专精标准用户 - 擅读兼善书写于所授记录(用户范围)
  • 专精强权用户 - 擅读兼善书写兼增附兼授于BU范围
  • 专精总管 - 众权尽享,组织范围
  • 再增一选:专精整合,供服务主体之融合
  1. 辨虚实之别。大抵诸务,根元之外,零BU足矣。当直问曰:"若用户见非其见之记,商贾可有稽核合规之患?"内务CRM,多无之。然跨国商贾,有数据属地之规,则应有之,每国需一BU。

  2. 倾覆BU之树。若汝有七BU,而无一BU具合规之由,则悉移诸用户于根BU,而删其余者。此乃最大之解禁——当树形平展时,多“BU范围之访问”之问题遂消。

  3. 以团队为归属,非为指派。团队当掌管众用户共负其责之记录(如交易台队列、支持分诊池)。勿以团队容纳共司一职之用户——此乃角色之用也.

  4. 迁用户于新角色集。授新之规范角色;次第去旧之定制角色,并验无碍。当先于UAT镜像行之,非于生产环境。

  5. 禁增角色。新设安全角色须有明确之票及理由。欲为X设新角色者,多需于既有角色增能。以"不"为默认答,可保模型长远之洁。

每季之访问复审吾辈所行

纵净模型亦渐迁。每季:

  • 输出角色至用户之分配矩阵
  • 标识拥有三职或以上者(或有合并之机)
  • 标识仅一用户之职(或有删除之机)
  • 抽查十人:彼等可睹其当睹而无所越乎?行其权于界面
  • 审团队之属:诸队犹存其本乎?

每季四十五分钟,一工程师。其出或曰"无改",或曰"汇一职之票"。二者皆善。

一窍之失,常使众惑

更易安全角色,若已分配于用户,其变不恒即传。角色之更,效于次用者之动,或待缓存之新,或可至十五刻。

若自角色中移除一项特权,而预期此变更为即时生效,然有此角色之用户于汝之变更与缓存刷新之间行事,则旧特权仍有效。

非紧急之变,可忽之,缓存自清。要害之撤权(账户失陷,员工离职),当禁用户之户,非其职。户禁立时生效;职变终将一致.

今若处累积之期,当何为?

若尔之项目已行六月,而见四定制之职,其用相重:当止勿增,且勿更制。俟其范围稍定,再历一月,凡"新职"之票至,皆记之而勿许,及至三月,乃行八步更制之术。一周专力之功,可省后四周之劳。

若尔之项目已行两载而不可修:辟专两旬之期,行全然重构,视之若一次性之债偿,继而置季度之检于其上。痛楚非自消也。