חיבור ל-MongoDB

במאמר הזה נסביר איך להגדיר את MongoDB לשילוב עם Managed Service for Microsoft Active Directory. ההליך הבא אומת עבור MongoDB Enterprise, גרסאות 4.0 ו-4.2.

לפני שמתחילים

לפני שמגדירים את MongoDB, צריך ליצור דומיין מנוהל של Microsoft AD.

פריסת MongoDB

קודם כול, פורסים את MongoDB אל Google Cloud. כדי להבטיח תאימות ל-Active Directory, צריך להתקין גרסה של MongoDB שתומכת באימות LDAP, כמו MongoDB Enterprise Edition. אפשר להתקין את MongoDB במכונה וירטואלית (VM) של Compute Engine או לפרוס את MongoDB ב-Google Kubernetes Engine.

במכונה של Compute Engine

כדי להתקין את MongoDB כחבילה עצמאית במכונה וירטואלית ב-Compute Engine, צריך להשלים את השלבים בהתקנה של MongoDB Enterprise.

בקונטיינר של Google Kubernetes Engine

כדי לפרוס את MongoDB בקונטיינר של Google Kubernetes Engine, צריך לבצע את השלבים הבאים:

  1. משלימים את ה-Codelab הפעלת מסד נתונים של MongoDB ב-Kubernetes באמצעות StatefulSets.
  2. עוברים לספרייה ./mongo-k8s-sidecar/example/StatefulSet/.
  3. פתיחת mongo-statefulset.yaml
  4. מחליפים את image: mongo ב-image: path to gcr

הגדרת אימות

בשלב הבא, מגדירים אימות. אפשר להשתמש ב-Microsoft AD מנוהל כ-LDAP backend לאימות. אפשר לבחור 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.

ב-Managed Microsoft AD, המשתמשים נוצרים בקטע Cloud OU. צריך להשתמש בשם הייחודי של המשאבים והקבוצות שנוצרו בקטע Cloud OU. לדוגמה, בשביל המשתמש dba, תשתמשו בשם הייחודי "CN=dba,OU=Cloud,DC=cloudad,DC=gke,DC=com".