將連接的應用程式的范圍限制為一組物件的最佳方法是什么?我當前的解決方案是使用Manage user data via APIs范圍,但仍然授予比所需更多的訪問權限。
我經常看到的一個解決方案是創建一個具有受限個人資料的用戶并與該用戶建立聯系,但隨后您會丟失用戶在連接的應用程式中執行的操作的背景關系,因此該解決方案不起作用
uj5u.com熱心網友回復:
棘手,你通常不會。(考慮在https://salesforce.stackexchange.com/上發帖,可能有一種我沒有想到的聰明方法)。
您可以將連接的應用程式從“所有用戶都可以自我授權”翻轉為“管理員批準的用戶被預授權”,然后只允許某些組態檔/權限集使用該應用程式。但其中大部分是“只是”通過 API 啟用連接并將其切割為僅說 Chatter 或 OpenId 識別符號。與沒有范圍的 SOAP API 相比,這已經是一個改進,應用程式可以完全模擬用戶,做他們可以在 UI 中做的一切。
組態檔/權限集/共享規則是“最佳”方式,即使在不立即明顯的情況下,例如將 Salesforce 連接到 Salesforce 或命名憑據訪問另一個組織。
如果您不能限制組態檔的可見性并且訪問用戶可以看到的所有表格是不可接受的......
- 您可以創建一系列 Apex 類來公開某些查詢、更新等,并授予對這些類的組態檔訪問權限 - 但沒有完整的 api 訪問權限?您甚至可以讓他們通過任何 SOQL(邪惡),但
with sharing, WITH SECURITY_ENFORCED, stripInaccessible在回傳結果之前對表使用 自定義限制 - 您可以查看https://developer.salesforce.com/docs/atlas.en-us.238.0.apexref.meta/apexref/apex_class_Auth_ConnectedAppPlugin.htm雖然我懷疑它只在連接上運行,而不是在每個請求上運行。因此,如果用戶有權查看某些敏感資料,充其量您可以拒絕訪問,這不是很好
- 如果通過應用程式完成時您需要阻止更新的物件很少 - Quiddity可能是要走的路。如果操作從 REST 背景關系開始,則在觸發器中引發錯誤?
- 試一試Transaction Security Trailhead。如果它看起來很有希望(有辦法根據這個檢查“應用程式”和“查詢物體” ) - 可能是一個解決方案。不過,您可能不得不掏腰包,上次我檢查了事件監控和交易安全的酷點隱藏在一個額外的付費插件后面(獨立或與平臺加密和現場審計跟蹤捆綁到 Salesforce Shield 解決方案中)
- 2次登錄?用于查詢內容但插入/更新作為最終用戶運行的專用用戶?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/481475.html
上一篇:如何在顫振中找到差異btw21:00pm-1:00am
下一篇:禁止:/api/v1.0/user/create-user/&{“detail”:“未提供身份驗證憑據。”}DJANGO
