Trailhead - Data Security 笔记

在api调用时, sharing也是起作用的。

权限的层级:

org层: password policy, login hours, login location

Object

Field

Record: 又分 org-wide default, role hierarchy, sharing rule, manual sharing

 

Audit 应该经常检查可能的权限问题

1. 数据createdby, lastmodifiedBy

2. login history

3. Field history: 所有custom obj可以。但有些standard obj不可以。

4. Audit trail

 

Org级别的权限管理

1. 管理user 

创建user / Deactivate user 如果user在某个hirararchy字段中使用而无法deactivate可以暂时先Freeze user然后解决hirarchy的问题。 

 

password policy: 多久过期,密码复杂程度

密码过期对于“Password Never Expires”的user不适用。

可以reset单个user的password

登录尝试次数以及锁定时间。

 

Trusted IP 在Newwork Access里设置

不在trusted IP里时,只需输入verification code

在Profile上设置login IP ranges, 在这个范围以外的,不能login 【与trusted IP相比这个更严厉】。

 

Login hour: 也是在profile上定义

如果某天不能访问,只需设置当天的login hour的start与end相同即可。

如果用户的login hour已经到了end时间,user仍未退出,此时他可view page但不能继续任何action。

 

Object级别:

profile: standard / custom. standard的object-level permission不允许修改,如果需要可以clone一个profile. 

permission set : 一般用于给某个obj/app加权限,或者给某个临时权限,或给某个特定字段权限。

User Management Settings里可以设置Enhanced Profile User Interface.

 

Field level security:

与layout不同,它控制的是整个field级别的权限,无论通过何种方式访问数据。

在定义delete权限时, 尽管不允许delete但是在级联delete情况下仍能delete. 

 

Org wide default 控制的是系统中所有当前user不是owner的records的权限。

private

public readonly 

public read/write

Controlled by parent 

对应master-detail关系中的detail object, 它不能设置org-wide default. 

确定sharing的灵魂三问:

1. 谁是当前obj权限最小的用户

1. 它是否对于某些数据应该不可见 - yes 则private

2. 它是否对于某些数据应该不可改 - yes 则public readonly No则 public read/write

 

对于private / public readonly 的情况, 可以设置role hierarchy 或sharing rule 

Role hierarchy默认是勾选的,取消勾选后则当前user的上级不被share.  (view all / modify all除外)

 

apex sharing的特点:

1.只有"Modify all data"的user可以添加/修改这个apex share

2. record owner被修改不影响已有的apex share 

 

 

 

完成 Salesforce Trailhead Hands-on Challenge 涉及以下几个关键步骤,以确保能够顺利通过验证并积累积分和徽章: ### 1. 登录 Trailhead 并选择合适的模块 访问 [Trailhead](https://trailhead.salesforce.com/) 网站并使用 Salesforce 开发者账户或 Trailhead 账户登录。浏览模块(Modules)或项目(Projects)部分,选择一个包含 Hands-on Challenge 的模块。这些模块通常会明确标注包含实践挑战。 ### 2. 配置开发者组织(Dev Org) Hands-on Challenge 通常需要连接到一个 Salesforce 开发者组织(Dev Org)。如果没有现成的 Dev Org,可以通过 Trailhead 自动创建一个。在模块的挑战页面中,点击“启动 Org”按钮,Trailhead 将会为你生成一个临时的 Salesforce 开发环境。 ### 3. 完成模块中的学习内容 在开始 Hands-on Challenge 之前,建议先完成模块中的理论学习部分。这些内容通常包括视频教程、文档阅读和小测验,帮助理解挑战所需的背景知识和配置步骤。 ### 4. 进入 Hands-on Challenge 并执行任务 进入 Hands-on Challenge 页面后,系统会列出具体的任务要求。这些任务可能包括: - 创建自定义对象或字段 - 配置流程或自动化规则 - 设置页面布局或权限 - 编写 Apex 代码或 Lightning 组件 确保严格按照挑战说明进行操作,避免遗漏任何步骤。 ### 5. 验证并提交挑战 完成所有任务后,点击“检查挑战”(Check Challenge)按钮。系统会自动验证是否满足所有要求。如果验证通过,即可提交挑战并获得相应的积分和徽章。 ### 6. 常见问题与解决方法 如果挑战验证失败,可以检查以下内容: - 确保所有字段、对象或流程的名称与要求完全一致 - 确认权限设置正确,例如用户配置文件(Profile)或权限集(Permission Set)是否已分配 - 检查是否遗漏了某些步骤或未启用特定功能(如 Lightning Experience 或 Einstein 功能) --- ### 示例:完成一个简单的 Hands-on Challenge 的 Apex 代码 假设挑战要求创建一个自定义对象并编写触发器来更新字段值,可以参考以下代码: ```apex trigger UpdateCustomField on Account (before insert, before update) { for (Account acc : Trigger.new) { if (acc.Name != null) { acc.Custom_Field__c = acc.Name.uppercase(); } } } ``` 此代码会在 Account 对象的名称字段更新时,自动将自定义字段 `Custom_Field__c` 设置为名称的大写形式。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值