(Dân trí) - nhân viên IT thao tác tại một công ty bất động sản nhà đất ở china đã xóa hết toàn cục các tài liệu quan trọng của người tiêu dùng trước khi nghỉ việc, chỉ vì những sự không tương đồng với sếp của mình.

Bạn đang xem: Việc làm data analyst, data engineer


Han Bing từng là nhân viên technology chịu trọng trách quản trị cơ sở dữ liệu tại Lianjia, một tập đoàn môi giới bđs lớn tại Trung Quốc.

Mới đây, Han Bing đã biết thành kết án 7 năm tội phạm vì áp dụng quyền quản trị của mình để singin vào khối hệ thống tài chính và xóa toàn thể dữ liệu được tàng trữ trên những máy nhà của công ty.

Hành rượu cồn của Bing đã khiến cho cho đa phần các buổi giao lưu của Lianjia bị tê liệt ngay lập tức và khiến cho hàng chục ngàn nhân viên của chúng ta không được trả lương vào một thời gian dài. Doanh nghiệp Lianjia tiếp đến đã phải chi ra 30.000 USD nhằm khôi phục dữ liệu mà Han Bing sẽ xóa.

Tức giận vì chủ kiến không được xem trọng, Han Bing đang xóa sạch dữ liệu tài chính của công ty gây bắt buộc thiệt hại cực kỳ nghiêm trọng (Ảnh minh họa: Getty).

Tuy nhiên, hành vi của Han Bing còn gây nên thiệt hại bự hơn tương đối nhiều cho Lianjia, khi mà hệ thống ngưng trệ đã làm tác động đến hàng trăm ngàn văn phòng và 51 doanh nghiệp con của công ty trên mọi Trung Quốc. Thiệt hại mong tính mà Lianjia nên chịu khi tài liệu tài bao gồm bị xóa lên tới mức gần 6 tỷ USD.

Sau khi sự việc xảy ra, Lianjia đã tiến hành một cuộc khảo sát nội cỗ để tìm ra thủ phạm đứng sau vụ việc. Han Bing là một trong những trong 5 nghi phạm thiết yếu trong vụ xóa dữ liệu, toàn bộ đều là những người dân có quyền truy vấn vào hệ thống máy nhà của công ty.

Tuy nhiên, Han Bing đã khiến cho nhóm điều tra nội bộ của Lianjia "đưa vào thời gian ngắm" khi anh này trường đoản cú chối hỗ trợ mật khẩu truy vấn vào máy tính của mình.

"Han Bing tuyên tía rằng laptop của anh ta gồm những dữ liệu riêng tứ và mật khẩu chỉ được cung ứng cho cơ quan công dụng hoặc chỉ gật đầu đồng ý nhập mật khẩu đăng nhập vào máy tính xách tay khi xuất hiện của lực lượng công an trong quá trình điều tra", thay mặt của Lianjia cho biết.

Nghi ngờ trước bội nghịch ứng của Han Bing, các điều tra viên đã tiến hành truy xuất nhật ký truy vấn đến những máy chủ, theo dõi hoạt động của máy tính vào nội bộ công ty và bình chọn hình hình ảnh từ khối hệ thống camera an ninh… cuối cùng, các khảo sát viên đã xác minh được Han Bing đó là người lép vế vụ xóa tài liệu của công ty.

Đáng chú ý, bạn này không chỉ xóa dữ liệu trên sever theo cách thường thì mà còn sử dụng cách xóa và ghi đè dữ liệu liên tục để để cho quá trình khôi phục dữ liệu bị xóa chạm mặt nhiều khó khăn hơn và thậm chí còn có phần dữ liệu không thể phục sinh được.

Sau khi hoàn toàn quá trình điều tra nội bộ, Lianjia vẫn gửi hồ sơ điều tra cho cơ quan tính năng vào cuộc, cách xử trí Han Bing theo pháp luật.

Khai báo với ban ngành chức năng, Han Bing cho thấy thêm nguyên vị hành động của chính bản thân mình bắt nguồn từ việc bức xúc với thái độ thao tác của cung cấp trên.

