LDAP

מחבר ה-LDAP מאפשר לכם להגדיר שרת LDAP כללי.

גרסאות נתמכות

המחבר הזה תומך ב-LDAP גרסה 2 וגרסה 3.

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

לפני שמשתמשים במחבר LDAP, צריך לבצע את המשימות הבאות:

  • בפרויקט שלכם ב-Google Cloud:
    • מוודאים שהגדרתם חיבור לרשת. מידע על תבניות רשת זמין במאמר קישוריות לרשת.
    • נותנים למשתמש שמגדיר את המחבר את תפקיד ה-IAM‏ roles/connectors.admin.
    • מקצים לחשבון השירות שרוצים להשתמש בו עבור המחבר את תפקידי ה-IAM הבאים:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      חשבון שירות הוא סוג מיוחד של חשבון Google שמייצג משתמש לא אנושי, שצריך לאמת ולאשר כדי לתת לו גישה לנתונים ב-Google APIs. אם אין לכם חשבון שירות, אתם צריכים ליצור חשבון שירות. המחבר וחשבון השירות צריכים להיות שייכים לאותו פרויקט. מידע נוסף זמין במאמר בנושא יצירת חשבון שירות.

    • מפעילים את השירותים הבאים:
      • ‫secretmanager.googleapis.com (Secret Manager API)
      • ‫connectors.googleapis.com (Connectors API)

      במאמר הפעלת שירותים מוסבר איך להפעיל שירותים.

    אם השירותים או ההרשאות האלה לא הופעלו בפרויקט שלכם בעבר, תתבקשו להפעיל אותם כשאתם מגדירים את המחבר.

הגדרת המחבר

