Pháp chứng kỹ thuật số cung cấp cho sinh viên với một cách tiếp cận có hệ thống khi tiến hành một điều tra pháp chứng máy tính (cả hai loại điều tra công quyền và điều tra công ty), các yêu cầu của một phòng thí nghiệm pháp chứng máy tính bao gồm cả thiết bị phục hồi dữ liệu, phần cứng và phần mềm cần thiết để xác nhận pháp chứng kỹ thuật số trong phòng thí nghiệm.
The document describes the new DevOps Center feature in Salesforce for managing the lifecycle of tasks (work items) from definition to deployment. It outlines the process of launching a development environment from DevOps Center, editing metadata, creating a pull request for review, merging changes, and deploying to production. The goal is to integrate metadata changes to a git repository and deploy them from the command line interface.
This one sentence document thanks the reader for using Omni-Channel for Beginners. It provides a concise summary of the document in a single sentence as requested.
This document discusses Salesforce and ETL integration with Salesforce. It begins with an overview of Salesforce as the leading CRM platform and its features. It then discusses ETL processes which extract, transform and load data from various sources into Salesforce. The benefits of integrating data into Salesforce are provided as better insights, increased efficiency, improved data quality and deeper analytics capabilities. A demo of ETL and Salesforce integration is included at the end.
Heroku is a platform as a service built on Amazon Web Services that allows developers to focus on building apps while Heroku manages the infrastructure. The Heroku platform provides dynos for running app processes, teams for managing access and collaboration, Postgres for database services, Connect for integrating with Salesforce, and an elements marketplace. Workflows can be structured using Heroku Flow which integrates Pipelines, Review Apps, CI/CD, and GitHub.
This document provides an overview of unlocked packages in Salesforce, including what they are, their benefits compared to other package types, and how to use them. It explains that unlocked packages allow adding, editing, and removing metadata in a trackable way and are well-suited for internal business apps. The document also demonstrates how to create an unlocked package, create versions, install packages, promote releases, and manage package dependencies.
This document provides an overview of asynchronous Apex processing in Salesforce, including future methods, queueable Apex, batch Apex, and scheduled Apex. It defines synchronous vs asynchronous processing, explains when to use each type of asynchronous Apex, and provides examples of how to implement them. Key limits for each type are also outlined, such as limits on queued jobs, executions, and callouts allowed.
This document discusses design patterns including singleton, facade, composite, and strategy patterns. It provides problems each pattern addresses, UML diagrams for some patterns, and code examples. The document aims to cover these patterns at a high-level to encourage participation and discussion on how to implement them in code.
Ad
More Related Content
More from furuCRM株式会社 CEO/Dreamforce Vietnam Founder (20)
The document describes the new DevOps Center feature in Salesforce for managing the lifecycle of tasks (work items) from definition to deployment. It outlines the process of launching a development environment from DevOps Center, editing metadata, creating a pull request for review, merging changes, and deploying to production. The goal is to integrate metadata changes to a git repository and deploy them from the command line interface.
This one sentence document thanks the reader for using Omni-Channel for Beginners. It provides a concise summary of the document in a single sentence as requested.
This document discusses Salesforce and ETL integration with Salesforce. It begins with an overview of Salesforce as the leading CRM platform and its features. It then discusses ETL processes which extract, transform and load data from various sources into Salesforce. The benefits of integrating data into Salesforce are provided as better insights, increased efficiency, improved data quality and deeper analytics capabilities. A demo of ETL and Salesforce integration is included at the end.
Heroku is a platform as a service built on Amazon Web Services that allows developers to focus on building apps while Heroku manages the infrastructure. The Heroku platform provides dynos for running app processes, teams for managing access and collaboration, Postgres for database services, Connect for integrating with Salesforce, and an elements marketplace. Workflows can be structured using Heroku Flow which integrates Pipelines, Review Apps, CI/CD, and GitHub.
This document provides an overview of unlocked packages in Salesforce, including what they are, their benefits compared to other package types, and how to use them. It explains that unlocked packages allow adding, editing, and removing metadata in a trackable way and are well-suited for internal business apps. The document also demonstrates how to create an unlocked package, create versions, install packages, promote releases, and manage package dependencies.
This document provides an overview of asynchronous Apex processing in Salesforce, including future methods, queueable Apex, batch Apex, and scheduled Apex. It defines synchronous vs asynchronous processing, explains when to use each type of asynchronous Apex, and provides examples of how to implement them. Key limits for each type are also outlined, such as limits on queued jobs, executions, and callouts allowed.
This document discusses design patterns including singleton, facade, composite, and strategy patterns. It provides problems each pattern addresses, UML diagrams for some patterns, and code examples. The document aims to cover these patterns at a high-level to encourage participation and discussion on how to implement them in code.
2. Mục lục
1. Sơ lược quyền truy cập dữ liệu trong Salesforce
2. Đằng sau cách Salesforce tính toán quyền truy cập
3. Một chút về tính năng mới: Restriction Rules (Beta)
4. Q&A
4. Sơ lược quyền truy cập dữ liệu trong Salesforce
2 loại: Object-Level (bao gồm Field-Level) và Record-Level.
Object-Level:
• User có quyền truy cập dữ liệu của một Object hay không,
thấy Field nào trên Object đấy, có thể thực hiện hành động
nào (CRUD).
• Quản lý thông qua Profile và Permission Set. Thường dùng
Profile để đặt giới hạn tiêu chuẩn, Permission Set để mở rộng
nếu cần.
5. Sơ lược quyền truy cập dữ liệu trong Salesforce
2 loại: Object-Level (bao gồm Field-Level) và
Record-Level.
Record-Level:
• Chủ sở hữu của Record có quyền tối cao
• Who can Delete a record?
• Các công cụ chia sẻ chỉ áp dụng trên các
Record do User khác sở hữu.
• Organization-Wide Defaults
• Role Hierarchy
• Sharing Rules
• Manual Sharing
• Programmatic sharing
• Teams
• Territory Hierarchy
6. Sơ lược quyền truy cập dữ liệu trong Salesforce
• Xác định quyền truy cập của một User nhất định có thể trở nên tương đối phức tạp.
• Thay đổi trên một Record có thể kích hoạt tính toán quyền truy cập gây ảnh hưởng đến
toàn bộ Org.
⇒ Cần hiểu cách Salesforce tính toán và cấp quyền truy cập ở mức CSDL để thiết kế quyền
truy cập sao cho hiệu quả.
Ngoài ra sẽ hiểu được nguyên lý của hiện tượng Data and Ownership Skews -
Lệch quyền sở hữu...
8. Đằng sau cách Salesforce tính toán quyền truy cập
Thời điểm tính toán quyền truy cập
• Mỗi khi User xem một Record, chạy Report, mở List View hoặc search dữ liệu thông
qua giao diện hay API, Salesforce phải kiểm tra quyền truy cập của User.
• Khó khăn: đối với Org có rất nhiều dữ liệu (hàng trăm Role, hàng nghìn Sharing
Rules, hàng triệu row dữ liệu...) thì thực hiện tính toán quyền truy cập sẽ vô cùng
tốn thời gian, không khả thi khi mà User cần truy cập dữ liệu thời gian thực.
9. Đằng sau cách Salesforce tính toán quyền truy cập
Thời điểm tính toán quyền truy cập
• Mỗi khi User xem một Record, chạy Report, mở List View hoặc search dữ liệu thông
qua giao diện hay API, Salesforce phải kiểm tra quyền truy cập của User.
• Khó khăn: đối với Org có rất nhiều dữ liệu (hàng trăm Role, hàng nghìn Sharing
Rules, hàng triệu row dữ liệu...) thì thực hiện tính toán quyền truy cập sẽ vô cùng
tốn thời gian, không khả thi khi mà User cần truy cập dữ liệu thời gian thực.
⇒ Giải pháp:
• Thực hiện tính toán quyền truy cập khi dữ liệu thay đổi, lưu kết quả vào CSDL
• Duyệt kết quả khi cần xác định quyền truy cập.
10. Đằng sau cách Salesforce tính toán quyền truy cập
Các loại Access Grants - Quyền truy cập
Access Grants Table Sharing Tool
Explicit Grants (quyền tường
minh)
Object Sharing Tables Ownership, Sharing Rules,
Assignment Rules, Teams,
Territory Assignment Rules,
Manual Sharings, Programmatic
Sharings
Group Membership Grants
(quyền thành viên nhóm)
Group Maintenance Tables Public Groups, Queues, Roles,
Territory Member
Inherited Grants (quyền thừa kế) Group Maintenance Tables Roles Hierarchy, Territories
Hierarchy, Group Hierarchy
Implicit Grants (quyền ngầm
định)
Object Sharing Tables Salesforce Built-in Sharing:
Account-
Opportunity/Case/Contact
11. Đằng sau cách Salesforce tính toán quyền truy cập
3 loại Access Grants Table
• Object Record Tables: Đơn giản là Object như Account hoặc CustomObject__c,
chứa dữ liệu bản ghi và thông tin chủ sở hữu.
• Object Sharing Tables: Chứa thông tin Explicit/Implicit grants. Thực tế là các Object
mà cuối tên có từ Share: AccountShare, CustomObject__Share. Đặc biệt hay dùng
trong Apex sharing.
• Group Maintenance Tables: Chứa thông tin Inherited grants. Thực tế lưu thông tin
ai là thành viên nhóm nào trong 2 Object Group và GroupMember.
Xem thêm: https://mohan-chinnappan-n.gitbooks.io/salesforce-sharing/content/access_grants_tables.html
12. Đằng sau cách Salesforce tính toán quyền truy cập
Kịch bản mẫu
• OWD của mọi Object là Private, cấu trúc
Role như hình dưới.
13. Đằng sau cách Salesforce tính toán quyền truy cập
Kịch bản 1
• Maria tạo Account Record A1
• Marc đứng trên Maria trên cây Role
nên Marc có quyền truy cập A1
• Maria: Owner
• Marc: Inherited grant
14. Đằng sau cách Salesforce tính toán quyền truy cập
Kịch bản 2
• Maria share thủ công record A1 cho
Bob.
• Maria và Marc nằm trong role East
Sales Rep
• Bob: Explicit grant
• Maria: Owner, Inherited grant từ
role East Sales Rep
• Marc: Inherited grant từ role Sales
Executive
15. Đằng sau cách Salesforce tính toán quyền truy cập
Kịch bản 3
• Một Admin tạo Sharing rule để
share record của Sales Executive
cho các User thuộc Role Services
Executive và cấp dưới.
• Bob: Explicit grant
• Maria: Owner, Inherited grant từ
role East Sales Rep
• Marc: Inherited grant từ role Sales
Executive
• Frank và Sam: Explicit grant từ
Sharing rule
16. Đằng sau cách Salesforce tính toán quyền truy cập
Kịch bản 4
• Maria chuyển quyền sở hữu cho
Wendy.
• Khi quyền sử hữu bị thay đổi,
Salesforce tự động xoá Explicit
grant nên Bob mất quyền truy cập.
• Sharing rule từ kịch bản 3 cũng mất
tác dụng do chủ sở hữu - Wendy
không nằm trong role Sales
Executive.
• Wendy: Owner
• Maria: Inherited grant từ role West
Sales Rep
• Marc: Inherited grant từ role Sales
17. Một chút về tính năng mới:
Restriction Rules (Beta)
18. Một chút về tính năng mới: Restriction Rules (Beta)
Cách giới hạn quyền truy cập đầu tiên?
https://developer.salesforce.com/docs/atlas.en-us.restriction_rules.meta/restriction_rules/restriction_rules_about.htm
19. Một chút về tính năng mới: Restriction Rules (Beta)
Cách giới hạn quyền truy cập đầu tiên?
https://developer.salesforce.com/docs/atlas.en-us.restriction_rules.meta/restriction_rules/restriction_rules_about.htm
21. Q&A
Tản mạn...
• “View All” và “Modify All” là setting thuộc object level nhưng thực chất đè lên quyền
record-level, cho phép user thấy mọi bản ghi của object
• "View/Modify All Data" cũng tương tự nhưng áp dụng cho mọi object
• Delete/Manual Sharing: cần full access
• Apex Managed Sharing: cần Modify All Data
• Muốn xoá record nhưng ko có full access?
• Modify All -> mở rộng quá...
• Gắn quyền Transfer Records vào profile, chuyển owner sang cho bản thân rồi xoá -> áp
dụng cho mọi object mà user có quyền Edit nên ko hay lắm...
• Dùng apex without sharing -> bị salesforce security scan kêu, phải tự cài đặt check quyền
• Recommended readings: https://engineering.salesforce.com/tagged/architecture-files
Editor's Notes
#11: Quyền tường minh được dùng khi record được share trực tiếp cho user hoặc group. Cụ thể là khi sử dụng các công cụ sau
Quyền thành viên nhóm: xảy ra khi user, personal hay public group, queue, role hoặc territory là thành viên của nhóm có quyền tường minh lên record. Có thể thấy quyền thành viên nhóm phụ thuộc vào quyền tường mình, sẽ giải thích tiếp ở sau
Quyền thừa kế: xảy ra khi user, group, queue, role, territory thừa kế quyền truy cập từ role/territory ở dưới mình, hoặc là thành viên của group được thừa kế quyền truy cập từ group cha
Quyền ngầm định: mặc định của Salesforce, chỉ áp dụng cho một số object tiêu chuẩn, user ko tác động được.
#21: bẫy:
“View All” và “Modify All” là setting thuộc object level nhưng thực chất đè lên quyền record level, cho phép user thấy mọi bản ghi của đối tượng
"View/Modify All Data" cũng tương tự nhưng áp dụng cho mọi đối tượng
Delete/Manual Sharing: cần full access
Apex Managed Sharing: cần Modify All Data
Muốn xoá record nhưng ko có full access?
Modify All -> mở rộng quá...
Gắn quyền Transfer Records vào profile, chuyển owner sang cho bản thân rồi xoá -> áp dụng cho mọi object mà user có quyền Edit nên ko hay lắm...
Dùng apex without sharing -> bị salesforce security scan kêu, phải tự cài đặt check quyền