Theo đó, Bing đã các lần chú ý cho lãnh đạo của người tiêu dùng về hầu như lỗ hổng bảo mật trong hệ thống tài chính, thậm chí còn giữ hộ email cho các nhân viên kỹ thuật không giống để nêu ra mối quan ngại ngùng của mình. Tuy nhiên, toàn bộ những chủ kiến và cảnh báo của Bing rất nhiều bị phớt lờ và các lãnh đạo bộ phận công nghệ đều khước từ phê duyệt dự án bình yên mà Bing đang đề xuất.

Điều này đã khiến Bing tức giận vày cảm thấy những đề xuất của bản thân không được nhìn nhận trọng. Bing đã tiếp tục tranh luận, thậm chí là cãi nhau nóng bức với gần như lãnh đạo của công ty.

Cuối cùng, Bing đã ra quyết định xóa sạch mát những tài liệu tài chính của công ty trước lúc xin ngủ việc. Công dụng Bing vẫn đề xuất nhận án tù mang lại hành vi của mình.

(* Trong nội dung bài viết này tôi chỉ nêu cách nhìn và hầu như thứ mình đã từng có lần làm với câu hỏi phân quyền trên thực tế, chỉ mang tính chất tham khảo cho các người. Trường hợp có ngẫu nhiên ý loài kiến góp ý như thế nào hãy comment ở dưới để bọn họ cùng bàn thảo thêm.)

Phân quyền quá trình mang đầy chức năng nề đối với dev dẫu vậy lại đầy sáng tạo cho người dùng. Như chúng ta biết khi ứng dụng được dựng lên là tất cả vô vàn trắc trở xoay quanh quyền lợi người sử dụng. Chính vì như vậy lập trình viên đã tạo nên một thứ với tên phân quyền để tránh tình trạng mọi fan đều là vua trong công tác đó đơn giản và dễ dàng với việc "Bạn được quyền làm việc đó giỏi không?".

1. Phân quyền là gì?

Tưởng tượng đơn giản dễ dàng như này nhé.

Bạn là sếp chúng ta có toàn quyền với nhân viên của mình
Bạn là trưởng phòng bạn chỉ có quyền với nhân viên trong chống của mình
Bạn là trưởng nhóm dự án công trình bạn chỉ gồm quyền với các thành viên vào nhóm
Và team Như vậy bạn cũng có thể thấy vào công ty này có 3 loại nghĩa vụ và quyền lợi và chúng ta cần phân quyền theo nó

2. Bạn hay được dùng loại phân quyền như thế nào?

Câu hỏi này mình đặt ra ban đầu là "Có những loại phân quyền nào?" nhưng thật vụ việc phân quyền này siêu ít được public vì nó mang ý nghĩa chất riêng rẽ tư của rất nhiều dự án. Nên nếu khách hàng search thì chủ yếu sẽ chỉ tìm được cách tạo thông tin tài khoản sử dụng cho user trong số HQTCSDL.Ở bài viết này bản thân sẽ nói về việc phân quyền bởi nhóm quyền (Group) Và gửi ra 1 số ít cách dựng cơ sở dữ liệu (db).

3. Phân quyền theo group là gì và làm ra làm sao ?

Phân quyền theo group là biện pháp gọi chung của bản thân cho việc bạn nhóm nhiều thành viên trong 1 tổ chức gồm cùng một nghĩa vụ và quyền lợi thực xây cất việc. Thời điểm đó ta có thể nhóm bọn họ vào 1 group để dễ ợt trao quyền hạn.Như vậy từ phương pháp phân quyền theo group này ta hoàn toàn có thể sử dụng cùng với "3 nấc" không giống nhau.

Ví dụ dễ dàng và đơn giản về 3 bí quyết này nhé

1. Phân quyền theo cung cấp bậc
Loại hình này bọn họ thường xây dựng db dễ dàng như sau

*

Khi đó dữ liệu bạn dùng sẽ có được dạng như vậy này.

*

role ở đấy là 1, 2, 3 có nghĩa là có 3 mức quyền hạn và lớn số 1 hay nhỏ nhắn nhất còn tùy ở trong vào cách thức của từng công ty. Ví dụ

