欢迎回到我们的4部分博客系列,展示蒙古数据库中可用的最佳实践和控制,帮助您创建一个安全、兼容的数据库平台。

在这一期中,我们将讨论数据库访问控制—包括身份验证和授权。

在第1部分中,我们了解了数据安全和法规遵从性的一般要求。 展望未来,在第3部分中,我们将讨论审计和加密。 在第4部分,我们将总结环境控制和管理。

如果您想抢先一步,在一期文章中了解所有这些主题,只需下载蒙古数据库安全架构指南。

保护您的蒙古数据库数据库的第一步是启用访问控制。 由于新的应用程序和服务正在开发中,访问控制通常不会强制实施。 但是一旦这些应用程序为测试和质量保证做好了准备,那么特别启用它就很重要,因此要求所有的客户机和服务器在连接到数据库之前提供有效的凭证。 这可以确保在将应用程序投入生产时,不会部署暴露的实例。 有关如何配置身份验证的教程,请参考文档。

确保蒙古数据库在可信网络环境中运行,并限制蒙古数据库实例监听传入连接的接口。 仅允许受信任的客户端访问蒙古数据库实例可用的网络接口和端口。 请参阅文档的”安全性强化”部分,了解有关降低暴露风险的更多信息。

访问蒙古数据库的实体的身份验证可以从数据库本身内部进行管理,或者通过与外部机制(即e. LDAP,x .509公钥基础设施证书,或一个Kerberos服务). 蒙古数据库企业高级版,当使用LDAP或Kerberos时,需要蒙古数据库的认证和支持的生产版本。

蒙古数据库在每个数据库级别上使用SHA-1 IETF标准对实体进行认证。 用户通过身份验证命令进行身份验证,而数据库节点可以通过**文件向蒙古数据库集群进行身份验证。 查看身份验证文档以了解更多信息。

许多组织广泛使用LDAP来标准化和简化跨内部系统和应用程序管理大量用户的方式。 在许多情况下,LDAP还被用作用户访问控制的集中授权机构,以确保内部安全策略符合公司和监管准则。

通过LDAP集成,MongoDB可以直接针对企业LDAP基础架构对用户进行身份验证,以强制实施集中式访问策略。 请注意,MongoDB目前支持LDAP身份验证,而不是授权。 请参阅本文的以下部分,了解更多关于蒙古数据库中可用的授权控制的信息。

管理员可以将蒙古数据库配置为通过Linux PAM或通过将身份验证请求代理到指定的LDAP服务来验证用户。 文档中提供了关于配置LDAP身份验证的教程。

蒙古数据库企业高级版支持使用Kerberos服务的身份验证。 Kerberos是大型客户机/服务器系统的行业标准身份验证协议,允许客户机和服务器验证彼此的身份。 有了Kerberos支持,蒙古数据库可以利用现有的身份验证基础设施和流程,包括微软视窗活动目录。

与LDAP和x一样。509证书,在用户可以使用Kerberos向蒙古数据库进行身份验证之前,必须首先在蒙古数据库中创建并授予权限。 蒙古数据库和Kerberos教程中描述了这样做的过程以及完整的配置清单。

支持x .509证书蒙古数据库可以与现有的信息安全基础设施和证书颁发机构集成,支持用户和节点间身份验证。 用户可以使用客户端证书而不是自行维护的密码向蒙古数据库进行身份验证。

通过x可以保护蒙古数据库节点之间的集群间身份验证和通信。509成员证书,而不是**文件,以更少的管理开销确保更严格的成员控制。e. 通过消除**文件使用的共享密码。 x.节点可以使用509证书来验证它们在蒙古数据库副本集和分片集群中的成员资格。 一个证书颁发机构应该颁发所有的x .509分片集群或副本集成员的证书。

蒙古数据库和x中描述了配置说明。509证书教程。

蒙古数据库企业高级版支持使用微软活动目录进行身份验证,同时支持Kerberos和LDAP . 活动目录域控制器对运行在窗口网络中的蒙古数据库用户和服务器进行身份验证。

蒙古数据库允许管理员定义应用程序或用户拥有的特定权限,以及他们在查询数据库时可以看到的数据。

