MongoDBUserカスタム リソースを使用すると、ユーザーが MongoDB database にアクセスするために必要な認証とロールを構成できます。
例
次の例は、 MongoDBUserカスタム リソースのリソース仕様を示しています。
1 2 apiVersion: mongodb.com/v1 3 kind: MongoDBUser 4 metadata: 5 name: ldap-user-1 6 spec: 7 username: "uid=mdb0,dc=example,dc=org" 8 db: "$external" 9 mongodbResourceRef: 10 name: ldap-replica-set 11 roles: 12 - db: "admin" 13 name: "clusterAdmin" 14 - db: "admin" 15 name: "readWriteAnyDatabase" 16 - db: "admin" 17 name: "dbAdminAnyDatabase" 18 19 ...
必要なMongoDBUser リソース設定
このセクションでは、すべてのMongoDBUserリソースに使用する必要がある設定について説明します。
apiVersion型: string
MongoDB Kubernetes リソース スキーマのバージョン。
kind型: string
作成する MongoDB Kubernetes リソースの種類。 これを
MongoDBUserに設定します。
metadata.name型: string
人間が判読できる名前なので、この特定の
MongoDBUserリソースを識別できます。リソース名は 44 文字以下にする必要があります。
spec.db型: string
これらのユーザーがアクセスする MongoDB database の名前。 デフォルトは
adminです。
spec.username型: string
MongoDB database またはコレクションへの認証に必要なユーザーを識別する、人間が判読可能なラベル。
任意のMongoDBUser リソース設定
MongoDBUserカスタム リソースは、次の設定を使用できます。
spec.connectionStringSecretName型: string
Operator が作成する接続 シークレットの名前。stringKubernetes
新しいMongoDBデータベースユーザーを作成すると、 Kubernetes Operator は自動的に新しいKubernetes secret を作成します。Kubernetesシークレットには、新しいデータベースユーザーに関する次の情報が含まれています。
username: データベースユーザーのユーザー名password: データベースユーザーのパスワードconnectionString.standard: このデータベース ユーザーとしてデータベースに接続できる標準接続string 。connectionString.standardSrv: このデータベースユーザーとしてデータベースに接続できるDNS シード リスト接続string 。
spec.mongodbResourceRef.name型: string
このユーザーが関連付けられているMongoDB リソースの名前。 たとえば、
my-resource。spec.mongodbResourceRef.namespace型: string
このユーザーのシークレットを含む名前空間。指定されていない場合、 Kubernetes Operator は
MongoDBUserカスタムリソースと同じ名前空間に接続シークレットを保持します。spec.passwordSecretKeyRef.name型: string
metadata.nameユーザーのパスワードを保存するシークレットの値。 たとえば、my-secret-name。spec.passwordSecretKeyRef.key型: string
このMongoDBデータベースユーザーのパスワードを含むシークレット内のフィールドの名前。
詳細については、Kubernetes のドキュメント を参照してください。
spec.roles.db型: string
ロールが機能できる MongoDB database。 たとえば、
admin。spec.roles.name型: string
データベースユーザーに付与するロールの名前。