目录
1. 关于最小权限原则
最小权限是指每个程序和系统用户都应该具有完成任务所必需的最小权限集合。
对于系统管理员而言,一个用户应该只能访问履行他的相关职责所需访问的数据和硬件。
所以,假设一个开发人员希望访问特定的日志文件,那么他的权限就应该只具有访问这个特定日志文件的权限,他不应该能够做其他的操作,去获得未经授权的额外信息。
赋予每一个合法动作最小的权限,就是为了保护数据以及功能,避免受到错误或者恶意行为的破坏。
然而,在有些实际的工作中,当一个开发人员请求开通访问权限时,系统管理员或者解决方案架构师可能会盲目的提供访问权限且没有限制,这样就导致了在组织内部有很多的漏洞,极有可能会造成重大安全风险。
2. 案例分析
假设来了一个新的实习生,组织的基础设置托管在AWS,你需要让这个实习生通过访问查看AWS管理控制台尽快熟悉岗位工作内容,所以你会给他分配哪种类型的访问权限?
有三个选项:
- 第一个是你和他共享AWS的ROOT凭证;
- 给他建立一个新的用户,并分配完全访问权限;
- 建立一个新的用户,并分配只读访问权限。
其中,第一种可以肯定能满足需求,如果比较第二个选项和第一个选项,你会发现第二个选项好一些,因为我们在设计用户权限的时候,尽量不要共享凭证,因为当需要的时候很难对具体使用者的操作和行为进行追踪。
而第三种,很显然就足够了满足需求了。当研发人员有访问指定服务器上的文件需求时, 首先必须写明原因并经过经理的审批,经理会评估研发人员的访问请求是否有必要,并询问想要访问文件具体的服务器、路径、文件名等信息,以及需要运行的命令等。
而结合AWS organization来进行账户权限管理会是最佳实践。