<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                **副本集架構中需要開啟用戶的授權認證,也要配置副本集內部、成員身份驗證。副本集對于成員的內部身份驗證,MongoDB可以使用keyfiles或x.509證書。 使用keyfile身份驗證,副本集中的每個mongod實例都將keyfile的內容用作對部署中其他成員進行身份驗證的共享密碼。只有具有正確密鑰文件的mongod實例才能加入副本集。 所選方法用于所有內部通信。例如,當客戶端使用支持的身份驗證機制之一向mongos進行身份驗證時,mongos然后使用配置的內部身份驗證方法連接到所需的mongod進程。** ### 開啟認證授權、和內部認證我們需要下列步驟。 >我們需要創建管理員用戶 創建秘鑰文件 開啟認證 重啟服務 ### 1、副本集詳情: ``` 副本集成員: 192.168.6.17:27031 192.168.6.17:27032 192.168.6.17:27033 ``` #### 1.1、副本集配置文件: ``` systemLog: destination: file logAppend: true path: /data/mdb1/logs/mongod.log storage: dbPath: /data/mdb1/data journal: enabled: true directoryPerDB: true wiredTiger: engineConfig: directoryForIndexes: true processManagement: fork: true pidFilePath: /data/mdb1/pid/mongod.pid net: port: 27031 bindIp: 192.168.6.17,localhost maxIncomingConnections: 50 #security: # keyFile: /data/mdb1/conf/keyfile # authorization: enabled replication: replSetName: rs02 ``` ['副本集詳細配置'](https://blog.51cto.com/jiachen/2485887) #### 2、首先我們連接副本集的PRIMARY節點,創建用戶 ``` [root@VM_6_17_centos ~]# /root/mongodb-4.2.1/bin/mongo 192.168.6.17:27031 rs02:PRIMARY> use admin switched to db admin rs02:PRIMARY>db.createUser({ user:"mydba", pwd:"12348970", roles: [ { role:"root", db:"admin" } ]}) rs02:PRIMARY> db.getUsers() //查看admin數據庫的用戶 [ { "_id" : "admin.mydba", "userId" : UUID("11aefd2d-ca1b-405e-b4d2-c79ec66c2a7e"), "user" : "mydba", "db" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } ] rs02:PRIMARY> ``` 創建秘鑰文件 openssl rand-base64 756 > keyfile chmod 400 keyfile [root@VM_6_17_centos ~]# cp keyfile /data/mdb1/conf/ [root@VM_6_17_centos ~]# cp keyfile /data/mdb2/conf/ [root@VM_6_17_centos ~]# cp keyfile /data/mdb3/conf/ 開啟認證: ### 3、修改副本集集群所有成員的配置文件,開啟認證 ``` systemLog: destination: file logAppend: true path: /data/mdb1/logs/mongod.log storage: dbPath: /data/mdb1/data journal: enabled: true directoryPerDB: true wiredTiger: engineConfig: directoryForIndexes: true processManagement: fork: true pidFilePath: /data/mdb1/pid/mongod.pid net: port: 27031 bindIp: 192.168.6.17,localhost maxIncomingConnections: 50 security: keyFile: /data/mdb1/conf/keyfile //內部使用keyfile authorization: enabled //開啟認證 replication: replSetName: rs02 ``` ### 4、重啟三個副本集節點, 現在我們在連接PRIMARY節點 ``` [root@VM_6_17_centos ~]# /root/mongodb-4.2.1/bin/mongo 192.168.6.17:27031/admin -u mydba -p MongoDB shell version v4.2.1 Enter password: //輸入密碼 rs02:PRIMARY> show dbs; admin 0.000GB config 0.000GB local 0.001GB test_jia 0.000GB rs02:PRIMARY> use test_jia switched to db test_jia rs02:PRIMARY> show tables; user_hobby user_info rs02:PRIMARY> rs02:PRIMARY> db.createUser({ ... user:"haijiao", //我們創建普通用戶并授權 ... pwd:"87690544", ... roles: ... [ ... { ... role:"readWrite", ... db:"test_jia" ... } ... ]}) Successfully added user: { "user" : "haijiao", "roles" : [ { "role" : "readWrite", "db" : "test_jia" } ``` ### 5、我們使用普通用戶登錄數據庫 ``` [root@VM_6_17_centos ~]# /root/mongodb-4.2.1/bin/mongo 192.168.6.17:27031/test_jia -u haijiao -p MongoDB shell version v4.2.1 Enter password: connecting to: mongodb://192.168.6.17:27031/test_jia?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("bfa70dfe-2710-473c-90fb-59ab1ab97437") } MongoDB server version: 4.2.1 rs02:PRIMARY> show tables; user_hobby user_info rs02:PRIMARY> show dbs test_jia 0.000GB rs02:PRIMARY> ``` #### 5.1、我們也可以用另一種方式登錄 ``` [root@VM_6_17_centos ~]# /root/mongodb-4.2.1/bin/mongo 192.168.6.17:27032/test_jia MongoDB shell version v4.2.1 connecting to: mongodb://192.168.6.17:27032/test_jia?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("2f7b17b3-bb01-46c4-ac37-a89c2e4586e4") } MongoDB server version: 4.2.1 rs02:PRIMARY> show dbs; //沒有權限 rs02:PRIMARY> db.auth("haijiao","87690544") //認證 1 rs02:PRIMARY> show dbs; test_jia 0.000GB rs02:PRIMARY> rs02:PRIMARY> show tables; user_hobby user_info rs02:PRIMARY> ``` 總結:我們在線上部署時副本集使用域名進行配置,可以避免由于ip地址更改而導致的配置更改, 盡量使用復雜的密碼,服務器的數據端口使用防火墻進行限制,外網全部禁用, 內部可以允許某個ip或者網段訪問,并且開啟客戶端認證授權。 >下一章我們了解認證授權的詳細內容。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看