החיבור הוא ספציפי למקור נתונים. אם יש לכם הרבה מקורות נתונים, תצטרכו ליצור חיבור נפרד לכל אחד מהם. כדי ליצור קישור:

  1. במסוף Cloud, עוברים לדף Integration Connectors > Connections ובוחרים או יוצרים פרויקט בענן.

    כניסה לדף Connections

  2. לוחצים על + יצירת חיבור חדש כדי לפתוח את הדף יצירת חיבור.
  3. בקטע מיקום, בוחרים את המיקום של החיבור.
    1. אזור: בוחרים מיקום מהרשימה הנפתחת.

      רשימה של כל האזורים הנתמכים מופיעה במאמר מיקומים.

    2. לוחצים על הבא.
  4. בקטע פרטי החיבור, ממלאים את הפרטים הבאים:
    1. מחבר: בוחרים באפשרות LDAP מהרשימה הנפתחת של המחברים הזמינים.
    2. גרסת כלי החיבור: בוחרים את גרסת כלי החיבור מהרשימה הנפתחת של הגרסאות הזמינות.
    3. בשדה Connection Name (שם החיבור), מזינים שם למופע החיבור.

      השמות של החיבורים צריכים לעמוד בקריטריונים הבאים:

      • שמות החיבורים יכולים לכלול אותיות, מספרים או מקפים.
      • האותיות צריכות להיות קטנות.
      • שמות החיבורים צריכים להתחיל באות ולהסתיים באות או במספר.
      • שמות החיבורים לא יכולים לכלול יותר מ-49 תווים.
    4. אופציונלי: מזינים תיאור למופע החיבור.
    5. אופציונלי: מפעילים את Cloud Logging ואז בוחרים רמת יומן. כברירת מחדל, רמת היומן מוגדרת כ-Error.
    6. חשבון שירות: בוחרים חשבון שירות שיש לו את התפקידים הנדרשים.
    7. אופציונלי: מגדירים את ההגדרות של צומת החיבור:

      • מספר מינימלי של צמתים: מזינים את המספר המינימלי של צמתי חיבור.
      • מספר הצמתים המקסימלי: מזינים את מספר צמתי החיבור המקסימלי.

      צומת הוא יחידה (או עותק) של חיבור שמבצעת עיבוד של עסקאות. כדי לעבד יותר עסקאות לחיבור נדרשים יותר צמתים, ולהפך: כדי לעבד פחות עסקאות נדרשים פחות צמתים. כדי להבין איך הצמתים משפיעים על התמחור של המחבר, אפשר לעיין במאמר בנושא תמחור של צמתי חיבור. אם לא מזינים ערכים, כברירת מחדל, מספר הצמתים המינימלי מוגדר כ-2 (לזמינות טובה יותר) ומספר הצמתים המקסימלי מוגדר כ-50.

    8. ‫DN בסיסי: החלק הבסיסי של השם הייחודי, שמשמש להגבלת התוצאות לענפים משניים ספציפיים.
    9. מנגנון אימות: מנגנון האימות שישמש להתחברות לשרת ה-LDAP.
    10. הפניה: האם לעקוב אחרי הפניות של LDAP שמוחזרות על ידי שרת ה-LDAP.
    11. Friendly GUID: האם להחזיר ערכי מאפייני GUID בפורמט קריא.
    12. Friendly SID: האם להחזיר ערכים של מאפיין SID בפורמט קריא.
    13. גרסת LDAP: גרסת ה-LDAP שמשמשת לחיבור לשרת ולתקשורת איתו.
    14. היקף: האם להגביל את היקף החיפוש לכל עץ המשנה (BaseDN וכל הצאצאים שלו), לרמה אחת (BaseDN והצאצאים הישירים שלו) או לאובייקט הבסיס (BaseDN בלבד).
    15. אופציונלי: לוחצים על + הוספת תווית כדי להוסיף תווית לקישור בצורה של צמד מפתח/ערך.
    16. לוחצים על הבא.
  5. בקטע יעדים, מזינים את הפרטים של המארח המרוחק (מערכת העורף) שאליו רוצים להתחבר.
    1. סוג היעד: בוחרים סוג יעד.
      • כדי לציין את שם המארח או את כתובת ה-IP של היעד, בוחרים באפשרות כתובת המארח ומזינים את הכתובת בשדה מארח 1.
      • כדי ליצור חיבור פרטי, בוחרים באפשרות Endpoint attachment (צירוף נקודת קצה). ברשימה Endpoint Attachment, בוחרים את קובץ ה-Endpoint Attachment שנוצר עבור מערכת ה-Backend.

      אם רוצים ליצור חיבור ציבורי למערכות העורפיות עם אבטחה נוספת, אפשר להגדיר כתובות IP סטטיות יוצאות לחיבורים, ואז להגדיר את כללי חומת האש כך שרק כתובות ה-IP הסטטיות הספציפיות יופיעו ברשימת ההיתרים.

      כדי להזין יעדים נוספים, לוחצים על +הוספת יעד.

    2. לוחצים על הבא.
  6. בקטע אימות, מזינים את פרטי האימות.
    1. בוחרים סוג אימות ומזינים את הפרטים הרלוונטיים.

      סוגי האימות הבאים נתמכים בחיבור LDAP:

      • שם משתמש וסיסמה
    2. כדי להבין איך להגדיר את סוגי האימות האלה, אפשר לעיין במאמר בנושא הגדרת אימות.

    3. לוחצים על הבא.
  7. בדיקה: בודקים את פרטי החיבור והאימות.
  8. לוחצים על יצירה.

הגדרת אימות

מחבר ה-LDAP תומך בסוג האימות הבסיסי. אם יעד ה-LDAP או מופע ה-LDAP מאוחסנים במכונה וירטואלית או ברשת פרטית, צריך ליצור קובץ מצורף של נקודת קצה. מידע על התקנה והגדרה של LDAP זמין במאמר התקנת LDAP.

  • שם משתמש וסיסמה
    • שם משתמש: שם המשתמש של המחבר
    • סיסמה: סוד ב-Secret Manager שמכיל את הסיסמה שמשויכת למחבר.

