如何管理系统中的敏感数据?
如何在系统中管理敏感数据?下图列出了一系列指导原则。
什么是敏感数据?
个人身份信息 (PII)、健康信息、知识产权、财务信息、教育和法律记录都属于敏感数据。
大多数国家都有要求保护敏感数据的法律法规。例如,欧盟的《通用数据保护条例》(GDPR)对数据保护和隐私制定了严格的规定。不遵守这些法规可能会导致巨额罚款、法律诉讼以及对违规实体的制裁。
我们在设计系统时,需要考虑对敏感数据的安全性。
01 数据加密和密钥管理
数据传输需要使用 SSL 加密。密码不应以纯文本形式存储。
在密钥存储方面,我们设计了不同的角色,包括密码申请人、密码管理人和审核人,他们都持有一把密钥。我们需要三把钥匙才能打开一把锁。
02 数据脱敏
数据脱敏,又称数据匿名化或数据消毒,是指从数据集中删除或修改个人信息,使个人身份不易被识别的过程。这种做法对于保护个人隐私和确保遵守数据保护法律法规至关重要。数据脱敏通常用于外部共享数据(如用于研究或统计分析),甚至用于组织内部,以限制对敏感信息的访问。
GCM 等算法将密码数据和密钥分开存储,这样黑客就无法破译用户数据。
03 最小数据权限
为了保护敏感数据,我们应该授予用户最小的权限。通常,我们会设计基于角色的访问控制(RBAC),根据授权用户在组织中的角色来限制他们的访问权限。这是一种广泛使用的访问控制机制,可简化用户权限管理,确保用户只能访问其角色所需的信息和资源。
04 数据生命周期管理
当我们开发报告或数据源等数据产品时,需要设计一个流程来维护数据质量。在开发过程中,应授予数据开发人员必要的权限。数据上线后,应取消他们的数据访问权限。
以上内容源自公众号“ByteByteGo”,是硅谷百万粉丝技术大v、《搞定系统设计:面试敲开大厂的门》一书作者Alex Xu的官方号。
关于系统设计的面试,可以说是所有技术面试中最难的。
面试者会被要求设计一个软件系统,比如news feed、谷歌搜索、聊天系统等。
这些问题令人望而生畏,没有特定的解题模式,通常范围都非常广且模糊,其答案也是开放的,也可以说不存在标准答案或正确答案。
很多公司都设有系统设计面试,因为这种面试能考验软件工程师日常工作所需的沟通能力和解决问题的能力。
面试官会考查候 选人如何分析一个模糊的问题并一步步解决这个问题;同时,他们还会考查候选人阐述自己想法的能力、与其他人讨论的能力、评估及优化系统的能力。
系统设计的问题是开放式的。
在现实世界中,不同的系统之间存在许多差别,而系统自身还要应对各种变化。
面试官期望得到的答案是一个能满足系统设计目标的架构。
在面试过程中,对问题的讨论可能会因面试官的个人风格不同而走向不同的方向。
有些面试官喜欢询问高层架构设计方面的问题,以全面地考查面试者的知识面,也有些面试官会选择一个或者几个领域来深入地考查知识点。
一般来说,应该搞清楚系统的需求、限制和瓶颈,以便面试双方可以有效地进行沟通。
Alex 所著《搞定系统设计:面试敲开大厂的门》 一书的目标是提供一个可靠的策略,帮助面试者回答系统设计问题。采取正确的策略且具备必要的知识,对面试的成功至关重要。
本书讲述了构建一个可扩展系统所需的基础知识。你从本书中获得的知识越多,在解决系统设计问题时就越从容。
本书还提供了一个逐步解决系统设计问题的框架,用了很多实例来阐释这种系统性的解决方法且附有详细步骤,你可以照着操作。只要勤加练习,在回答系统设计面试问题时,你就会胸有成竹。
本书原著 豆瓣评分8.4 ,得到众多读者的好评,案例经典、信息全面系统、非常适合用来面试!
如果你想顺利通过高难度的系统设计面试,那就看看这本被众多读者验证过的好书吧~~
↑限时低于五折优惠↑
限时低于五折优惠,快快抢购吧!
发布:刘恩惠
审核:陈歆懿
如果喜欢本文 欢迎 在看丨留言丨分享至朋友圈 三连 < PAST · 往期回顾 >
书单 | 3月新书速递!