MongoDB安全的3A -- 認證(Authentication)、授權(Authorization)和審計(Audit

MongoDB安全的3A -- 認證(Authentication)、授權(Authorization)和審計(Auditing


英文原文:

http://blog.mongodirector.com/the-three-as-of-mongodb-security-authentication-authorization-auditing/

 

clip_image002

 

MongoDB公司在過去的18個月取得了令人印象深刻的進步。該產品的最具重大意義的提高之一是安全方面。安全對於生產數據庫是最重要的。現有關係型數據庫提供了大量的插件和空間來幫助DBA管理數據庫安全並且MongoDB也越來越類似。本文我們將深入認證(Authentication)、授權(Authorization)和審計(Auditing)方面。

 

1. 認證(Authentication

MongoDB提供了大量的用戶連接到數據的認證機制。選擇提供安全和管理最好的平衡的機制。儘管認證是可選的,但推薦的安全實踐是所有的生產系統啓用認證。

 

質疑應答認證(Challenge Response Authentication(MongoDB-CR))

這是傳統的基於用戶名密碼的認證。用戶可以在一個數據庫或整個集羣範圍創建。如果一個用戶只須在特定的數據庫訪問數據,推薦只在該數據庫創建用戶。集羣級別的訪問應該限制給管理員。

 

X.509證書認證(X.509 certificate Authentication

用戶可以使用X.509證書認證到他們的MongoDB數據庫。爲了實現它,MongoDB實例需要啓用SSL。默認MongoDB社區版沒有啓用SSL。你需要轉向你自己的版本或者註冊使用企業版。你可以使用唯一的標題對每個X.509證書在MongoDB創建一個用戶。更多操作嚮導細節參考MongoDB X.509 certificate setup指南。

 

Kerberos認證(Kerberos Authentication

MongoDB企業版支持使用Kerberos認證,它是一個客戶端/服務器認證的行業標準。例如,如果你是一個安裝有活動目錄(Active Directory)的企業,可以使用Kerberos認證機制認證用戶 – 這避免了管理用戶名/密碼或者證書的麻煩。點擊這裏獲取集成MongoDB到活動目錄的指南。

 

2. 授權(Authorization

授權系統決定了用戶可以執行什麼操作,一旦他們完成授權。MongoDB支持基於角色的訪問控制(RBAC)模型。每個用戶分配特定的角色,決定了他允許執行什麼操作。MongoDB有一批內置角色並且你也可以創建你自己的角色。每個角色分配了一批對資源允許操作的權限。MongoDB在以下範圍提供了內置角色:

 

數據庫用戶角色(Database user roles) -- read, readWrite

數據庫管理員角色(Database administrator roles) -- dbAdmin, dbOwner, userAdmin

集羣管理員角色(Cluster administrator roles) -- clusterAdmin, clusterManager, clusterMonitor, hostManager

備份和恢復角色(Backup and restore roles) -- backup, restore

所有數據庫角色(All Database roles) -- readAnyDatabase, readWriteAnyDatabase, userAdminAnyDatabase

超級用戶角色(Superuser roles) – root

 

參考內置角色文檔,更詳細的理解需要分配給用戶的角色。

 

3. 審計(Auditing

MongoDB 2.6企業版增加了對審計的支持。你可以配置MongoDB實例,對於感興趣的MongoDB操作,像用戶登錄、DDL修改、複製集配置修改等,生成審計事件。這能讓你使用已經存在企業審計工具來獲取和處理需要的事件。更詳細的信息參考MongoDB可被審計的事件列表

 

更多關於提高MongoDB數據庫性能的技巧,請參考我們的其他博客文章 – 10 tips to improve your MongoDB security

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章