סוג החיבור לאימות בסיסי

בטבלה הבאה מפורטים ערכי התצורה לדוגמה של סוג החיבור 'אימות בסיסי'.
שם השדה פרטים
אזור us-central1
מחבר LDAP
גרסת המחבר 1
שם החיבור google-ldap-basicauth-conn
חשבון השירות SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
שם דומיין בסיסי CN=Users,DC=NAME,DC=com
מנגנון אימות פשוט
גרסת LDAP 3
היקף WHOLESUBTREE
רמת הפירוט 5
מספר הצמתים המינימלי 2
מספר הצמתים המקסימלי 50
שם משתמש USER_NAME
סיסמה PASSWORD
Secret Version 1

ישויות, פעולות ופעולות

כל Integration Connectors מספקים שכבת הפשטה לאובייקטים של האפליקציה המחוברת. אפשר לגשת לאובייקטים של אפליקציה רק דרך ההפשטה הזו. ההפשטה מוצגת לכם כישויות, פעולות ופעולות.

  • ישות: ישות היא אובייקט או אוסף של מאפיינים באפליקציה או בשירות המקושרים. ההגדרה של ישות משתנה ממחבר למחבר. לדוגמה, במחבר של מסד נתונים, הטבלאות הן הישויות, במחבר של שרת קבצים, התיקיות הן הישויות, ובמחבר של מערכת הודעות, התורים הם הישויות.

    עם זאת, יכול להיות שמחבר לא תומך בישויות או שאין לו ישויות, ובמקרה כזה הרשימה Entities תהיה ריקה.

  • פעולה: פעולה היא הפעילות שאפשר לבצע בישות. אפשר לבצע כל אחת מהפעולות הבאות בישות:

    בחירה של ישות מתוך הרשימה הזמינה יוצרת רשימה של פעולות שזמינות לישות. תיאור מפורט של הפעולות זמין במאמר פעולות על ישויות של משימת המחברים. עם זאת, אם מחבר לא תומך באף אחת מהפעולות על ישויות, הפעולות הלא נתמכות האלה לא יופיעו ברשימה Operations.

  • פעולה: פעולה היא פונקציה מסוג first class שזמינה לשילוב דרך ממשק המחבר. פעולה מאפשרת לבצע שינויים בישות אחת או בכמה ישויות, והיא משתנה ממתחם למתחם. בדרך כלל, לפעולה יהיו כמה פרמטרים של קלט ופרמטר של פלט. עם זאת, יכול להיות שמחבר לא תומך באף פעולה, ובמקרה כזה הרשימה Actions תהיה ריקה.

פעולות

בקטע הזה מפורטות כל הפעולות שנתמכות על ידי מחבר ה-LDAP.

פעולת MoveToDN

הפעולה הזו מעבירה אובייקטים מ-DN אחד (שם ייחודי) ל-DN אחר.

פרמטרים של קלט לפעולה MoveToDN

שם הפרמטר סוג הנתונים חובה תיאור
DN String כן ה-DN הנוכחי של האובייקט שרוצים להעביר בשרת ה-LDAP. לדוגמה, CN=Google Cloud,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com.
NewParentDN String כן ה-DN החדש של ההורה של האובייקט. לדוגמה, OU=Mysore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com.

פרמטרים של פלט של הפעולה DownloadFile

הפעולה הזו מחזירה את הסטטוס 200 (OK) עם גוף תגובה שמציין את התוצאות.

במאמר דוגמאות לפעולות מוסבר איך להגדיר את הפעולה MoveToDN.

הפעולה GetAttributes

הפעולה הזו מקבלת את כל שמות המאפיינים והערכים של DN.

פרמטרים של קלט של הפעולה GetAttributes

