簡體   English   中英

Mongo Kubernetes確保安全

[英]Mongo kubernetes securing

我正在嘗試在kubernetes上為mongodb創建用戶名/密碼。 但是似乎MONGO_INITDB_ROOT_USERNAME / PASSWORD無法正常工作或無法正常工作,因為我無法使用以下憑據登錄:

   apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: mongotest
spec:
  revisionHistoryLimit: 3
  selector:
    matchLabels:
      app: mongotest 
  replicas: 1
  podManagementPolicy: Parallel
  updateStrategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: mongotest
    spec:
      hostname: mongotest
      containers:
      - name: mongotest
        image: mongo
        imagePullPolicy: Always
        restartPolicy: Always
        env:
          - name: "MONGO_DATA_DIR"
            value: "/data/db"
          - name: "MONGO_LOG_DIR"
            value: "/data/logs"  
          - name: MONGO_INITDB_ROOT_USERNAME
            value: test
          - name: MONGO_INITDB_ROOT_PASSWORD
            value: test
          - name: MONGO_INITDB_DATABASE
            value: admin
        lifecycle:
          postStart:
            exec:
              command:
              - /bin/sh
              - -c
              - >
                mongo --eval 'db.auth('test', 'test');db = db.getSiblingDB("admin"); db.createUser({ user: "admin", pwd: "test", roles: [{ role: "root", db: "admin" }]});'
        ports:
        - name: port27017
          containerPort: 27017

從注釋中收集所有信息:身份驗證失敗的原因是由於無法識別的用戶名/密碼。 刪除生命周期部分的工作原理是,它會禁用身份驗證,並且用戶可以訪問MongoDB並創建新用戶。

如果您不提供這兩個變量或未使用自己的自定義用戶設置來設置--auth標志,則MongoDB將不需要身份驗證。 有關此處描述的功能的更多詳細信息,請參閱官方文檔中的各節,其中更詳細地描述了身份驗證和授權。

以下MongoDB 文檔

連接到mongod或mongos實例時,請使用mongo命令行身份驗證選項(--username,-password和--authenticationDatabase),或者

首先連接到mongod或mongos實例,然后對身份驗證數據庫運行authenticate命令或db.auth()方法。

因此,在docker的情況下,您可以運行以下命令:

docker run -d --name some-mongo -e MONGO_INITDB_ROOT_USERNAME=mongoadmin -e MONGO_INITDB_ROOT_PASSWORD=secret mongo

在Kubernetes中,因為它具有不同的字符,所以您可以使容器在配置yaml中運行特定的命令:例如: containers: - image: mongo name: mongoadmin command: ["mongo", "--auth"]
盡管最安全的方法是使用機密,但因為在環境變量中傳遞用戶名和密碼不是最佳實踐。 您可以在官方文檔中找到有關機密的更多信息。 而更多的從泊塢秘密章泊塢窗角度來看這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM