2017-08-21 11 views
0

db.fsyncLock()とdb.unlock()を使用して、mongoインスタンスのみをロックできる最小限の特権を持つユーザーを確保し、一貫性のあるスナップショットディスクイメージの私は、次の受信ロックを試みるように、このユーザーを使用する場合Mongoのロックとアンロックに必要な最小限の特権

{ 
    "role" : "local_lock", 
    "db" : "admin", 
    "isBuiltin" : false, 
    "roles" : [ ], 
    "inheritedRoles" : [ ], 
    "privileges" : [ 
     { 
      "resource" : { 
       "cluster" : true 
      }, 
      "actions" : [ 
       "logRotate", 
       "resync", 
       "unlock" 
      ] 
     } 
    ], 
    "inheritedPrivileges" : [ 
     { 
      "resource" : { 
       "cluster" : true 
      }, 
      "actions" : [ 
       "logRotate", 
       "resync", 
       "unlock" 
      ] 
     } 
    ] 
} 

:しかし、私は現在、作成した以下の役割を持っている

> db.fsyncLock() 
{ 
    "ok" : 0, 
    "errmsg" : "not authorized on admin to execute command { fsync: 1.0, lock: true }", 
    "code" : 13, 
    "codeName" : "Unauthorized" 
} 
> 

許可が必要とされている他のどのような? Mongoのバージョンは次のように:

MongoDB shell version v3.4.7 
MongoDB server version: 3.4.7 

答えて

0

さて、このタイトにユーザーを制限することは良い考えではないかもしれない、潜在的に彼/彼女は全くこのアクションを実行しない場合があります。

ただし、アカウントにはfsyncunlockのアクセス許可を付与してください。ドキュメントのfsync およびunlockアクションを参照してください。

+0

これは、ユーザーの要件をロックするため、自動化されたプロセスが想定されているユーザでありますできるだけ緊密に。私はID10Tエラーがどこかにあるように見えます:/ – ModulusJoe

0

私は、ユーザーに役割を割り当てるタイプミスを作っていたと信じて、次は実際に仕事ん:

[ 
    { 
     "role" : "local_lock", 
     "db" : "admin", 
     "isBuiltin" : false, 
     "roles" : [ ], 
     "inheritedRoles" : [ ], 
     "privileges" : [ 
      { 
       "resource" : { 
        "cluster" : true 
       }, 
       "actions" : [ 
        "fsync", 
        "unlock" 
       ] 
      } 
     ], 
     "inheritedPrivileges" : [ 
      { 
       "resource" : { 
        "cluster" : true 
       }, 
       "actions" : [ 
        "fsync", 
        "unlock" 
       ] 
      } 
     ] 
    } 
] 
関連する問題