שם הפרמטר סוג הנתונים חובה תיאור
DN String כן השם הייחודי של אובייקט ה-LDAP הרצוי. אם לא צוין BaseDN, המערכת תשתמש ב-BaseDN ממחרוזת החיבור.

פרמטרים של פלט של הפעולה GetAttributes

הפעולה הזו מחזירה את הסטטוס 200 (OK) עם גוף תגובה שמציין את התוצאות.

במאמר דוגמאות לפעולות מוסבר איך להגדיר את הפעולה GetAttributes.

הפעולה AddMembersToGroup

הפעולה הזו מוסיפה משתמשים לקבוצה.

פרמטרים של קלט של הפעולה GetAttributes

שם הפרמטר סוג הנתונים חובה תיאור
GroupId String כן המזהה של הקבוצה שאליה רוצים להוסיף את המשתמשים.
UserDNs String כן הצטברות של UserDNs או טבלה זמנית שמכילה את ה-DN של המשתמשים שרוצים להוסיף לקבוצה. הערך צריך להיות ה-DN של רשומת המשתמש.

פרמטרים של פלט של הפעולה AddMembersToGroup

הפעולה הזו מחזירה את הסטטוס 200 (OK) עם גוף תגובה שמציין את התוצאות.

במאמר דוגמאות לפעולות מוסבר איך להגדיר את הפעולה AddMembersToGroup.

דוגמאות לפעולות

בקטע הזה מוסבר איך לבצע חלק מהפעולות במחבר הזה.

דוגמה – העברת אובייקט מ-DN אחד ל-DN אחר

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה MoveToDN ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ואז מזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "DN": "CN=Google Cloud,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com",
    "NewParentDN": "OU=Mysore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com"
    }
      
  4. בדוגמה הזו, אובייקט מועבר מ-DN אחד ל-DN אחר. אם הפעולה מצליחה, לפרמטר connectorOutputPayload response של משימת המחבר יהיה ערך שדומה לערך הבא:

    [{
    "Success": null,
    "result": "[ok]",
    "modified": "true",
    "rss:title": "The movement was successful.",
    "resultcode": "0"
    }]

דוגמה – קבלת מאפיינים של שם דומיין

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה GetAttributes ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ואז מזינים ערך דומה לערך הבא בשדה Default Value:
    {
    "DN": "CN=Bangalore user,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com"
    }
  4. בדוגמה הזו מאחזרים את המאפיין של ה-DN שצוין. אם הפעולה מצליחה, לפרמטר connectorOutputPayload response של משימת המחבר יהיה ערך שדומה לערך הבא:

    [{
        "AttributeName": "_op",
        "AttributeValue": "ldapadoGetAttributes"
      }, {
        "AttributeName": "usncreated",
        "AttributeValue": "36006"
      }, {
        "AttributeName": "countrycode",
        "AttributeValue": "0"
      }, {
        "AttributeName": "badpwdcount",
        "AttributeValue": "0"
      }, {
        "AttributeName": "dn",
        "AttributeValue": ""
      }, {
        "AttributeName": "dn",
        "AttributeValue": "CN=Bangalore user,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com"
      }, {
        "AttributeName": "whenchanged",
        "AttributeValue": "20230913125155.0Z"
      }, {
        "AttributeName": "objectclass",
        "AttributeValue": "top"
      }, {
        "AttributeName": "objectclass",
        "AttributeValue": "person"
      }, {
        "AttributeName": "objectclass",
        "AttributeValue": "organizationalPerson"
      }, {
        "AttributeName": "objectclass",
        "AttributeValue": "user"
      }, {
        "AttributeName": "primarygroupid",
        "AttributeValue": "513"
      }, {
        "AttributeName": "givenname",
        "AttributeValue": "Bangalore"
      }, {
        "AttributeName": "dscorepropagationdata",
        "AttributeValue": "16010101000001.0Z"
      }, {
        "AttributeName": "sn",
        "AttributeValue": "user"
      }, {
        "AttributeName": "useraccountcontrol",
        "AttributeValue": "512"
      }, {
        "AttributeName": "cn",
        "AttributeValue": "Bangalore user"
      }, {
        "AttributeName": "codepage",
        "AttributeValue": "0"
      }, {
        "AttributeName": "accountexpires",
        "AttributeValue": "9223372036854775807"
      }, {
        "AttributeName": "userprincipalname",
        "AttributeValue": "user-1@test-l
      }]  
      

