AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

MongoDB ユーザー リソースの仕様

MongoDBUserカスタム リソースを使用すると、ユーザーが MongoDB database にアクセスするために必要な認証とロールを構成できます。

次の例は、 MongoDBUserカスタム リソースのリソース仕様を示しています。

---apiVersion: mongodb.com/v1kind: MongoDBUsermetadata: name: ldap-user-1spec: username: "uid=mdb0,dc=example,dc=org" db: "$external" mongodbResourceRef: name: ldap-replica-set roles: - db: "admin" name: "clusterAdmin" - db: "admin" name: "readWriteAnyDatabase" - db: "admin" name: "dbAdminAnyDatabase" ...

このセクションでは、すべてのMongoDBUserリソースに使用する必要がある設定について説明します。

apiVersion

型: string

MongoDB Kubernetes リソース スキーマのバージョン。

kind

型: string

作成する MongoDB Kubernetes リソースの種類。 これをMongoDBUserに設定します。

metadata.name

型: string

人間が判読できる名前なので、この特定のMongoDBUserリソースを識別できます。

リソース名は 44 文字以下にする必要があります。

spec.db

型: string

これらのユーザーがアクセスする MongoDB database の名前。 デフォルトはadminです。

spec.db ユーザーの認証データベースを設定します。Kubernetes 演算子は、このデータベースを使用してユーザーを識別します。また、生成された接続文字列の authSource パラメータを設定し、生成された接続文字列シークレットに名前を付けます。

接続文字列URIパスでデータベースを設定するには、spec.connectionStringDatabase.を使用します。

spec.username

型: string

MongoDB database またはコレクションへの認証に必要なユーザーを識別する、人間が判読可能なラベル。

MongoDBUserカスタム リソースは、次の設定を使用できます。

spec.connectionStringDatabase

型: string

このユーザー向けに Kubernetes 演算子 が生成する接続文字列の URI パス内のデータベース名。接続文字列のシークレットを読み取るクライアントは、デフォルトでこのデータベースを使用します。

spec.connectionStringDatabase URI パスは変更されますが、認証は変更されません。認証は spec.db で制御されます。例えば、spec.db が adminで、spec.connectionStringDatabase が myappのユーザーは admin に対して認証し、デフォルトで myapp を使用します。

mongodb://my-user:pass@host:27017/myapp?authSource=admin

Kubernetes 演算子 は、接続文字列シークレットの connectionString.standard キーと connectionString.standardSrv キーの両方にデータベースを適用します。

この設定を空白にすると、空の URI パスになります。この場合、クライアントが活性なデータベースを決定します。たとえば、mongosh はデフォルトで ``test`` を使用します。

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

データベースユーザーに付与するロールの名前。