*

- Ưu điểm

Việc thực hiện kiểu phân quyền này dễ dàng cho những người mới bắt đầu. đều nhóm quyền được lập lên cấp tốc chóng hoàn toàn có thể sử dụng luôn, Và câu hỏi phải check cũng tương đối là 1-1 giản, bạn chỉ việc 1 cần

select count(*) from tbl_... Where id = ? and role = ?hoặcselect role from tbl_... Where id = ?
Rất dễ dàng để thực hiện đúng không.

- Nhược điểm

Bạn biết đó việc sử dụng tài liệu như này tồn tại một số nhược điểm rất cao sau

Rất khó có thể mở rộng dự án
Trong thực tế không cần lúc nào cũng có 3 role. Nó có thể phát sinh những role kì dị. Ví dụ: Thư ký giám đốc bên cạnh quyền đuổi bài toán ra sót lại nó sẽ có quyền của giám đốc vậy trường hòa hợp này trực thuộc role 1 tốt 2 ?.Rất cạnh tranh để phân quyền chi tiết.2. Phân quyền theo chức năng

*

Loại phân quyền này được sử dụng không hề ít trong thực tế. Nó rất tác dụng và dễ dàng thao tác đối với người cấp quyền.

Ta thiết kế db dễ dàng trong lấy ví dụ như này như sau:

*
Nhưng để chạy thử mình đã tóm gọn gàng 2 bảng tbl_actiontbl_per_action thành bảng tbl_per_detail để dễ dàng thao tác. Với ta tất cả một Database như sau.
*

Chi máu của việc xây đắp DB như sau:

tbl_user: bảng lưu fan dùng bao gồm các nằm trong tính như ID, Name,.... Bảng không có khóa ngoại.tbl_permision: bảng chứa nhóm quyền hạn. Bao gồm các ở trong tính, ID đội quyền hạn, tên team quyền hạn.tbl_permision_detail: là bảng sẽ chứa các quyền hạn cụ thể dành mang lại nhóm quyền hạn. Ngôi trường action_name không đề nghị thiết bạn cũng có thể bỏ. Ngôi trường action_code là nhằm khi thiết kế mình tư tưởng một thao tác làm việc nhất định trong bằng code này ví dụ quyền sửa thì code nó là EDIT chẳng hạn.tbl_per_relationship: là bảng lưu giữ mối liên hệ giữa người tiêu dùng và team quyền hạn. Mục tiêu của bảng này chưa hẳn là để một người dùng có tương đối nhiều nhóm quyền cơ mà để không phải truy vấn lại bảng user chứa tin tức nhạy cảm như username và password. Chúng ta cũng có thể bỏ qua bảng này và tương tác trực tiếp thân bảng user cùng permision luôn, mà lại mình khuyên chúng ta nên áp dụng thêm bảng này vì có rất nhiều trường phù hợp user có khá nhiều quyền hạn.

1. Khám nghiệm dữ liệu trong những bảng

tbl_user

*

tbl_permision

*

tbl_per_detail

*

tbl_user_per

*

2. Làm một vài ví dụ

Kiểm tra quyền của người tiêu dùng ví dụ: Hãy đánh giá quyền của user gồm id là 1:

DECLARE
result + action_name + ", " from tbl_user as ujoin tbl_user_per as up on u.id_user = up.id_userjoin tbl_permision as p. On up.id_per = p.id_perjoin tbl_per_detail as pd on p.id_per = pd.id_perwhere u.id_user = 1 and up.licensed = 1 and pd.check_action = 1select
resultkết quả

*

Kiểm tra coi user 2 tất cả quyền xóa bài viết không ?

DECLARE
result = check_action from tbl_user as ujoin tbl_user_per as up on u.id_user = up.id_userjoin tbl_permision as phường on up.id_per = p.id_perjoin tbl_per_detail as pd on p.id_per = pd.id_perwhere u.id_user = 2 and up.licensed = 1 & action_code = "DELETE"beginif
result = 1print N"Bạn CÓ quyền xóa post"elseprint N"Bạn KHÔNG có quyền xóa post"endkết quả