דוגמה – הוספת משתמשים לקבוצה

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה AddMembersToGroup ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ואז מזינים ערך שדומה לערך הבא בשדה Default Value:
    {
    "GroupId": "1|CN=Cert Publishers,CN=Users,DC=test-ldap,DC=com",
    "UserDNs": "[{\"DN\":\"CN=Google AI,CN=Users,DC=test-ldap,DC=com;CN=Guest,CN=Users,DC=test-ldap,DC=com\"}]"
    }
  4. בדוגמה הזו מוסיפים DN של משתמש לקבוצה עם המזהה 1|CN=Cert Publishers,CN=Users,DC=test-ldap,DC=com. אם הפעולה מצליחה, לפרמטר התגובה connectorOutputPayload של משימת המחבר יהיה ערך דומה לזה:

    [{
      "Success": "True"
      }]

דוגמאות לפעולות על ישויות

דוגמה – רשימת משתמשים

בדוגמה הזו מפורטים כל המשתמשים בישות User.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות User מהרשימה Entity.
  3. בוחרים את הפעולה LIST ולוחצים על סיום.
  4. אפשר גם לסנן את קבוצת התוצאות. כדי לסנן את קבוצת התוצאות, בקטע Task Input (קלט המשימה) של משימת Connectors (מחברים), מגדירים את filterClause (סעיף הסינון) בהתאם לדרישה.

    לדוגמה, אם מגדירים את סעיף הסינון ל- Id='1|CN=admin,CN=Users,DC=test-ldap,DC=com', מוצגים רק הרשומות שהמזהה שלהן תואם לקריטריון הזה.

דוגמה – קבלת רשומת משתמש

בדוגמה הזו מתקבלים פרטי משתמש מהישות User.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות User מהרשימה Entity.
  3. בוחרים את הפעולה GET ולוחצים על סיום.
  4. בקטע Task Input (קלט משימה) של המשימה Connectors (מחברים), לוחצים על EntityId (מזהה ישות) ואז מזינים 1|CN=admin,CN=Users,DC=test-ldap,DC=com בשדה Default Value (ערך ברירת מחדל).

    במקרה הזה, 1|CN=admin,CN=Users,DC=test-ldap,DC=com הוא אחד מערכי המפתח הראשיים של הישות User.

דוגמה – יצירת רשומת משתמש

בדוגמה הזו נוצר רשומת משתמש בישות User.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות User מהרשימה Entity.
  3. בוחרים את הפעולה Create ולוחצים על סיום.
  4. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ואז מזינים ערך שדומה לערך הבא בשדה Default Value:
    {
    "RDN": "CN=MPATAI",
    "ObjectClass": "top;person;organizationalPerson;user"
    }

    אם השילוב יצליח, בשדה connectorOutputPayload של משימת המחבר יופיע ערך שדומה לערך הבא:

     {
    "Id": "1|CN=MPATAI,CN=Users,DC=test-ldap,DC=com"
    }

דוגמה – עדכון כרטיס

