Thư mục hoạt động MongoDB
Việc tích hợp Azure Active Directory và MongoDB không thể dễ dàng hơn với các trình kết nối Azure Active Directory và MongoDB mạnh mẽ của Nền tảng khay, có thể kết nối với bất kỳ dịch vụ nào mà không cần các công cụ tích hợp riêng biệtCác ứng dụng luôn bật dựa trên khả năng chuyển đổi dự phòng tự động và truy cập dữ liệu theo thời gian thực. CData Sync tích hợp dữ liệu Active Directory trực tiếp vào phiên bản MongoDB của bạn, cho phép bạn hợp nhất tất cả dữ liệu của mình vào một vị trí duy nhất để lưu trữ, báo cáo, phân tích, học máy, trí tuệ nhân tạo, v.v. Show
Định cấu hình MongoDB làm Điểm đến sao chépSử dụng CData Sync, bạn có thể sao chép dữ liệu Active Directory sang MongoDB. Để thêm đích sao chép, hãy điều hướng đến tab Kết nối
Định cấu hình kết nối Active DirectoryBạn có thể định cấu hình kết nối với Active Directory từ tab Kết nối. Để thêm kết nối vào tài khoản Active Directory của bạn, hãy điều hướng đến tab Kết nối
Định cấu hình truy vấn sao chépCData Sync cho phép bạn kiểm soát sao chép bằng giao diện trỏ và nhấp và với các truy vấn SQL. Đối với mỗi bản sao bạn muốn định cấu hình, hãy điều hướng đến tab Công việc và nhấp vào Thêm công việc. Chọn Nguồn và Đích cho bản sao của bạn Sao chép toàn bộ bảngĐể sao chép toàn bộ bảng, nhấp vào Thêm bảng trong phần Bảng, chọn (các) bảng bạn muốn sao chép và nhấp vào Thêm bảng đã chọn Tùy chỉnh bản sao của bạnBạn có thể sử dụng tính năng Chuyển đổi để tùy chỉnh bản sao của mình. Tính năng Chuyển đổi cho phép bạn chỉ định cột nào sẽ sao chép, đổi tên cột tại đích và thậm chí thực hiện các thao tác trên dữ liệu nguồn trước khi sao chép. Để tùy chỉnh bản sao của bạn, hãy nhấp vào nút Chuyển đổi trong phần Bảng và tùy chỉnh bản sao.Lên lịch sao chép của bạnTrong phần Lịch biểu, bạn có thể lên lịch để công việc chạy tự động, định cấu hình công việc để chạy sau các khoảng thời gian đã chỉ định, từ 10 phút một lần đến một lần mỗi tháng Khi bạn đã định cấu hình công việc sao chép, hãy nhấp vào Lưu thay đổi. Bạn có thể định cấu hình bất kỳ số lượng công việc nào để quản lý sao chép dữ liệu Active Directory của mình sang MongoDB MongoDB Enterprise cung cấp hỗ trợ thông qua các thư viện LDAP nền tảng để ủy quyền các yêu cầu xác thực và ủy quyền cho dịch vụ Giao thức truy cập thư mục hạng nhẹ (LDAP) được chỉ định, chẳng hạn như Active Directory (AD) Hướng dẫn này mô tả cách định cấu hình MongoDB để thực hiện xác thực và ủy quyền thông qua máy chủ Active Directory (AD) thông qua các thư viện nền tảng điều kiện tiên quyếtQuan trọng Làm quen kỹ lưỡng với các chủ đề sau trước khi tiếp tục
Mô tả đầy đủ về AD nằm ngoài phạm vi của hướng dẫn này. Hướng dẫn này giả định kiến thức trước về AD MongoDB hỗ trợ sử dụng các cơ chế SASL để ràng buộc giữa máy chủ MongoDB và AD. Mô tả đầy đủ về SASL, cơ chế SASL hoặc các yêu cầu cấu hình AD cụ thể đối với cơ chế SASL nhất định nằm ngoài phạm vi của hướng dẫn này. Hướng dẫn này giả định kiến thức trước về SASL và chủ đề liên quan của nó cân nhắcHướng dẫn này giải thích cấu hình MongoDB để xác thực và ủy quyền AD Để thực hiện quy trình này trên máy chủ MongoDB của riêng bạn, bạn phải sửa đổi các quy trình đã cho liên quan đến cơ sở hạ tầng cụ thể của riêng bạn, đặc biệt là cấu hình Active Directory, xây dựng truy vấn AD hoặc quản lý người dùng Bảo mật tầng vận tảiTheo mặc định, MongoDB tạo kết nối TLS/SSL khi liên kết với máy chủ AD. Điều này yêu cầu định cấu hình máy chủ lưu trữ của máy chủ MongoDB để có quyền truy cập vào chứng chỉ Cơ quan cấp chứng chỉ (CA) của máy chủ AD Hướng dẫn này cung cấp hướng dẫn cho các cấu hình máy chủ cần thiết Hướng dẫn này giả định rằng bạn có quyền truy cập vào chứng chỉ CA của máy chủ AD và có thể tạo một bản sao của chứng chỉ trên máy chủ MongoDB Ví dụ Lược đồ Active DirectoryHướng dẫn này sử dụng các đối tượng AD mẫu sau đây làm cơ sở cho các truy vấn, cấu hình và đầu ra được cung cấp. Mỗi đối tượng chỉ hiển thị một tập hợp con của các thuộc tính có thể Đối tượng người dùngdn:CN=bob,CN=Users,DC=marketing,DC=example,DC=com userPrincipalName: [email protected] memberOf: CN=marketing,CN=Users,DC=example,DC=com dn:CN=alice,CN=Users,DC=engineering,DC=example,DC=com userPrincipalName: [email protected] memberOf: CN=web,CN=Users,DC=example,DC=com memberOf: CN=PrimaryApplication,CN=Users,DC=example,DC=com dn:CN=sam,CN=Users,DC=dba,DC=example,DC=com userPrincipalName: [email protected] memberOf: CN=dba,CN=Users,DC=example,DC=com memberOf: CN=PrimaryApplication,CN=Users,DC=example,DC=com dn:CN=joe,CN=Users,DC=analytics,DC=example,DC=com userPrincipalName: [email protected] memberof: CN=marketing,CN=Users,DC=example,DC=com Nhóm đối tượngdn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com Thông tin đăng nhập Active DirectoryHướng dẫn này sử dụng tên người dùng và mật khẩu để thực hiện truy vấn trên máy chủ AD. Thông tin đăng nhập được cung cấp phải có đủ đặc quyền trên máy chủ AD để hỗ trợ truy vấn liên quan đến hoặc Bộ bản saoỦy quyền LDAP MongoDB yêu cầu mọi bản sao được đặt trên ít nhất MongoDB 3. 4. 0 trở lên Cụm phân mảnhỦy quyền MongoDB LDAP yêu cầu mọi và trong cụm được phân đoạn phải có ít nhất MongoDB 3. 4. 0 trở lên Thủ tục1 Cấu hình TLS/SSL cho server chạy MongoDBĐể kết nối với máy chủ AD (AD) qua TLS/SSL, hoặc yêu cầu quyền truy cập vào chứng chỉ Cơ quan cấp chứng chỉ (CA) của máy chủ AD Trên Linux, chỉ định chứng chỉ CA của máy chủ AD thông qua tùy chọn mongo --host4 hoặc mongo --host5 trong tệp mongo --host6 Trình quản lý gói của nền tảng của bạn tạo tệp mongo --host6 trong khi cài đặt phụ thuộc mongo --host8 của MongoDB Enterprise. Để biết tài liệu đầy đủ về tệp cấu hình hoặc các tùy chọn được tham chiếu, hãy xem ldap. conf Trên Microsoft Windows, tải chứng chỉ Cơ quan cấp chứng chỉ (CA) của máy chủ AD bằng công cụ quản lý thông tin xác thực của nền tảng. Công cụ quản lý thông tin đăng nhập chính xác phụ thuộc vào phiên bản Windows. Để sử dụng công cụ này, hãy tham khảo tài liệu về phiên bản Windows của bạn Nếu hoặc không thể truy cập vào các tệp AD CA, chúng không thể tạo kết nối TLS/SSL tới máy chủ Active Directory Tùy chọn, đặt thành mongo --host2 để tắt TLS/SSL Cảnh báo Đặt thành mongo --host2 truyền thông tin văn bản gốc, bao gồm thông tin đăng nhập của người dùng, giữa MongoDB và máy chủ AD 2 Kết nối với máy chủ MongoDBKết nối với máy chủ MongoDB bằng trình bao bằng các tùy chọn và mongo --host Nếu máy chủ MongoDB của bạn hiện đang thực thi xác thực, thì bạn phải xác thực với cơ sở dữ liệu mongo --host8 với tư cách là người dùng có các đặc quyền quản lý vai trò, chẳng hạn như các đặc quyền được cung cấp bởi hoặc. Bao gồm cơ chế xác thực được định cấu hình phù hợp với máy chủ MongoDB mongo --host Ghi chú Đối với việc triển khai Windows MongoDB, bạn nên thay thế bằng var admin = db.getSiblingDB("admin") admin.createRole( { role: "CN=dba,CN=Users,DC=example,DC=com", privileges: [], roles: [ "userAdminAnyDatabase" ] } )3 3 Tạo vai trò quản trị người dùngĐể quản lý người dùng MongoDB bằng AD, bạn cần tạo ít nhất một vai trò trên cơ sở dữ liệu mongo --host8 có thể tạo và quản lý các vai trò, chẳng hạn như vai trò được cung cấp bởi hoặc Tên của vai trò phải khớp chính xác với Tên phân biệt của nhóm AD. Nhóm phải có ít nhất một người dùng AD làm thành viên Đưa ra có sẵn, các hoạt động sau đây
var admin = db.getSiblingDB("admin") admin.createRole( { role: "CN=dba,CN=Users,DC=example,DC=com", privileges: [], roles: [ "userAdminAnyDatabase" ] } ) Ngoài ra, bạn có thể cấp vai trò cho từng cơ sở dữ liệu mà người dùng phải có đặc quyền quản trị người dùng trên. Các vai trò này cung cấp các đặc quyền cần thiết để tạo và quản lý vai trò Quan trọng Cân nhắc áp dụng nguyên tắc đặc quyền tối thiểu khi định cấu hình vai trò MongoDB, nhóm AD hoặc thành viên nhóm 4 Tạo tệp cấu hình MongoDBTệp cấu hình MongoDB configuration file là tệp YAML văn bản thuần túy có phần mở rộng tệp security: authorization: "enabled" ldap: servers: "activedirectory.example.net" setParameter: authenticationMechanisms: 'PLAIN'1.
5 Định cấu hình MongoDB để kết nối với Active DirectoryTrong tệp cấu hình MongoDB, đặt thành máy chủ và cổng của máy chủ AD. Nếu cơ sở hạ tầng AD của bạn bao gồm nhiều máy chủ AD nhằm mục đích sao chép, hãy chỉ định máy chủ và cổng của máy chủ dưới dạng danh sách được phân tách bằng dấu phẩy để Bạn cũng phải bật xác thực LDAP bằng cách đặt thành đã bật và thành security: authorization: "enabled" ldap: servers: "activedirectory.example.net" setParameter: authenticationMechanisms: 'PLAIN'9 Thí dụ Để kết nối với máy chủ AD đặt tại security: ldap: authz: queryTemplate: "DC=example,DC=com??sub?(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={USER}))"0, hãy bao gồm các thông tin sau trong tệp cấu hình security: authorization: "enabled" ldap: servers: "activedirectory.example.net" setParameter: authenticationMechanisms: 'PLAIN' MongoDB phải liên kết với máy chủ AD để thực hiện truy vấn. Theo mặc định, MongoDB sử dụng cơ chế xác thực đơn giản để liên kết chính nó với máy chủ AD Ngoài ra, bạn có thể định cấu hình các cài đặt sau trong tệp cấu hình để liên kết với máy chủ AD bằng cách sử dụng security: ldap: authz: queryTemplate: "DC=example,DC=com??sub?(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={USER}))"1
Hướng dẫn này sử dụng cơ chế xác thực LDAP security: ldap: authz: queryTemplate: "DC=example,DC=com??sub?(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={USER}))"5 mặc định 6 Định cấu hình Mẫu truy vấn LDAP để ủy quyềnTrong tệp cấu hình MongoDB, đặt thành mẫu URL truy vấn LDAP được định dạng RFC4516. Trong mẫu, hãy sử dụng trình giữ chỗ security: ldap: authz: queryTemplate: "DC=example,DC=com??sub?(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={USER}))"7 để thay thế tên người dùng được xác thực thành URL truy vấn LDAP. Thiết kế mẫu truy vấn để truy xuất các nhóm của người dùng đã xác thực Ghi chú Mô tả đầy đủ về các truy vấn RFC4515, RFC4516 hoặc AD nằm ngoài phạm vi của hướng dẫn này. Những gì được cung cấp trong hướng dẫn này chỉ là một ví dụ và có thể không áp dụng được cho việc triển khai AD cụ thể của bạn Thí dụ Mẫu truy vấn sau đây trả về bất kỳ nhóm nào liệt kê security: ldap: authz: queryTemplate: "DC=example,DC=com??sub?(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={USER}))"7 với tư cách là thành viên, theo tư cách thành viên nhóm đệ quy. Truy vấn LDAP này giả định rằng các đối tượng nhóm theo dõi tư cách thành viên của người dùng bằng cách lưu trữ Tên phân biệt (DN) đầy đủ của người dùng bằng cách sử dụng thuộc tính security: ldap: userToDNMapping: '[ { match : "(.+)", ldapQuery: "DC=example,DC=com??sub?(userPrincipalName={0})" } ]'0. Truy vấn bao gồm quy tắc đối sánh cụ thể của AD OID security: ldap: userToDNMapping: '[ { match : "(.+)", ldapQuery: "DC=example,DC=com??sub?(userPrincipalName={0})" } ]'1 cho LDAP_MATCHING_RULE_IN_CHAIN. Quy tắc đối sánh này là phần mở rộng dành riêng cho AD cho các bộ lọc tìm kiếm LDAP security: ldap: authz: queryTemplate: "DC=example,DC=com??sub?(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={USER}))" Sử dụng mẫu truy vấn, MongoDB thay thế security: ldap: authz: queryTemplate: "DC=example,DC=com??sub?(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={USER}))"7 bằng tên người dùng được xác thực để truy vấn máy chủ LDAP Ví dụ: người dùng xác thực là security: ldap: userToDNMapping: '[ { match : "(.+)", ldapQuery: "DC=example,DC=com??sub?(userPrincipalName={0})" } ]'3. MongoDB tạo truy vấn LDAP dựa trên , thay thế mã thông báo security: ldap: authz: queryTemplate: "DC=example,DC=com??sub?(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={USER}))"7 bằng tên người dùng được cung cấp. Máy chủ Active Directory thực hiện tra cứu nhóm đệ quy cho bất kỳ nhóm nào liệt kê trực tiếp hoặc chuyển tiếp người dùng là thành viên. Dựa trên , máy chủ AD trả về var admin = db.getSiblingDB("admin") admin.createRole( { role: "CN=dba,CN=Users,DC=example,DC=com", privileges: [], roles: [ "userAdminAnyDatabase" ] } )7 và security: ldap: userToDNMapping: '[ { match : "(.+)", ldapQuery: "DC=example,DC=com??sub?(userPrincipalName={0})" } ]'7 MongoDB ánh xạ từng nhóm DN được trả về thành một vai trò trên cơ sở dữ liệu mongo --host8. Đối với mỗi nhóm được ánh xạ DN, nếu có một vai trò hiện có trên cơ sở dữ liệu mongo --host8 có tên khớp chính xác với DN, MongoDB sẽ cấp cho người dùng các vai trò và đặc quyền được gán cho vai trò đó Quy tắc đối sánh DC=example,DC=com??sub?([email protected])
0 yêu cầu cung cấp đầy đủ DN của người dùng xác thực. Nếu người dùng xác thực bằng định dạng tên người dùng khác, chẳng hạn như DC=example,DC=com??sub?([email protected])
1 của họ, thì bạn phải chuyển đổi tên người dùng đến thành DN bằng cách sử dụng7 Không bắt buộc. Chuyển đổi tên người dùng đến để xác thực qua Active Directory,Nếu người dùng của bạn xác thực bằng tên người dùng không phải là DN LDAP đầy đủ, bạn có thể cần chuyển đổi tên người dùng để hỗ trợ xác thực hoặc ủy quyền LDAP. MongoDB sử dụng tên người dùng đã chuyển đổi cho cả xác thực và ủy quyền Trong tệp cấu hình MongoDB, đặt để chuyển đổi tên người dùng được cung cấp bởi người dùng xác thực thành một AD DN để hỗ trợ Thí dụ Với cấu hình , người dùng phải xác thực bằng LDAP DN đầy đủ của họ. Thay vào đó, nếu người dùng xác thực bằng cách sử dụng DC=example,DC=com??sub?([email protected])
6 của họ thì phải áp dụng chuyển đổi để chuyển đổi tên người dùng đã cung cấp thành LDAP DN đầy đủCấu hình sau sử dụng bộ lọc biểu thức chính quy DC=example,DC=com??sub?([email protected])
8 để nắm bắt tên người dùng được cung cấp. MongoDB chèn tên người dùng đã chụp vào mẫu truy vấn DC=example,DC=com??sub?([email protected])
9 trước khi thực hiện truy vấnsecurity: ldap: userToDNMapping: '[ { match : "(.+)", ldapQuery: "DC=example,DC=com??sub?(userPrincipalName={0})" } ]' Máy chủ Active Directory trả về LDAP DN đầy đủ được liên kết với đối tượng người dùng với một DC=example,DC=com??sub?([email protected])
6 phù hợp. MongoDB sau đó có thể sử dụng tên người dùng đã chuyển đổi này để xác thực và ủy quyềnBạn phải sửa đổi cấu hình mẫu đã cho để phù hợp với việc triển khai của mình. Ví dụ: DN cơ sở DC=example,DC=com??sub?([email protected])
9 phải khớp với DN cơ sở chứa các thực thể người dùng của bạn. Các sửa đổi khác có thể cần thiết để hỗ trợ triển khai AD của bạnThí dụ Người dùng xác thực là security: ldap: bind: queryUser: "[email protected]" queryPassword: "secret123"2. MongoDB trước tiên áp dụng bất kỳ biến đổi nào được chỉ định trong. Dựa trên cấu hình được cung cấp, MongoDB nắm bắt tên người dùng trong giai đoạn DC=example,DC=com??sub?([email protected])
8 và thực hiện truy vấn LDAPDC=example,DC=com??sub?([email protected])
Dựa trên cấu hình , máy chủ AD sẽ trả về security: ldap: bind: queryUser: "[email protected]" queryPassword: "secret123"5 MongoDB sau đó thực thi truy vấn LDAP được định cấu hình trong , thay thế mã thông báo security: ldap: authz: queryTemplate: "DC=example,DC=com??sub?(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={USER}))"7 bằng tên người dùng đã chuyển đổi security: ldap: bind: queryUser: "[email protected]" queryPassword: "secret123"5 8 Định cấu hình thông tin đăng nhập truy vấnMongoDB yêu cầu thông tin đăng nhập để thực hiện các truy vấn trên máy chủ AD Định cấu hình các cài đặt sau trong tệp cấu hình
security: ldap: bind: queryUser: "[email protected]" queryPassword: "secret123" Trên các máy chủ Windows MongoDB, bạn có thể đặt thành dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com05 để sử dụng thông tin đăng nhập của người dùng hệ điều hành thay vì dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com03 và dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com07 Phải có quyền thực hiện tất cả các truy vấn LDAP thay mặt cho MongoDB 9 Không bắt buộc. Thêm cài đặt cấu hình bổ sungThêm bất kỳ tùy chọn cấu hình bổ sung nào cần thiết cho việc triển khai của bạn. Ví dụ: bạn có thể chỉ định mong muốn của mình hoặc thay đổi số mặc định 10 Khởi động máy chủ MongoDB với xác thực và ủy quyền Active DirectoryKhởi động máy chủ MongoDB với tùy chọn, chỉ định đường dẫn đến tệp cấu hình được tạo trong quy trình này. Nếu máy chủ MongoDB hiện đang chạy, hãy chuẩn bị thích hợp để dừng máy chủ dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com0 Triển khai Windows MongoDB phải sử dụng thay vì 11 Kết nối với máy chủ MongoDBKết nối với máy chủ MongoDB, xác thực là người dùng có tư cách thành viên nhóm trực tiếp hoặc chuyển tiếp tương ứng với vai trò MongoDB trên cơ sở dữ liệu mongo --host8 với , hoặc vai trò tùy chỉnh có đặc quyền tương đương Sử dụng trình bao để xác thực với máy chủ MongoDB, đặt các tùy chọn sau
Thí dụ Trước đó trong quy trình này, bạn đã định cấu hình vai trò dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com26 trên cơ sở dữ liệu mongo --host8 với các quyền được yêu cầu. Vai trò này tương ứng với một nhóm AD. Dựa trên cấu hình , bạn có thể xác thực là người dùng dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com28 và nhận các quyền cần thiết dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com1 Việc triển khai Windows MongoDB phải sử dụng var admin = db.getSiblingDB("admin") admin.createRole( { role: "CN=dba,CN=Users,DC=example,DC=com", privileges: [], roles: [ "userAdminAnyDatabase" ] } )3 thay vì Với cấu hình, người dùng xác thực thành công và nhận được các quyền thích hợp Ghi chú Nếu bạn muốn xác thực là người dùng hiện tại không phải ______1_______31, hãy đặt thành dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com33. Điều này yêu cầu máy chủ MongoDB bao gồm dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com33 11 Tạo vai trò để ánh xạ các nhóm AD được trả vềĐối với mỗi nhóm trên máy chủ AD mà bạn muốn sử dụng để ủy quyền MongoDB, bạn phải tạo một vai trò phù hợp trên cơ sở dữ liệu mongo --host8 của máy chủ MongoDB Thí dụ Hoạt động sau đây tạo một vai trò được đặt tên theo nhóm AD DN dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com38, chỉ định các vai trò và đặc quyền phù hợp với nhóm đó dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com2 Với cấu hình , MongoDB cấp cho người dùng xác thực vai trò là dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com39 hoặc security: ldap: bind: queryUser: "[email protected]" queryPassword: "secret123"2 trên cơ sở dữ liệu dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com42 Ghi chú Để quản lý các vai trò trên cơ sở dữ liệu mongo --host8, bạn phải được xác thực là người dùng trên mongo --host8, hoặc một vai trò tùy chỉnh trên đó với các đặc quyền tương đương 12 Chuyển người dùng hiện tại từ dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com 31 sang máy chủ ActiveDirectoryNếu nâng cấp cài đặt hiện có được định cấu hình trên cơ sở dữ liệu dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com31, bạn phải đáp ứng các yêu cầu sau đối với mỗi người dùng để đảm bảo quyền truy cập sau khi định cấu hình MongoDB để xác thực và ủy quyền AD
Thí dụ Người dùng sau tồn tại trên cơ sở dữ liệu dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com31 dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com3 Giả sử người dùng thuộc nhóm AD dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com51, thao tác sau đây sẽ tạo vai trò phù hợp với các đặc quyền phù hợp dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com4 Dựa trên cấu hình , MongoDB ủy quyền cho bất kỳ người dùng nào có tư cách thành viên trực tiếp hoặc chuyển tiếp trong nhóm dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com51 để thực hiện các thao tác trên cơ sở dữ liệu dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com55 và dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com42 Quan trọng Khi định cấu hình vai trò cho nhóm AD tương ứng, hãy nhớ rằng tất cả người dùng có tư cách thành viên trong nhóm đó đều có thể nhận được các vai trò và đặc quyền được chỉ định. Cân nhắc áp dụng nguyên tắc đặc quyền tối thiểu khi định cấu hình vai trò MongoDB, nhóm AD hoặc thành viên nhóm Nếu bạn muốn tiếp tục cho phép người dùng trên cơ sở dữ liệu không phải ______1_______31 truy cập MongoDB, bạn phải bao gồm dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com33 trong tùy chọn cấu hình dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com5 Ngoài ra, chuyển những người dùng không phải ______1_______31 sang AD bằng cách thực hiện theo quy trình trên Quy trình này tạo ra tệp cấu hình sau dn:CN=marketing,CN=Users,DC=example,DC=com member:CN=bob,CN=Users,DC=marketing,DC=example,DC=com member:CN=joe,CN=Users,DC=analytics,DC=example,DC=com dn:CN=engineering,CN=Users,DC=example,DC=com member:CN=web,CN=Users,DC=example,DC=com member:CN=dba,CN=users,DC=example,DC=com dn:CN=web,CN=Users,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com dn:CN=dba,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com dn:CN=PrimaryApplication,CN=Users,DC=example,DC=com member:CN=sam,CN=Users,DC=dba,DC=example,DC=com member:CN=alice,CN=Users,DC=engineering,DC=example,DC=com6 Cấu hình mẫu đã cho yêu cầu sửa đổi để phù hợp với lược đồ Active Directory, cấu trúc thư mục và cấu hình của bạn. Bạn cũng có thể yêu cầu thêm tùy chọn tệp cấu hình cho việc triển khai của mình. Để biết thêm thông tin về cấu hình vai trò và đặc quyền, hãy xem
← Xác thực bằng SASL và LDAP với OpenLDAP Ủy quyền LDAP → © MongoDB, Inc 2008-nay. MongoDB, Mongo và logo chiếc lá là các nhãn hiệu đã đăng ký của MongoDB, Inc LDAP trong MongoDB là gì?Máy chủ LDAP đánh giá truy vấn và trả về danh sách các nhóm mà người dùng được xác thực thuộc về . MongoDB cho phép người dùng thực hiện các hành động trên máy chủ bằng cách ánh xạ Tên phân biệt (DN) của từng nhóm được trả về thành một vai trò trên cơ sở dữ liệu quản trị.
Bạn có thể sử dụng LDAP với Active Directory không?AD không hỗ trợ LDAP, có nghĩa là nó vẫn có thể là một phần trong sơ đồ quản lý truy cập tổng thể của bạn. Active Directory chỉ là một ví dụ về dịch vụ thư mục hỗ trợ LDAP . Có những hương vị khác, quá. Dịch vụ thư mục Red Hat, OpenLDAP, Máy chủ thư mục Apache, v.v.
Kerberos trong MongoDB là gì?Kerberos là giao thức xác thực tiêu chuẩn ngành dành cho các hệ thống máy khách/máy chủ lớn . Kerberos cho phép MongoDB và các ứng dụng tận dụng các quy trình và cơ sở hạ tầng xác thực hiện có. MongoDB Enterprise chỉ hỗ trợ triển khai Kerberos của MIT.
LDAP có thể được sử dụng để ủy quyền không?Chỉ có thể áp dụng ủy quyền LDAP cho người dùng được xác thực LDAP . Người dùng LDAP phải thuộc một hoặc nhiều nhóm LDAP hoặc có một hoặc nhiều thuộc tính LDAP ánh xạ tới các vai trò trong Doanh nghiệp kết nối ứng dụng, với quyền truy cập thích hợp vào API REST của quản trị viên. |