*

Đó là một số ví dụ đơn giản và dễ dàng tron tình huống này khi thực hiện phân quyền theo team (group)

3. Kết luận

- Ưu điểm
Việc phân quyền này như mình bao gồm nêu tức thì từ thuở đầu rất dễ thao tác so với những admin khi người ta muốn chuyển đội quyền hoặc thỏa sức sáng tạo trong việc tạo ra những quyền mới từ phần đa quyền ban đầu. Ví dụ như người dùng vừa có thể EDIT cùng DELETE,....Ngoài ra việc tiến hành những câu querry cũng tương đối dễ dàng cho hầu hết lập trình viên.- Nhược điểm
Vấn đề sử dụng quyền hành động rất dễ dàng khi họ làm bài toán trên 1 group, nhưng lại nếu trong lịch trình của bạn có nhiều group với phân cấp những tầng thì nó lại là một trong vấn đề nan giải khác, khi bạn không chỉ phải check quyền hành động mà bạn còn phải kiểm tra xem quyền hành vi này của người dùng có thể áp cần sử dụng được trong nhóm khác xuất xắc không?..3. Phân quyền theo Hành động của những nhóm Group theo gần như cấp bậc khác nhau
Đây là nhiều loại phân quyền lằng ngằng nhất nhưng lại là đặc biệt quan trọng nhất, vày các vì sao sau đây:Các tổ chức triển khai sử dụng phần mềm để thực hiện thao tác của họ đều phải sở hữu phân cung cấp rõ ràng
Trong những tổ chức có những người dân nắm full quyền của đa số nhóm
Có phần đông thành viên thuộc những nhóm
Có mọi thành viên mặc dù chỉ là nhân viên nhưng lại sở hữu quyền của những sếp (thư ký)Chính vì có nhiều trường hợp vì thế những lập trình sẵn viên xuất hiện được rất nhiều case trong code.

Giải quyết sự việc này chúng ta cũng có thể tìm hiểu cách thự hiện phân quyền vào odoo.

Phân quyền theo model: bao gồm nghĩ là người tiêu dùng được thao tác làm việc thực hiện tại với đều bảng dữ liệu nào

Ví dụ: Admin hoàn toàn có thể thực hiện tại với thao tác làm việc với bảng user của họ

phân quyền theo raw: người dùng được thực hiện việc làm việc với những raw được chỉ định

Ví dụ: Leader A chỉ rất có thể thực hiện thao tác với đầy đủ thành viên của bản thân trong bảng user

phân quyền theo column: người tiêu dùng sẽ được quyền thao tac với tuy vậy column đó

Ví dụ: Chỉ người có quyền lực cao mới rất có thể đuổi bài toán nhân viên, ở chỗ này ta sẽ có một column tên là is_working để biết việc nhân viên cấp dưới đó còn đi làm việc hay ko

4. Kết luận

Việc bạn thực hiện cách nào hay sản phẩm tự thế nào tưởng rằng không quan trọng nhưng nếu nhìn xa hơn trong câu hỏi mở rộng tương tự như update phần mềm thì đó hoàn toàn có thể là cực hình cho tất cả những người sau.Nếu các bạn được quyền tham gia vào thi công database (thường là review và góp ý) thì nên xem xét đến các vấn đề về việc những trường đúng theo phát sinh đề phòng đa số người tạo thành DB thiếu thốn sót.

Xem thêm: Cách để thức khuya học bài mà không buồn ngủ, 5 cách chống buồn ngủ khi học bài khuya

Loại phân quyền lắp thêm 3 có khá nhiều kiểu đổi khác trong từng phần mềm của từng công ty, và mình sẽ thay gắng xem thêm để viết một bài nói tới kiểu này trong khi mình cũng sẽ nỗ lực viết 1 bài nói đến kiểu phân quyền của odoo. Thực tế nó cũng gần giống kiểu phân quyền trong group thôi .Cảm ơn chúng ta đã đọc nội dung bài viết của mình. Văn phong tương đối lủng củng nên mong chúng ta thông cảm!.