用户定义的角色

蒙古数据库提供了十多个支持不同用户和管理员权限的内置角色。 这些可以通过用户定义的角色进行自定义,使管理员能够为用户或应用程序分配细粒度的权限。 授权权限可以基于用户在其角色中需要的特定功能,或者反映其组织结构。 蒙古数据库提供了以数据库和集合级别的粒度指定用户权限的能力。

secure MongoDB part 2 数据库访问控制

图1:蒙古数据库用户定义的角色允许职责分离

权限被分配给角色,角色又被分配给用户。 例如:

  • 可以为用户和应用程序类分配插入数据的权限,但不能更新或删除数据库中的数据
  • 数据库管理员可能被赋予特权,使他们能够在数据库上创建集合和索引,而开发人员仅限于CRUD操作
  • 某些管理员角色可能具有构建复制集和配置分片的群集范围的特权,而其他角色仅限于创建新用户或检查日志
  • 监控蒙古数据库集群的进程可以被限制为只运行那些检索服务器状态的命令,而没有执行数据库操作的完全管理权限
  • 在多租户环境中,”房东”开发人员和管理员可以跨物理数据库被分配权限,而”租户”开发人员和管理员可以跨逻辑数据库或单个集合被授予更有限的一组操作。 这一功能可以在组织之间和组织内部实现职责和控制的明确分离。

为了确保帐户设置和维护的便利性,可以跨团队委派角色,确保在组织内的特定职能部门之间实施一致的策略。

查看文档的授权部分,了解更多关于蒙古数据库中角色的信息。

结合蒙古数据库企业高级版提供的审计功能,客户可以为每个角色定义特定的管理操作,然后记录所有这些操作。 因此,组织能够实施端到端的运营控制,并保持对合规性和报告行动的洞察力。

蒙古数据库的字段级编辑允许对文档的单个字段建立访问控制,与客户端代码一起工作。 通过蒙古数据库的聚合管道的编辑阶段实现,为开发人员提供了一种在每个字段级别限制返回文档内容的方法。 权限可以基于文档的内容,也可以基于特定的用户权限,还可以基于安全标签。 可以使用蒙古数据库查询语言来描述访问控制策略,这使得开发人员实现所需的控制变得简单。

由于数据在返回到应用程序之前经过编辑,因此减少了敏感信息的暴露。 字段级修订适用于广泛的敏感数据,包括个人身份信息,如姓名、社会安全号码、生日和银行账号。 通过将不同敏感度级别的数据放在同一个文档中,简化了模式和查询设计。

secure MongoDB part 2 数据库访问控制

图2:蒙古数据库字段级修订限制对敏感数据的访问

应用程序必须在每次请求时将密文逻辑传递给数据库。 因此,它依赖于运行在应用程序中的可信中间件来确保编校管道阶段被附加到任何需要编校逻辑的查询中。

通过对用户权限管理、审计和加密的全面控制,再加上管理控制,MongoDB可以满足本博客系列中讨论的最佳实践和要求。 数据库同步工具 蒙古数据库企业高级版是蒙古数据库经过认证和支持的生产版本,具有高级安全功能,包括Kerberos和LDAP身份验证、静态数据加密、FIPS合规性和审计日志维护。 这些功能扩展了蒙古数据库的安全框架,包括基于角色的访问控制、公钥基础设施证书、字段级密文和SSL/TLS数据传输加密。

在这篇博文系列的第三部分,我们将深入探讨蒙古数据库审计和加密。

您现在可以通过阅读蒙古数据库安全体系结构指南来了解所有这些功能。 如果你想自己尝试,下载蒙古数据库企业版,免费进行评估和开发。

相关文章:

  • 2021-10-26
  • 2021-05-13
  • 2021-09-28
  • 2021-10-03
  • 2021-05-23
  • 2022-12-23
  • 2021-10-16
  • 2022-12-23
猜你喜欢
  • 2021-07-22
  • 2022-12-23
  • 2022-12-23
  • 2021-09-01
  • 2022-12-23
  • 2021-09-28
相关资源
相似解决方案