连接 MongoDB

本主题介绍如何配置 MongoDB 以与 Managed Service for Microsoft Active Directory 集成。以下过程针对 MongoDB Enterprise 版本 4.0 和 4.2 进行验证。

准备工作

在配置 MongoDB 之前,创建一个托管式 Microsoft AD 网域

部署 MongoDB

首先,将 MongoDB 部署到 Google Cloud。为了与 Active Directory 兼容,请确保安装支持 LDAP 身份验证的 MongoDB 版本,例如 MongoDB Enterprise Edition。您可以在 Compute Engine 实例上安装 MongoDB,也可以在 Google Kubernetes Engine 上部署 MongoDB。

在 Compute Engine 实例上

要将 MongoDB 作为独立软件包安装在 Compute Engine 实例上,请完成 MongoDB Enterprise 安装中的步骤

在 Google Kubernetes Engine 容器上

要在 Google Kubernetes Engine 容器上部署 MongoDB,请完成以下步骤:

  1. 完成使用 StatefulSets Codelab 在 Kubernetes 中运行 MongoDB 数据库
  2. 转到 ./mongo-k8s-sidecar/example/StatefulSet/ 目录。
  3. 打开 mongo-statefulset.yaml
  4. image: mongo 替换为 image: 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:设置为 none 以停用 TLS/SSL。

在托管式 Microsoft AD 中,用户是在 Cloud OU 下创建的。您应该为 Cloud OU 下创建的资源和组使用标识名。例如,对于用户 dba,使用标识名 "CN=dba,OU=Cloud,DC=cloudad,DC=gke,DC=com"