MongoDB を接続する

このトピックでは、Microsoft Active Directory のマネージド サービスと統合するために MongoDB を構成する方法を説明します。次の手順は、MongoDB Enterprise バージョン 4.0 および 4.2 で確認されています。

始める前に

MongoDB を構成する前に、マネージド Microsoft AD ドメインを作成します。

MongoDB のデプロイ

まず、MongoDB を Google Cloud にデプロイします。Active Directory との互換性を維持するため、の LDAP 認証をサポートする MongoDB のバージョン(MongoDB Enterprise Edition など)を必ずインストールしてください。MongoDB は Compute Engine インスタンスにインストールするか、Google Kubernetes Engine にデプロイできます。

Compute Engine インスタンス

MongoDB をスタンドアロン パッケージとして Compute Engine インスタンスにインストールするには、MongoDB Enterprise インストールの手順に従ってください。

Google Kubernetes Engine コンテナ

MongoDB を Google Kubernetes Engine コンテナにデプロイするには、次の手順を行います。

  1. StatefulSet Codelab を使用して Kubernetes で MongoDB データベースを実行するの内容を実行します。
  2. ./mongo-k8s-sidecar/example/StatefulSet/ ディレクトリに移動します。
  3. mongo-statefulset.yaml を開く
  4. image: mongoimage: path to gcr に置き換えます。

認証の構成

次に、認証を構成します。マネージド Microsoft AD は、認証用の LDAP バックエンドとして使用できます。LDAP または Kerberos を選択できます。

認証を構成するには、設定値を使用して、次のセットアップ手順のいずれかを完了します。

認証設定値

認証を構成するには、次の値を使用します。

  • security.ldap.server: 設定時にドメインに指定した FQDN を使用します。
  • security.ldap.userToDNMapping: ldapQuery で提供されたドメインのドメイン名を使用します。
    • 例: ldapQuery: "DC=cloudad,DC=gke,DC=com??sub?(userPrincipalName={0})"
  • security.ldap.server.authz: queryTemplate で提供されたドメインのドメイン名を使用します。
    • 例: queryTemplate: "DC=cloudad,DC=gke,DC=com??sub?(&(objectClass=group)(member:1.2.840.113556.1.4.1941:={USER}))"
  • security.ldap.transportSecurity: TLS/SSL を無効にするには、none に設定します。

マネージド Microsoft AD では、ユーザーは Cloud OU の下に作成されます。Cloud OU の下に作成されたリソースとグループの識別名を使用する必要があります。たとえば、ユーザー dba の場合、識別名 "CN=dba,OU=Cloud,DC=cloudad,DC=gke,DC=com" を使用します。