בדוגמה הזו מעדכנים את רשומת המשתמש שצוינה בישות User.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות User מהרשימה Entity.
  3. בוחרים את הפעולה Update ולוחצים על סיום.
  4. בקטע Task Input (קלט משימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ואז מזינים ערך דומה לערך הבא בשדה Default Value:
    {
            "PostalCode": "560040"
          }
          
  5. לוחצים על entityId ואז מזינים 1|CN=admin,CN=Users,DC=test-ldap,DC=com בשדה ערך ברירת מחדל.

    לחלופין, במקום לציין את entityId, אפשר גם להגדיר את filterClause ל-1|CN=admin,CN=Users,DC=test-ldap,DC=com.

    אם השילוב יצליח, בשדה connectorOutputPayload של משימת המחבר יופיע ערך שדומה לערך הבא:

    {
    "Id": "1|CN=admin,CN=Users,DC=test-ldap,DC=com"
    }
          

דוגמה – מחיקת רשומת משתמש

בדוגמה הזו נמחק רשומת משתמש מהישות User.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות User מהרשימה Entity.
  3. בוחרים את הפעולה Delete ולוחצים על סיום.
  4. בקטע Task Input (קלט משימה) של המשימה Connectors (מחברים), לוחצים על entityId ואז מזינים 1|CN=admin,CN=Users,DC=test-ldap,DC=com בשדה Default Value (ערך ברירת מחדל).
  5. לחלופין, אם לישות User יש מפתחות ראשיים מורכבים, במקום לציין את entityId, אפשר להגדיר את filterClause. לדוגמה, Id='1|CN=admin,CN=Users,DC=test-ldap,DC=com' and DN='CN=admin,CN=Users,DC=test-ldap,DC=com'.

יצירת חיבורים באמצעות Terraform

אפשר להשתמש במשאב של Terraform כדי ליצור חיבור חדש.

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

כדי לראות תבנית לדוגמה של Terraform ליצירת חיבור, אפשר לעיין בתבנית לדוגמה.

כשיוצרים את החיבור הזה באמצעות Terraform, צריך להגדיר את המשתנים הבאים בקובץ ההגדרות של Terraform:

שם הפרמטר סוג נתונים חובה תיאור
base_dn מחרוזת נכון החלק הבסיסי של השם הייחודי, שמשמש להגבלת התוצאות לעצי משנה ספציפיים.
auth_mechanism ENUM נכון מנגנון האימות שבו יש להשתמש כשמתחברים לשרת ה-LDAP. הערכים הנתמכים הם: SIMPLE, ‏ DIGESTMD5, ‏ NEGOTIATE
follow_referrals בוליאני לא נכון האם לעקוב אחרי הפניות של LDAP שהוחזרו על ידי שרת ה-LDAP.
friendly_guid בוליאני לא נכון האם להחזיר ערכים של מאפייני GUID בפורמט קריא.
friendly_sid בוליאני לא נכון האם להחזיר ערכים של מאפיין SID בפורמט קריא.
ldapversion ENUM נכון גרסת ה-LDAP שמשמשת לחיבור לשרת ולתקשורת איתו. הערכים הנתמכים הם: 2, 3
היקף ENUM נכון האם להגביל את היקף החיפוש לעץ המשנה כולו (BaseDN וכל הצאצאים שלו), לרמה אחת (BaseDN והצאצאים הישירים שלו) או לאובייקט הבסיס (BaseDN בלבד). הערכים הנתמכים הם: WHOLESUBTREE, ‏ SINGLELEVEL, ‏ BASEOBJECT

שימוש בחיבור LDAP בשילוב

אחרי שיוצרים את החיבור, הוא זמין גם ב-Apigee Integration וגם ב-Application Integration. אפשר להשתמש בחיבור בשילוב באמצעות המשימה Connectors.

  • כדי להבין איך ליצור ולהשתמש במשימה Connectors ב-Apigee Integration, אפשר לעיין במאמר משימת Connectors.
  • מידע על יצירה ושימוש במשימת מחברים ב-Application Integration זמין במאמר משימת מחברים.

קבלת עזרה מקהילת Google Cloud

אתם יכולים לפרסם את השאלות שלכם ולדון במחבר הזה בקהילת Google Cloud בפורומים של Cloud.

המאמרים הבאים