۴. اتصال کلاینت‌های LDAP به سرویس Secure LDAP

از دستورالعمل‌های این مقاله برای اتصال کلاینت LDAP خود به سرویس Secure LDAP استفاده کنید.

مهم:

آنچه در این مقاله آمده است

این مقاله شامل بخش‌های زیر است:

این دستورالعمل‌ها فرض می‌کنند که فایل‌های کلید کلاینت و گواهی‌نامه‌ای که دانلود می‌کنید ، ldap-client.key و ldap-client.crt نام دارند.

دستورالعمل‌های پیکربندی اولیه

این بخش شامل دستورالعمل‌های عمومی برای اتصال کلاینت LDAP شما به سرویس Secure LDAP است. اگر کلاینت LDAP شما در دستورالعمل‌های زیر ذکر نشده است، حتماً به مستندات مربوط به آن برنامه مراجعه کنید.

توجه: برخی از کلاینت‌های LDAP مانند Atlassian Jira و SSSD برای دریافت اطلاعات بیشتر در مورد کاربر، هنگام احراز هویت کاربر، جستجوی کاربر را انجام می‌دهند. برای اطمینان از اینکه احراز هویت کاربر برای چنین کلاینت‌های LDAP به درستی کار می‌کند، باید برای همه واحدهای سازمانی که گزینه تأیید اعتبار کاربر فعال است، خواندن اطلاعات کاربر را فعال کنید. (برای دستورالعمل‌ها، به پیکربندی مجوزهای دسترسی مراجعه کنید.)

برای اتصال کلاینت LDAP به سرویس Secure LDAP:

  1. کلاینت LDAP خود را با Cloud Directory به عنوان سرور LDAP خود پیکربندی کنید.
  2. گواهی را در کلاینت LDAP خود آپلود کنید.

    سرویس Secure LDAP از گواهی‌های کلاینت TLS به عنوان مکانیزم اصلی احراز هویت استفاده می‌کند. برای شروع فرآیند آپلود گواهی به کلاینت LDAP، تنظیمات احراز هویت یا دایرکتوری کلاینت LDAP را باز کنید و جزئیات را از جدول زیر وارد کنید.

    توجه: برای جزئیات کامل در مورد نحوه و محل آپلود گواهینامه‌های TLS، لطفاً به مستندات فروشنده خود مراجعه کنید.

برای اطلاعات اولیه اتصال از جدول زیر استفاده کنید:

نام میزبان

ldap.google.com

بنادر

۳۸۹ برای LDAP با StartTLS فعال
۶۳۶ برای LDAPS (SSL/TLS فعال)

پایه DN

دامنه شما در قالب DN. به عنوان مثال:

dc=example، dc=com برای example.com

نام کاربری و رمز عبور

علاوه بر احراز هویت با گواهی، برخی از کلاینت‌های LDAP از شما می‌خواهند که نام کاربری و رمز عبور را وارد کنید. اگر فیلدهای نام کاربری و رمز عبور اجباری نیستند، می‌توانید از این مرحله صرف نظر کنید.

یک نام کاربری و رمز عبور در کنسول مدیریت گوگل ایجاد کنید. برای دستورالعمل‌ها، به بخش «ایجاد اعتبارنامه‌های دسترسی» مراجعه کنید.

گواهی مشتری و فایل‌های کلیدی

از فایل گواهی و کلید دانلود شده از کنسول گوگل ادمین استفاده کنید. اگر کلاینت LDAP راهی برای احراز هویت با گواهی کلاینت ارائه نمی‌دهد، به بخش «استفاده از stunnel به عنوان پروکسی» مراجعه کنید.

مهم: برخی از کلاینت‌های LDAP، مانند Apache Directory Studio، از آپلود گواهی‌های دیجیتال پشتیبانی نمی‌کنند. برای رسیدگی به این سناریو، به بخش «استفاده از stunnel به عنوان پروکسی» مراجعه کنید.

دستورالعمل‌های پیکربندی برای کلاینت‌های خاص LDAP

ویرایش ADSI (ویندوز)

این مراحل را دنبال کنید:

  1. برای نصب گواهی‌های کلاینت، مراحل ۱ تا ۱۱ را در ldp.exe (ویندوز) دنبال کنید.
  2. به اقدام > اتصال به… بروید
  3. تنظیمات اتصال زیر را وارد کنید:

    نام: یک نام برای اتصال خود تایپ کنید، مانند Google LDAP .
    نقطه اتصال: «یک نام متمایز یا زمینه نامگذاری را انتخاب یا تایپ کنید»
    نام دامنه خود را با فرمت DN وارد کنید (برای مثال، dc=example، dc=com برای example.com ).

    رایانه: «یک دامنه یا سرور را انتخاب یا تایپ کنید»
    ldap.google.com

    استفاده از رمزگذاری مبتنی بر SSL: علامت زده شده
  4. روی Advanced... کلیک کنید و جزئیات زیر را وارد کنید:

    اعتبارنامه‌ها را مشخص کنید: بررسی شد
    نام کاربری: نام کاربری دسترسی از طریق کنسول مدیریت
    رمز عبور: رمز عبور دسترسی از کنسول مدیریت
    شماره پورت: ۶۳۶
    پروتکل: LDAP
    احراز هویت اتصال ساده: بررسی شده است
  5. روی تأیید کلیک کنید، و سپس دوباره روی تأیید کلیک کنید.
  6. اگر اتصال موفقیت‌آمیز باشد، محتویات دایرکتوری فعال در DN پایه در پنل سمت راست نمایش داده می‌شود.

استودیوی دایرکتوری آپاچی

برای استفاده از Apache Directory Studio، از طریق stunnel متصل شوید و از اعتبارنامه دسترسی (نام کاربری و رمز عبور) تولید شده در کنسول Google Admin استفاده کنید. با فرض اینکه اعتبارنامه‌ها در جای خود قرار دارند و stunnel روی پورت localhost 1389 در حال گوش دادن است، این مراحل را دنبال کنید:

  1. روی فایل > جدید کلیک کنید…
  2. مرورگر LDAP > اتصال LDAP را انتخاب کنید.
  3. روی بعدی کلیک کنید.
  4. پارامترهای اتصال را وارد کنید:

    نام اتصال: یک نام انتخاب کنید، مانند Google LDAP
    نام میزبان: localhost
    پورت: ۱۳۸۹ (یا پورت شنود/پذیرش stunnel)
    روش رمزگذاری: بدون رمزگذاری (توجه: اگر stunnel از راه دور اجرا می‌شود، رمزگذاری بین stunnel و کلاینت توصیه می‌شود.)
  5. روی بعدی کلیک کنید.
  6. پارامترهای احراز هویت را وارد کنید:

    روش احراز هویت: احراز هویت ساده
    اتصال DN یا کاربر: نام کاربری مجوز دسترسی از کنسول مدیریت
    رمز عبور اتصال: رمز عبور اعتبارنامه دسترسی از کنسول مدیریت
  7. روی بعدی کلیک کنید.
  8. DN پایه را وارد کنید.
    این نام دامنه شما در قالب DN است ( dc=example، dc=com برای example.com ).
  9. روی پایان کلیک کنید.

جیرای اطلسی

نرم‌افزار Atlassian Jira در حین احراز هویت کاربر، جستجوی کاربر را انجام می‌دهد تا اطلاعات بیشتری در مورد او به دست آورد. برای اطمینان از اینکه احراز هویت کاربر برای این کلاینت LDAP به درستی کار می‌کند، باید برای تمام واحدهای سازمانی که گزینه «تأیید اعتبارنامه‌های کاربر» در آنها فعال است، «خواندن اطلاعات کاربر» و «خواندن اطلاعات گروه» را فعال کنید. (برای دستورالعمل‌ها، به «پیکربندی مجوزهای دسترسی» مراجعه کنید.)

مهم: استفاده از دستورالعمل‌های زیر به طور بالقوه keystorePassword را در معرض دید کاربران و فایل‌های لاگ قرار می‌دهد. برای جلوگیری از دسترسی غیرمجاز به پوسته محلی، فایل لاگ و کنسول گوگل ادمین، اقدامات احتیاطی را انجام دهید. به عنوان جایگزینی برای دستورالعمل‌های زیر، از روش stunnel4 استفاده کنید (به بخش اختیاری: استفاده از stunnel به عنوان پروکسی مراجعه کنید).

نکته: دستورالعمل‌های زیر فرض می‌کنند که جیرا در مسیر /opt/atlassian/jira نصب شده است.

برای اتصال یک کلاینت Atlassian Jira به سرویس Secure LDAP:

  1. گواهی و کلید را در سرور(های) جیرا خود کپی کنید. (این گواهی‌ای است که در کنسول مدیریت گوگل هنگام افزودن کلاینت LDAP به سرویس Secure LDAP ایجاد می‌شود.)

    برای مثال:
    $ scp ldap-client.key user@jira-server:
  2. گواهی و کلیدها را به قالب فروشگاه کلید جاوا تبدیل کنید. در طول این فرآیند از شما رمز عبور خواسته می‌شود. برای سادگی، یک رمز عبور ایمن انتخاب کنید و برای همه درخواست‌ها از همان رمز عبور استفاده کنید.

    $ openssl pkcs12 -export -out jira-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key

    $ sudo /opt/atlassian/jira/jre/bin/keytool -v -importkeystore -srckeystore jira-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore /opt/atlassian/jira/jira-ldap.jks -deststoretype JKS

  3. جیرا را طوری پیکربندی کنید که از keystore تازه ایجاد شده استفاده کند. برای افزودن گزینه‌ها، دستورالعمل‌های اینجا را دنبال کنید:

    "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password"

    در لینوکس:
    1. فایل ‎/opt/atlassian/jira/bin/setenv.sh ‎ را ویرایش کنید.
    2. تنظیم JVM_SUPPORT_RECOMMENDED_ARGS را پیدا کنید.
    3. عبارت "-Djavax.net.ssl.keyStore=/opt/atlassian/jira/jira-ldap.jks -Djavax.net.ssl.keyStorePassword=password" را اضافه کنید و به جای "password" رمز عبوری که در بالا انتخاب کردید را قرار دهید.
  4. جیرا را دوباره راه‌اندازی کنید.

    $ /opt/atlassian/jira/bin/stop-jira.sh
    $ /opt/atlassian/jira/bin/start-jira.sh

  5. به عنوان مدیر (administrator) وارد رابط وب جیرا (Jira) شوید.
    1. به تنظیمات > مدیریت کاربر بروید. (برای تنظیمات، به نماد چرخ‌دنده در بالا سمت راست بروید.)
    2. روی دایرکتوری‌های کاربر کلیک کنید.
    3. روی افزودن دایرکتوری کلیک کنید.
    4. LDAP را به عنوان نوع انتخاب کنید.
    5. روی بعدی کلیک کنید.
  6. موارد زیر را وارد کنید:

    نام

    گوگل LDAP امن

    نوع دایرکتوری

    اوپن‌لدپ

    نام میزبان

    ldap.google.com

    بندر

    ۶۳۶

    از SSL استفاده کنید

    بررسی شده

    نام کاربری

    یک نام کاربری و رمز عبور در کنسول مدیریت گوگل ایجاد کنید. برای دستورالعمل‌ها، به بخش «ایجاد اعتبارنامه‌های دسترسی» مراجعه کنید.

    رمز عبور

    یک نام کاربری و رمز عبور در کنسول مدیریت گوگل ایجاد کنید. برای دستورالعمل‌ها، به بخش «ایجاد اعتبارنامه‌های دسترسی» مراجعه کنید.

    پایه DN

    نام دامنه شما در قالب DN (برای مثال، dc=example، dc=com برای example.com )

    شماره شناسایی کاربر اضافی

    اختیاری. "ou=کاربران"

    گروه اضافی DN

    اختیاری. "ou=گروه‌ها"

    مجوزهای LDAP

    فقط خواندنی

    تنظیمات پیشرفته

    بدون تغییر

    تنظیمات طرحواره کاربر >
    ویژگی نام کاربری

    گوگل یو آی دی

    تنظیمات طرحواره کاربر >
    نام کاربری ویژگی RDN

    شناسه کاربری

    تنظیمات طرحواره گروهی >
    کلاس شیء گروهی

    گروه نام‌ها

    تنظیمات طرحواره گروهی >
    فیلتر شیء گروهی

    (objectClass=groupOfNames)

    تنظیمات طرح عضویت >
    ویژگی اعضای گروه

    عضو

    تنظیمات طرح عضویت >
    استفاده از ویژگی عضویت کاربر

    بررسی شده
  7. به یک گروه نقشی واگذار کنید.

    قبل از اینکه Atlassian Jira بتواند به یک کاربر اجازه ورود به سیستم را بدهد، آن کاربر باید عضو گروهی باشد که به آن گروه دسترسی به Jira داده شده است.

    برای اعطای نقش به یک گروه:
    1. به تنظیمات > برنامه‌ها > دسترسی به برنامه‌ها بروید.
    2. در کادر متنی انتخاب گروه ، نام گروه گوگلی را که می‌خواهید به جیرا دسترسی بدهید، وارد کنید.

هسته CloudBees / جنکینز

برای دستورالعمل‌های اتصال CloudBees Core به سرویس Secure LDAP، به پیکربندی CloudBees Core با Google's Cloud Identity Secure LDAP مراجعه کنید.

فری‌رادیوس

این مراحل را دنبال کنید:

  1. FreeRADIUS را در مسیر /etc/freeradius/3.0/ نصب و پیکربندی کنید.

    پس از نصب FreeRADIUS، می‌توانید پیکربندی LDAP را با نصب افزونه freeradius-ldap اضافه کنید.

    $ sudo apt-get install freeradius freeradius-ldap
  2. فایل‌های کلید کلاینت LDAP و گواهی‌نامه را به ترتیب در /etc/freeradius/3.0/certs/ldap-client.key و /etc/freeradius/3.0/certs/ldap-client.crt کپی کنید.

    $ chown freeradius:freeradius
    /etc/freeradius/3.0/certs/ldap-client.*
    $ chmod 640 /etc/freeradius/3.0/certs/ldap-client.*

  3. ماژول LDAP را فعال کنید.

    $ cd /etc/freeradius/3.0/mods-enabled/
    $ ln -s ../mods-available/ldap ldap

  4. فایل ‎/etc/freeradius/3.0/mods-available/ldap ‎ را ویرایش کنید.
    1. ldap->server = 'ldaps://ldap.google.com:636'
    2. identity = نام کاربری از اعتبارنامه‌های برنامه
    3. رمز عبور = رمز عبور از اعتبارنامه‌های برنامه
    4. base_dn = 'dc=domain,dc=com'
    5. tls->start_tls = خیر
    6. tls->certificate_file = /etc/freeradius/3.0/certs/ldap-client.cer
    7. tls->private_key_file = /etc/freeradius/3.0/certs/ldap-client.key
    8. tls->require_cert = 'اجازه'
    9. تمام فیلدهای موجود در breadcrumb که نشان‌دهنده‌ی بخش 'ldap -> post-auth -> update' هستند را کامنت کنید.
  5. فایل ‎/etc/freeradius/3.0/sites-available/default ‎ را ویرایش کنید.
    این کار اتصال کلاینت FreeRadius را تغییر می‌دهد. اگر از کلاینت پیش‌فرض استفاده نمی‌کنید، حتماً کلاینت مربوطه (inner-tunnel یا هر کلاینت سفارشی) را که پیکربندی کرده‌اید، به‌روزرسانی کنید.
    1. بخش authorize را اصلاح کنید تا بلوک زیر در پایین ، بعد از عبارت پروتکل احراز هویت رمز عبور (PAP) اضافه شود:

      if (User-Password) {
      update control {
      Auth-Type := ldap
      }
      }

    2. در بخش authorize ، با حذف علامت '-' قبل از LDAP، آن را فعال کنید.

      #
      # ماژول ldap رمزهای عبور را از پایگاه داده LDAP می‌خواند.
      LDAP
    3. بخش احراز هویت را با ویرایش بلوک Auth-Type LDAP به صورت زیر تغییر دهید:

      # Auth-Type LDAP {
      ldap
      # }

    4. بخش احراز هویت را با ویرایش بلوک Auth-Type PAP به صورت زیر تغییر دهید:

      Auth-Type PAP {
      # pap
      ldap
      }

گیت‌لب

برای دستورالعمل‌های اتصال GitLab به سرویس Secure LDAP، به پیکربندی Google Secure LDAP برای GitLab مراجعه کنید.

ایتوپیا/اوبونتو

برای دستورالعمل‌های اتصال Itopia/Ubuntu به سرویس Secure LDAP، به پیکربندی Google Cloud Identity LDAP در اوبونتو ۱۶.۰۴ برای ورود کاربران مراجعه کنید.

ایوانتی / لان‌دسک

این مراحل را دنبال کنید:

  1. در سرور وب Ivanti خود، OpenLDAPAuthenticationConfiguration.xml یا OpenLDAPSSLAuthenticationConfiguration.xml را در یک ویرایشگر متن در هر دو پوشه زیر باز کنید:

    C:\ProgramData\LANDesk\ServiceDesk\servicedesk.Framework و C:\ProgramData\LANDesk\ServiceDesk\servicedesk.WebAccess (که در آن servicedesk نام نمونه است)
  2. مقدار <Server> را به ldap.google.com به‌روزرسانی کنید.
  3. مقدار <Port> را برای متن واضح با فعال بودن StartTLS به پورت ۳۲۶۸ و برای پورت SSL/TLS به ۳۲۶۹ به‌روزرسانی کنید (مقدار پیش‌فرض برای پورت متن واضح ۳۸۹ یا برای پورت SSL/TLS ۶۳۶ است).
  4. مقدار <TestDN> را برابر با نام دامنه خود با فرمت DN قرار دهید. (برای مثال، dc=example، dc=com برای example.com ).
  5. به هر دو فایل ..ProgramData\LANDesk\ServiceDesk\ServiceDesk.Framework\tps.config و ..ProgramData\LANDesk\ServiceDesk\WebAccess\tps.config ، خط زیر را اضافه کنید:

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPLogon.OpenLDAPAuthenticationProvider" />

    یا خط:

    <add key="AuthenticationProvider" value="Touchpaper.Integrations.OpenLDAPSSLLogon.OpenLDAPSSLAuthenticationProvider" />
  6. در مرکز پیکربندی ایوانتی، نمونه مورد نیاز را باز کنید.
  7. در کنار برنامه چارچوب میز خدمات ، روی ویرایش کلیک کنید.
    پنجره ویرایش برنامه برای چارچوب میز خدمات ظاهر می‌شود.
  8. در گروه پارامترهای پیکربندی ، در لیست سیاست ورود به سیستم ، گزینه Explicit only را انتخاب کنید، سپس روی تأیید کلیک کنید.
  9. در کنار برنامه دسترسی به وب، روی ویرایش کلیک کنید.
    پنجره ویرایش برنامه برای دسترسی به وب ظاهر می‌شود.
  10. در گروه پارامترهای پیکربندی ، در لیست سیاست ورود به سیستم ، گزینه Explicit only را انتخاب کنید و سپس روی تأیید کلیک کنید.

هنگام ورود به سیستم، از رمز عبور شبکه کاربر دامنه مرتبط استفاده کنید.

ثبت استثنا برای احراز هویت سرور LDAP

اگر در پیکربندی احراز هویت سرور LDAP با مشکل مواجه هستید، می‌توانید ثبت وقایع استثنا را فعال کنید تا به شما در شناسایی مشکل کمک کند. به طور پیش‌فرض، این گزینه غیرفعال است و توصیه می‌کنیم پس از پایان بررسی‌هایتان، ثبت وقایع استثنا را دوباره غیرفعال کنید.

برای فعال کردن ثبت وقایع استثنا برای احراز هویت سرور LDAP:

  1. فایل XML پیکربندی احراز هویت مناسب را در یک ویرایشگر متن باز کنید:

    فایل DirectoryServiceAuthenticationConfiguration.xml ، OpenLDAPAuthenticationConfiguration.xml یا OpenLDAPSSLAuthenticationConfiguration.xml
  2. خط را تغییر دهید:

    <ShowExceptions>false</ShowExceptions>
    به
    <ShowExceptions>true</ShowExceptions>
  3. تغییرات را ذخیره کنید.

Ldp.exe (ویندوز)

این مراحل را دنبال کنید:

  1. فایل‌های گواهی و کلید را به یک فایل با فرمت PKCS12 تبدیل کنید. در خط فرمان، دستور زیر را وارد کنید:

    اگر در macOS یا Linux هستید، از دستورات زیر استفاده کنید:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    برای رمزگذاری فایل خروجی، یک رمز عبور وارد کنید.

    اگر در ویندوز هستید، از دستورات زیر استفاده کنید:

    $ certutil -mergepfx ldap-client.crt ldap-client.p12

    مهم: دو فایل ( <CERT_FILE>.crt و <CERT_FILE>.key ) باید در یک دایرکتوری قرار داشته باشند. همچنین، مطمئن شوید که key و crt هر دو نام یکسانی (با پسوند متفاوت) دارند. در این مثال، ما از نام‌های ldap-client.crt و ldap-client.key استفاده می‌کنیم.

  2. به کنترل پنل بروید.
  3. در کادر جستجو، عبارت «certificate» را جستجو کنید و روی مدیریت گواهینامه‌های کاربر کلیک کنید.
  4. به اقدام > همه وظایف > وارد کردن بروید…
  5. کاربر فعلی را انتخاب کنید و روی بعدی کلیک کنید.
  6. روی مرور کلیک کنید…
  7. در منوی کشویی نوع فایل در گوشه پایین سمت راست کادر محاوره‌ای، گزینه تبادل اطلاعات شخصی (*.pfx;*.p12) را انتخاب کنید.
  8. فایل ldap-client.p12 را از مرحله ۲ انتخاب کنید، روی Open کلیک کنید و سپس روی Next کلیک کنید.
  9. رمز عبور مرحله ۲ را وارد کنید و روی Next کلیک کنید.
  10. فروشگاه گواهی شخصی را انتخاب کنید، روی Next کلیک کنید و سپس روی Finish کلیک کنید.
  11. فایل Ldp.exe را اجرا کنید.
  12. به اتصال > اتصال بروید...
  13. جزئیات اتصال زیر را وارد کنید:

    سرور: ldap.google.com
    بندر: ۶۳۶
    بدون اتصال: علامت‌گذاری نشده
    SSL: بررسی شد
  14. روی تأیید کلیک کنید.
  15. به نمایش > درخت بروید.
  16. DN پایه را وارد کنید. این نام دامنه شما در قالب DN است. (برای مثال، dc=example، dc=com برای example.com ).
  17. روی تأیید کلیک کنید.
  18. اگر اتصال موفقیت‌آمیز باشد، LDP.exe محتویات Active Directory - مانند تمام ویژگی‌های موجود در DN پایه - را در پنل سمت راست نمایش می‌دهد.

نت‌گیت / پی‌اف‌سنس

برای دستورالعمل‌های اتصال Netgate/pfSense به سرویس Secure LDAP، به پیکربندی Google Cloud Identity به عنوان منبع احراز هویت مراجعه کنید.

OpenLDAP / ldapsearch (لینوکس)

برای دسترسی به دایرکتوری LDAP خود از طریق خط فرمان، می‌توانید از دستور OpenLDAP ldapsearch استفاده کنید.

با فرض اینکه گواهی کلاینت و فایل‌های کلید شما ldap-client.crt و ldap-client.key هستند، دامنه شما example.com و نام کاربری شما jsmith است:

$ LDAPTLS_CERT=ldap-client.crt LDAPTLS_KEY=ldap-client.key ldapsearch -H ldaps://ldap.google.com -b dc=example,dc=com '(uid=jsmith)'

این کار متغیرهای محیطی مربوطه را طوری تنظیم می‌کند که به کلیدهای کلاینت اشاره کنند. می‌توانید گزینه‌های دیگر ldapsearch را با فیلترهای دلخواه، ویژگی‌های درخواستی و غیره جایگزین کنید. برای جزئیات بیشتر، لطفاً به صفحات راهنمای ldapsearch ("man ldapsearch") مراجعه کنید.

جستجوی ldap (مک او اس)

این مراحل را دنبال کنید:

  1. فایل‌های گواهی و کلید را به یک فایل با فرمت PKCS12 تبدیل کنید. در خط فرمان، دستور زیر را وارد کنید:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    برای رمزگذاری فایل خروجی، رمز عبور خود را وارد کنید.
  2. کلیک در گوشه سمت راست بالای نوار منو، عبارت Keychain Access را تایپ کنید.
  3. برنامه Keychain Access را باز کنید و از لیست سمت چپ، روی System کلیک کنید.
  4. روی گزینه File در نوار منوی بالا سمت چپ کلیک کنید و Import Items را انتخاب کنید.
  5. به مکانی که فایل ldap-client.p12 تولید شده در آن قرار دارد بروید، ldap-client.p12 را انتخاب کنید و روی Open کلیک کنید.
    در صورت درخواست، رمز عبور خود را وارد کنید.
    اکنون باید گواهی‌نامه‌ای با نام LDAP Client در فهرست گواهی‌نامه‌های System Keychain ظاهر شود.
  6. روی فلش کنار گواهی LDAP Client کلیک کنید. یک کلید خصوصی در زیر آن ظاهر می‌شود.
    1. روی کلید خصوصی دوبار کلیک کنید.
    2. از کادر محاوره‌ای، برگه Access Control را انتخاب کنید و روی + در گوشه پایین سمت چپ کلیک کنید.
    3. از پنجره‌ای که باز می‌شود، کلیدهای Command+Shift+G را فشار دهید تا یک پنجره جدید باز شود و سپس متن موجود را با /usr/bin/ldapsearch جایگزین کنید.

    4. روی «برو» کلیک کنید.

      این کار پنجره‌ای را باز می‌کند که ldapsearch در آن هایلایت شده است.

    5. روی افزودن کلیک کنید.

    6. روی ذخیره تغییرات کلیک کنید و در صورت درخواست، رمز عبور خود را وارد کنید.

      اکنون می‌توانید با استفاده از دستور OpenLDAP ldapsearch از خط فرمان به دایرکتوری LDAP خود دسترسی پیدا کنید.

  7. با فرض اینکه فایل ldap-client.p12 که قبلاً به keychain وارد کرده‌اید، نام LDAP Client دارد، دامنه شما example.com و نام کاربری شما jsmith است، موارد زیر را وارد کنید:

    $ LDAPTLS_IDENTITY="LDAP Client" ldapsearch -H ldaps://ldap.google.com:636 -b dc=example,dc=com '(uid=jsmith)'

این کار متغیرهای محیطی مربوطه را طوری تنظیم می‌کند که به گواهی کلاینت وارد شده اشاره کنند. می‌توانید سایر گزینه‌های ldapsearch را با فیلترهای دلخواه، ویژگی‌های درخواستی و غیره جایگزین کنید. برای جزئیات بیشتر، لطفاً به صفحات راهنمای ldapsearch ( man ldapsearch ) مراجعه کنید.

OpenVPN (نسخه عمومی)

این مراحل را دنبال کنید:

  1. در صورت نیاز، OpenVPN را نصب و پیکربندی کنید، یا اگر قبلاً این کار را انجام داده‌اید، صفحه تنظیمات را در OpenVPN باز کنید.

    پیکربندی عمومی VPN فراتر از محدوده این مقاله راهنما است. پس از پیکربندی VPN، می‌توانید احراز هویت و مجوز کاربر را از طریق LDAP اضافه کنید. به طور خاص، باید افزونه openvpn-auth-ldap را نصب کنید.

    $ sudo apt-get install openvpn openvpn-auth-ldap
  2. فایل‌های کلید کلاینت LDAP و گواهی‌نامه را در /etc/openvpn/ldap-client.key و /etc/openvpn/ldap-client.crt کپی کنید.
  3. یک فایل /etc/openvpn/auth-ldap.conf ایجاد کنید که شامل موارد زیر باشد (با فرض اینکه example.com نام دامنه است):

    <LDAP>
    URL ldaps://ldap.google.com:636 #
    Timeout 15
    TLSEnable false
    TLSCACertDir /etc/ssl/certs
    TLSCertFile /etc/openvpn/ldap-client.crt
    TLSKeyFile /etc/openvpn/ldap-client.key
    </LDAP>
    <Authorization>
    BaseDN "dc=example,dc=com"
    SearchFilter "(uid=%u)" # (or choose your own LDAP filter for users)
    RequireGroup false
    </Authorization>

  4. فایل پیکربندی OpenVPN را که اغلب با نام /etc/openvpn/server.conf یا مشابه آن نامگذاری می‌شود، ویرایش کنید. در انتهای فایل، موارد زیر را اضافه کنید:

    plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth-ldap.conf
    verify-client-cert optional

  5. سرور OpenVPN را مجدداً راه اندازی کنید.

    $ sudo systemctl restart openvpn@server
  6. کلاینت‌های VPN را طوری پیکربندی کنید که از نام کاربری و رمز عبور کاربران استفاده کنند. برای مثال، در پیکربندی کلاینت OpenVPN، عبارت auth-user-pass را به انتهای فایل پیکربندی کلاینت OpenVPN اضافه کنید و کلاینت OpenVPN را اجرا کنید:

    $ openvpn --config /path/to/client.conf
  7. دستورالعمل‌های استفاده از stunnel به عنوان پروکسی را دنبال کنید.

سرور دسترسی OpenVPN (نسخه تجاری)

برای دستورالعمل‌های اتصال OpenVPN Access Server به سرویس Secure LDAP، به پیکربندی Google Secure LDAP با OpenVPN Access Server مراجعه کنید.

پیپرکات MF و NG

برای دستورالعمل‌های اتصال PaperCut به سرویس Secure LDAP، به نحوه همگام‌سازی و تأیید اعتبار کاربران Google Workspace و Google Cloud Identity در PaperCut مراجعه کنید.

شرکت عروسکی

برای دستورالعمل‌های اتصال Puppet Enterprise به سرویس Secure LDAP، به Google Cloud Directory for PE مراجعه کنید.

مرورگر LDAP سافترا

مهم: قبل از شروع، مطمئن شوید که مرورگر Softerra LDAP با نسخه ۴.۵ (۴.۵.۱۹۸۰۸.۰) یا بالاتر را نصب کرده‌اید. به LDAP Browser 4.5 مراجعه کنید.

این مراحل را دنبال کنید:

  1. فایل‌های گواهی و کلید را به یک فایل با فرمت PKCS12 تبدیل کنید. در خط فرمان، دستور زیر را وارد کنید:

    اگر در macOS یا Linux هستید، از دستورات زیر استفاده کنید:

    openssl pkcs12 -inkey ldap-client.key -in ldap-client.crt -export -out ldap-client.p12

    برای رمزگذاری فایل خروجی، یک رمز عبور وارد کنید.

    اگر در ویندوز هستید، از دستورات زیر استفاده کنید:

    $ certutil -mergepfx ldap-client.crt ldap-client.p12

    مهم: دو فایل ( <CERT_FILE>.crt و <CERT_FILE>.key ) باید در یک دایرکتوری قرار داشته باشند. همچنین، مطمئن شوید که key و crt هر دو نام یکسانی (با پسوند متفاوت) دارند. در این مثال، ما از نام‌های ldap-client.crt و ldap-client.key استفاده می‌کنیم.

  2. در مرورگر Softerra LDAP، جفت کلید را نصب کنید.
    1. به ابزارها > مدیر گواهی‌نامه بروید.
    2. روی وارد کردن کلیک کنید…
    3. روی بعدی کلیک کنید.
    4. روی مرور کلیک کنید…
    5. در فهرست کشویی نوع فایل در گوشه پایین سمت راست کادر محاوره‌ای، گزینه تبادل اطلاعات شخصی (*.pfx;*.p12) را انتخاب کنید.
    6. فایل ldap-client.p12 را از مرحله ۲ بالا انتخاب کنید.
    7. روی «باز کردن» کلیک کنید و سپس روی «بعدی» کلیک کنید.
    8. رمز عبور مرحله ۲ بالا را وارد کنید و روی Next کلیک کنید.
    9. فروشگاه گواهی شخصی را انتخاب کنید.
    10. روی بعدی کلیک کنید.
    11. روی پایان کلیک کنید.
  3. یک نمایه سرور اضافه کنید.
    1. به فایل > جدید > نمایه جدید بروید…
    2. یک نام برای نمایه وارد کنید، مانند Google LDAP .
    3. روی بعدی کلیک کنید.

      موارد زیر را وارد کنید:

      میزبان: ldap.google.com
      بندر:
      ۶۳۶
      DN پایه: نام دامنه شما در قالب DN. (مثلاً dc=example، dc=com برای example.com)
      استفاده از اتصال امن (SSL): علامت زده شده
    4. روی بعدی کلیک کنید.
    5. خارجی (گواهی SSL) را انتخاب کنید.
    6. روی بعدی کلیک کنید.
    7. روی پایان کلیک کنید.

سوفوس موبایل

برای دستورالعمل‌های اتصال Sophos Mobile به سرویس Secure LDAP، به بخش اتصال Sophos Mobile به Google Cloud Identity / Google Cloud Directory با استفاده از Secure LDAP مراجعه کنید.

اسپلانک

هنگام اتصال Splunk به سرویس Secure LDAP، حتماً از نسخه 8.1.4 یا بالاتر Splunk استفاده کنید. هنگام استفاده از نسخه‌های قدیمی‌تر Splunk مانند Splunk نسخه 8.1.3، ممکن است درخواست‌های LDAP بیش از حد به سرور LDAP ارسال شود که می‌تواند منجر به اتمام سریع سهمیه LDAP شما شود. برای اطلاعات بیشتر در مورد مشکلات Splunk نسخه 8.1.3، به بخش مشکلات شناخته شده Splunk مراجعه کنید.

این مراحل را دنبال کنید:

  1. فایل‌های کلید و گواهی کلاینت LDAP را در /home/splunk/splunkadmin/etc/openldap/certs/ldap-client.key و /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt کپی کنید.

    $ cat /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.crt /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.key > /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem

    $ sudo chown $(splunkuser):$(splunkuser) /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*

    $ sudo chmod 644 /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.*

  2. فایل ldap.conf را ویرایش کنید تا پیکربندی‌های زیر را اضافه کنید:

    ssl start_tls
    TLS_REQCERT never
    TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem
    TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap.pem

  3. پیکربندی‌های زیر را در فایل /home/splunkadmin/.ldaprc کاربر اضافه کنید:

    TLS_CERT /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem
    TLS_KEY /home/splunkadmin/splunk/etc/openldap/certs/ldap-client.pem

  4. استراتژی LDAP را با استفاده از رابط کاربری وب Splunk اضافه کنید. جزئیات زیر را وارد کنید و سپس روی ذخیره کلیک کنید:

نام

گوگل LDAP امن

میزبان

ldap.google.com

بندر

۶۳۶

SSL فعال شده است

بررسی شده

ترتیب اتصال

۱

اتصال DN

اطلاعات دسترسی که در کنسول گوگل ادمین ایجاد کرده‌اید را وارد کنید.

اتصال رمز عبور DN

اطلاعات دسترسی که در کنسول گوگل ادمین ایجاد کرده‌اید را وارد کنید.

پایه DN

نام دامنه شما در قالب DN (برای مثال، dc=example,dc=com برای دامنه example.com )

فیلتر پایگاه کاربر

فیلتر پایه کاربر را برای کلاس شیء که می‌خواهید کاربران خود را بر اساس آن فیلتر کنید، وارد کنید.

ویژگی نام کاربری

شناسه کاربری

ویژگی نام واقعی

نام نمایشی

ویژگی ایمیل

ایمیل

ویژگی نگاشت گروهی

دی ان

گروه پایه DN

نام دامنه شما در قالب DN (برای مثال، ou=Groups,dc=example,dc=com برای دامنه example.com )

فیلتر جستجوی گروه استاتیک

فیلتر جستجوی گروه استاتیک را برای کلاس شیء که می‌خواهید گروه‌های استاتیک خود را بر اساس آن فیلتر کنید، وارد کنید.

ویژگی نام گروه

سی ان

ویژگی عضو استاتیک

عضو

SSSD (رد هت انترپرایز و سنت او اس)

SSSD در حین احراز هویت کاربر، جستجوی کاربر را انجام می‌دهد تا اطلاعات بیشتری در مورد او به دست آورد. برای اطمینان از اینکه احراز هویت کاربر برای این کلاینت LDAP به درستی کار می‌کند، باید خواندن اطلاعات کاربر و خواندن اطلاعات گروه را برای همه واحدهای سازمانی که تأیید اعتبار کاربر در آنها روشن است، فعال کنید. (برای دستورالعمل‌ها، به پیکربندی مجوزهای دسترسی مراجعه کنید.)

برای اتصال یک کلاینت SSSD در Red Hat 8 یا CentOS 8 به سرویس Secure LDAP:

  1. کلاینت SSSD را به سرویس Secure LDAP اضافه کنید:
    1. از کنسول مدیریت گوگل، به Apps > LDAP > ADD CLIENT بروید.
      حتماً با حساب کاربری شرکتی خود وارد شوید و نه با حساب کاربری جیمیل شخصی خود.
    2. اطلاعات مشتری را وارد کنید و روی ادامه کلیک کنید.
    3. مجوزهای دسترسی را پیکربندی کنید:
      اعتبارنامه‌های کاربر را تأیید کنید - کل دامنه
      خواندن اطلاعات کاربر—کل دامنه
      خواندن اطلاعات گروه— روشن
    4. روی افزودن کلاینت LDAP کلیک کنید.
    5. گواهی تولید شده را دانلود کنید.
    6. برای مشاهده جزئیات مشتری، روی ادامه کلیک کنید.
    7. وضعیت سرویس را به روشن (ON) تغییر دهید.
  2. نصب وابستگی‌ها:

    dnf install openldap-clients sssd-ldap
    install -d --mode=700 --owner=sssd --group=root /etc/sssd/ldap


    فایل .zip گواهی را از حالت فشرده خارج کرده و فایل‌های .crt و .key را در /etc/sssd/ldap کپی کنید.
  3. (اختیاری) تست با ldapsearch:

    LDAPTLS_REQCERT=never \
    LDAPTLS_KEY=Google.key \
    LDAPTLS_CERT=Google.crt \
    ldapsearch -H ldaps://ldap.google.com:636/ \
    -b dc=example,dc=com \
    -D usertoverify@example.com \
    -W \
    '(mail=usertoverify@example.com)' \
    mail dn


    در صورت درخواست، رمز عبور گوگل کاربر را وارد کنید.

    توجه: کاربر باید مجوز Google Workspace Enterprise یا Cloud Identity Premium داشته باشد.

  4. فایل /etc/sssd/sssd.conf را با محتوای زیر ایجاد کنید:

    [sssd]
    services = nss, pam
    domains = example.com

    [domain/example.com]
    ldap_tls_cert = /etc/sssd/ldap/Google.crt
    ldap_tls_key = /etc/sssd/ldap/Google.key
    ldap_tls_reqcert = never
    ldap_uri = ldaps://ldap.google.com
    ldap_search_base = dc=example,dc=com
    id_provider = ldap
    auth_provider = ldap
    ldap_schema = rfc2307bis
    ldap_user_uuid = entryUUID

  5. مجوزها و برچسب‌های SELinux را به‌روزرسانی کنید:

    chown 0:0 /etc/sssd/sssd.conf /etc/sssd/ldap/*
    chmod 600 /etc/sssd/sssd.conf /etc/sssd/ldap/*
    restorecon -FRv /etc/sssd

  6. SSSD را مجدداً راه اندازی کنید:

    systemctl restart sssd
  7. آزمون:

    ssh به سرور:

    ssh -l user@example.com {HOSTNAME}

عیب‌یابی

  1. نسخه SSSD را بررسی کنید (باید بزرگتر یا مساوی ۱.۱۵.۲ باشد):

    # sssd --version
    2.2.3

  2. در RHEL/CentOS (یا هر توزیعی با اجرای SELinux)، فایل‌های پیکربندی SSSD و فایل گواهی و کلید باید در دایرکتوری باشند که توسط نقش sssd_conf_t قابل دسترسی باشد:

    # egrep "object_r:sssd_conf_t" /etc/selinux/targeted/contexts/files/file_contexts

    برای پیام‌های رد درخواست AVC، فایل /var/log/audit/audit.log را بررسی کنید.

  3. بررسی کنید که /etc/nsswitch.conf برای موجودیت‌های passwd، shadow، group و netgroup دارای "sss" باشد:

    passwd: files sss
    shadow: files sss
    group: files sss
    netgroup: files sss


    در اینجا، فایل‌های محلی جایگزین کاربران LDAP خواهند شد.
  4. برای خطاهای پیکربندی، فایل /var/log/sssd.conf را بررسی کنید:

    مثال:
    [sssd] [sss_ini_add_snippets] (0x0020): خطای ادغام پیکربندی: فایل /etc/sssd/sssd.conf از بررسی دسترسی عبور نکرد. در حال رد شدن.

    اقدام: شما باید فایل .conf را به سطح دسترسی ۶۰۰ تغییر دهید.

    مثال:
    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: ویژگی 'ldap_groups_use_matching_rule_in_chain' در بخش 'domain/{DOMAIN}' مجاز نیست. غلط املایی را بررسی کنید.

    [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_domain_options]: ویژگی 'ldap_initgroups_use_matching_rule_in_chain' در بخش 'domain/{DOMAIN}' مجاز نیست. غلط املایی را بررسی کنید.

    اقدام: افزونه‌های LDAP منطبق با گروه پشتیبانی نشده را از sssd.conf حذف کنید.

  5. برای خطاهای LDAP/network/auth، فایل /var/log/sssd_{DOMAIN}.log را بررسی کنید.

    مثال:

    [sssd[be[example.com]]] [sss_ldap_init_sys_connect_done] (0x0020): ldap_install_tls ناموفق بود: [خطای اتصال] [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed (گواهی خودامضا)]

    اقدام: شما باید عبارت "ldap_tls_reqcert = never" را به sssd.conf اضافه کنید.

    برای افزایش شفافیت خطاها، عبارت "debug_level = 9" را در sssd.conf زیر بخش دامنه اضافه کنید و sssd را مجدداً راه‌اندازی کنید.

SSSD (سایر توزیع‌های لینوکس)

SSSD در حین احراز هویت کاربر، جستجوی کاربر را انجام می‌دهد تا اطلاعات بیشتری در مورد او به دست آورد. برای اطمینان از اینکه احراز هویت کاربر برای این کلاینت LDAP به درستی کار می‌کند، باید خواندن اطلاعات کاربر و خواندن اطلاعات گروه را برای همه واحدهای سازمانی که تأیید اعتبار کاربر در آنها روشن است، فعال کنید. (برای دستورالعمل‌ها، به پیکربندی مجوزهای دسترسی مراجعه کنید.)

برای اتصال یک کلاینت SSSD به سرویس Secure LDAP:

  1. نسخه SSSD >= 1.15.2 را نصب کنید.

    $ sudo apt-get install sssd
  2. با فرض اینکه فایل‌های گواهی و کلید کلاینت شما به نام‌های /var/ldap-client.crt و /var/ldap-client.key هستند و دامنه شما example.com است، فایل /etc/sssd/sssd.conf را با پیکربندی مانند زیر ویرایش کنید:


    [اس‌اس‌دی]
    خدمات = nss، پم
    دامنه‌ها = example.com

    [دامنه/ example.com ]
    ldap_tls_cert = /var/ldap-client.crt
    ldap_tls_key = /var/ldap-client.key
    ldap_uri = ldaps://ldap.google.com
    ldap_search_base = dc=example,dc=com
    شناسه_ارائه‌دهنده = ldap
    auth_provider = ldap
    ldap_schema = rfc2307bis
    ldap_user_uuid = شناسه ورودی
    ldap_groups_use_matching_rule_in_chain = درست
    ldap_initgroups_use_matching_rule_in_chain = درست

  3. تغییر مالکیت و مجوز فایل پیکربندی:

    $ sudo chown root:root /etc/sssd/sssd.conf
    $ sudo chmod 600 /etc/sssd/sssd.conf

  4. SSSD را مجدداً راه اندازی کنید:

    $ sudo service sssd restart

نکته: اگر از ماژول SSSD در رایانه‌های لینوکس بدون آدرس‌های IP خارجی در Google Compute Engine استفاده می‌کنید، تا زمانی که دسترسی داخلی به سرویس‌های گوگل فعال باشد، می‌توانید به سرویس Secure LDAP متصل شوید. برای جزئیات بیشتر، به پیکربندی دسترسی خصوصی به گوگل مراجعه کنید.

مک‌او‌اس

برای اتصال کلاینت macOS جهت احراز هویت حساب کاربری با استفاده از سرویس Secure LDAP، مراحل زیر را دنبال کنید.

الزامات سیستم

  • macOS باید نسخه کاتالینا ۱۰.۱۵.۴ یا بالاتر باشد.
  • برای تکمیل مرحله ۱ در مرحله آماده‌سازی، به یک شناسه کاربری گوگل با دسترسی ادمین نیاز است.
  • برای انجام این پیکربندی به مجوزهای مدیر محلی نیاز دارید.

فهرست مطالب:

مرحله آماده‌سازی

دستورالعمل‌های این بخش بر نحوه تنظیم دستی و آزمایش احراز هویت macOS با استفاده از سرویس Secure LDAP تمرکز دارد.

مرحله ۱: نصب macOS به عنوان کلاینت LDAP در کنسول مدیریت گوگل

برای دستورالعمل‌ها، به افزودن کلاینت‌های LDAP مراجعه کنید، یا این نسخه آزمایشی Secure LDAP را تماشا کنید. همچنین در طول این فرآیند، یک گواهی کلاینت TLS که به صورت خودکار تولید می‌شود را دانلود خواهید کرد.

مرحله ۲: گواهی را به keychain سیستم وارد کنید

  1. گواهی (فایل زیپ دانلود شده در مرحله 1) و کلید را در دستگاه macOS کپی کنید.
    نکته: برای یافتن فایل‌های cert و key، فایل را از حالت فشرده خارج کنید.
  2. جفت کلید را به keychain سیستم وارد کنید:
    1. کلید و گواهی را به یک فایل PKCS 12 (p12) تبدیل کنید. دستور زیر را در ترمینال اجرا کنید:

      openssl pkcs12 -export -out ldap-client.p12 -in ldap-client.crt -inkey ldap-client.key

      نکته: نام فایل .p12 را یادداشت کنید.

      سیستم از شما می‌خواهد که یک رمز عبور وارد کنید. رمز عبوری را وارد کنید که با آن فایل p12 رمزگذاری شود.

    2. برنامه Keychain Access را باز کنید.

    3. روی کلید سیستم کلیک کنید.

    4. روی فایل > وارد کردن موارد کلیک کنید.

    5. فایل ldap-client.p12 که در بالا ایجاد شده است را انتخاب کنید.

    6. در صورت درخواست، رمز عبور مدیر را وارد کنید تا امکان تغییر keychain سیستم فراهم شود.

    7. رمز عبوری که در بالا ایجاد کردید را وارد کنید تا فایل .p12 رمزگشایی شود.

      توجه: انتظار داشته باشید که یک گواهی جدید و کلید خصوصی مرتبط با آن در لیست کلیدها نمایش داده شود. ممکن است LDAP Client نامیده شود. نام گواهی را برای مرحله بعدی زیر یادداشت کنید.
    8. برای تنظیم کنترل دسترسی برای کلید خصوصی جهت افزودن برنامه‌های مشخص شده در زیر، مرحله ۶ در بخش ldapsearch (macOS) در این مقاله را دنبال کنید. اگر کلید خصوصی در زیر دسته « همه موارد» نمایش داده نمی‌شود، سعی کنید به دسته «گواهینامه‌های من» بروید و با باز کردن گواهی مربوطه، ورودی صحیح کلید خصوصی را پیدا کنید.

      برنامه ldapsearch، همانطور که در دستورالعمل‌ها مشخص شده است، فقط در صورت نیاز به عیب‌یابی مرتبط است و برای اهداف دیگر کاربردی ندارد. معمولاً قبل از دسترسی کاربران به macOS حذف می‌شود.

      سه برنامه زیر باید به لیست کنترل دسترسی اضافه شوند:

      /System/Library/CoreServices/Applications/Directory Utility
      /usr/libexec/opendirectoryd
      /usr/bin/dscl
  3. یک خط به فایل /etc/openldap/ldap.conf اضافه کنید، و مطمئن شوید که "LDAP Client" دقیقاً همان نام گواهی است که پس از وارد کردن فایل .p12 در برنامه macOS Keychain Access نشان داده شده است (این نام از نام مشترک X.509 Subject گواهی تولید شده گرفته شده است):

    sudo bash -c 'echo -e "TLS_IDENTITY\tLDAP Client" >> /etc/openldap/ldap.conf'

مرحله ۳: دستگاه را برای احراز هویت به دایرکتوری گوگل هدایت کنید

برای ایجاد یک گره دایرکتوری LDAP جدید، برنامه Directory Utility را باز کنید:

  1. برای ایجاد تغییرات روی قفل کلیک کنید و رمز عبور خود را وارد کنید.
  2. LDAPv3 را انتخاب کنید و برای ویرایش تنظیمات، روی نماد مداد کلیک کنید.
  3. روی جدید کلیک کنید…
  4. برای نام سرور، ldap.google.com را وارد کنید، رمزگذاری با استفاده از SSL را انتخاب کنید و روی Manual کلیک کنید.
  5. نام سرور جدید را انتخاب کنید و روی ویرایش کلیک کنید…
  6. برای نام پیکربندی، یک نام توصیفی مانند Google Secure LDAP وارد کنید.
  7. گزینه رمزگذاری با استفاده از SSL را انتخاب کنید و مطمئن شوید که پورت روی ۶۳۶ تنظیم شده است.
  8. به برگه جستجو و نگاشت‌ها بروید.
    1. از لیست کشویی Access this LDAPv3 server using، گزینه RFC2307 را انتخاب کنید.
    2. وقتی از شما خواسته شد، اطلاعات مربوط به دامنه را در Search Base Suffix وارد کنید. برای مثال، برای نام دامنه zomato.com dc=zomato,dc=com را وارد کنید.
    3. روی تأیید کلیک کنید.
    4. ویژگی‌ها را در زیر نوع رکورد کاربران پیکربندی کنید:
      1. در بخش «انواع و ویژگی‌های رکورد» ، «کاربران» را انتخاب کرده و روی دکمه « + » کلیک کنید.
      2. در پنجره‌ی باز شده، گزینه‌ی Attribute Types و سپس GeneratedUID را انتخاب کنید و سپس برای بستن پنجره، روی OK کلیک کنید.

        GeneratedUID پس از باز شدن، باید در بخش Users نمایش داده شود.
      3. روی GeneratedUID کلیک کنید و روی نماد " + " در کادر سمت راست کلیک کنید.
      4. عبارت apple-generateduid را در کادر متن وارد کنید و روی Enter کلیک کنید.
      5. در زیر گره Users ، روی ویژگی NFSHomeDirectory کلیک کنید.
      6. در صفحه سمت راست، مقدار این ویژگی را به #/Users/$uid$ به‌روزرسانی کنید.
      7. روی تأیید کلیک کنید و رمز عبور خود را وارد کنید تا تغییرات ذخیره شود.
  9. از پنجره‌ی Directory Utility ، پیکربندی جدید LDAP را پیکربندی کنید:
    1. به برگه «سیاست جستجو» بروید.
    2. برای ایجاد تغییرات، روی نماد قفل کلیک کنید و در صورت درخواست، رمز عبور کاربر فعلی را وارد کنید.
    3. گزینه کشویی را از Search Path به Custom path تغییر دهید.
    4. برگه تأیید اعتبار را باز کنید و روی نماد " + " کلیک کنید.
    5. از فهرست دامنه‌های دایرکتوری، /LDAPv3/ldap.google.com را انتخاب کنید و سپس روی افزودن کلیک کنید.
    6. روی دکمه‌ی اعمال کلیک کنید و در صورت درخواست، رمز عبور ادمین خود را وارد کنید.
  10. Run the following four commands to disable the DIGEST-MD5, CRAM-MD5, NTLM, and GSSAPI SASL authentication mechanisms. The macOS will use Simple Bind to authenticate using the Google Secure LDAP service:

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string DIGEST-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string CRAM-MD5" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string NTLM" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

    sudo /usr/libexec/PlistBuddy -c "add ':module options:ldap:Denied SASL Methods:' string GSSAPI" /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist

  11. Reboot to reload the OpenDirectory configuration.

Step 4: Create a mobile account (allows offline login)

Any Google Workspace or Cloud Identity user can log in using a network account (Google account) using their username and password. This login process needs network connectivity. If a user needs to log in with or without connection to the network, a mobile account can be created. A mobile account lets you use your network account (Google account) username and password to sign in, whether or not you're connected to the network. For more details, see Create and configure mobile accounts on Mac .

To create a mobile account for Secure LDAP users:

  1. Run the following command to connect to the Secure LDAP server and set up a home path and mobile account(s):

    sudo /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -n $uid -v

    Tip: Replace $uid with the username part of the email address associated with the user's Google account. For example, jsmith is the username part for jsmith@solarmora.com .

  2. When prompted for the SecureToken admin user name , enter your admin username, and enter your password in the next prompt. This will add $uid into the FileVault. This is needed if the macOS disk is encrypted.

Step 5: (Optional) Set the login screen preference

  1. Go to System preferences > Users & Groups > Login Options at the bottom left.
  2. Unlock the lock by providing admin credentials.
  3. Change the Display login window as to Name and password.

Step 6: Reboot and log in to your device

  1. Make sure the device is connected to the Internet. If you don't have an internet connection, the login for the Secure LDAP user will not work.
    Note: Internet connection is needed only for the first login. Any subsequent logins can occur without Internet access.
  2. Sign in to the device with the user account that's configured to use Secure LDAP for authentication.

Deployment phase

The instructions in this section focus on automating the device configuration for your users. Perform steps 1 and 2 below on the same macOS device where you completed your manual configuration during the preparation phase.

Step 1: Create a Mac Profile with certificate using Apple Configurator 2

  1. Install Apple Configurator 2 on the machine where you manually configured macOS authentication with Secure LDAP.
  2. Open Apple Configurator 2, create a new profile and in the Certificate section, click Configure, and import the previously generated .p12 file.

    Note: Make sure this .p12 has a password. Enter this password in the Password section of the Certificate.

  3. Save this Profile.
  4. (For devices using M1 or M2 processors, skip this step and continue to Step 5. ) Open this profile in any text editor and add the following lines in first <dict> tag:

    <key>PayloadScope</key>
    <string>System</string>


    This is added, as Apple Configurator does not support profiles for macOS yet.
  5. In the second <dict> tag, parallel to certificate data, add the following lines:

    <key>AllowAllAppsAccess</key>
    <true/>


    This will make sure that this certificate can be accessed by all applications.

Step 2: Convert Directory config file (plist) to xml

In this step, you are extracting all the manual configurations that you completed during step 3 of the preparation phase into a XML file. You can use this file and the Mac profile created in step 1 above to automatically configure other macOS devices.

  1. Copy /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist to your desktop or elsewhere.
  2. Convert it to XML so that you can inspect it in any text editor. Run the following command in Terminal:

    sudo plutil -convert xml1 <path>/ldap.google.com.plist

    You can access the file as <path>/ldap.google.com.plist .
  3. Change the permission of the above file so that you can open the XML file. Make sure it is not empty.

Step 3: Create a python script to automate the configuration on your end-user devices

Copy the python script below and save it as a python file (.py file).

Note: This sample script is designed to be compatible with Python version 3.10.x. This script is provided on an as-is basis. Google support will not provide support for sample scripts.

Ldap_python_config.py

#!/usr/bin/python
from OpenDirectory import ODNode, ODSession, kODNodeTypeConfigure
from Foundation import NSMutableData, NSData

import os
import sys

# Reading plist
GOOGLELDAPCONFIGFILE = open(sys.argv[1], "r")
CONFIG = GOOGLELDAPCONFIGFILE.read()
GOOGLELDAPCONFIGFILE.close()

# Write the plist
od_session = ODSession.defaultSession()
od_conf_node, err = ODNode.nodeWithSession_type_error_(od_session, kODNodeTypeConfigure, None)
request = NSMutableData.dataWithBytes_length_(b' '*32, 32)
request.appendData_(NSData.dataWithBytes_length_(str.encode(CONFIG), len(CONFIG)))
response, err = od_conf_node.customCall_sendData_error_(99991, request, None)

# Edit the default search path and append the new node to allow for login
os.system("dscl -q localhost -append /Search CSPSearchPath /LDAPv3/ldap.google.com")
os.system("bash -c 'echo -e \"TLS_IDENTITY\tLDAP Client\" >> /etc/openldap/ldap.conf' ")

Step 4: Auto configure end-user devices

Go to other macOS devices that you would like to configure and follow these steps:

  1. Copy the Mac Profile file generated in step 1, XML config file generated in step 2, and the python script from step 3 to the device.
  2. To install the necessary dependency for the script, run the following command:
    python3 -m pip install pyobjc-framework-opendirectory
  3. Run the following command:
    sudo python </path/to/saved_python_script> </path/to/ldap.google.com.plist generated in step 2>
  4. To import certificates into the macOS system keychain, double-click on the Mac profile file generated in step 1, and when prompted provide your macOS local admin credentials. You will then be prompted to enter the .p12 password that you set during the preparation phase.
  5. Restart the macOS machine.
  6. Create mobile accounts as instructed in step 4 of the preparation phase, and optionally set additional preferences outlined in step 5 of the preparation phase.

Limitations and guidelines

  • For users signing in to macOS using their Google credentials, their Workspace account username must be different from their macOS user profile user ID, or sign-in is blocked.
  • Once a user starts signing in to macOS using Google credentials, user password management (reset or recovery) must happen on the Google website (for example, at myaccount.google.com or in the Google Admin console). If you choose to do password management using a third-party solution, then make sure the latest password is synchronized with Google.
  • If the admin creates a new user or resets an existing user's password with the Ask for a password change at the next sign-in setting turned on, the user cannot sign in to Mac using the temporary password set by the admin.
    Workaround: The user needs to sign in to Google using another device (for example, their mobile device or other desktop device), set a permanent password, and then sign in to macOS using the new password.
  • The Mac must be connected to a working internet connection so that ldap.google.com is reachable during the first sign-in after the above configuration. Any subsequent sign-ins won't need Internet access as long as you opted to set up a mobile account.
  • Google Secure LDAP integration with macOS is tested on macOS Catalina, Big Sur, and Monterey.

عیب‌یابی

If you have problems connecting to the Secure LDAP service, follow the instructions below.

Step 1: Verify the connection.

Verify the connection using odutil.
Run the odutil show nodenames command in the terminal.
Verify that the /LDAPv3/ldap.google.com status is online . If it's not online, try the telnet option.

Verify the connection using nc.
Execute the following command in the terminal: nc -zv ldap.google.com 636
If you aren't able to connect to Google using this approach, try connecting using IPv4.

Verify the connection with IPv4.
You can change your device to use IPv4 using the following steps:

  1. Go to System Preferences > Network > Wi-Fi > Advanced .
  2. Under the Advanced menu, go to the TCP/IP tab.
  3. Change the drop-down selection from Configure IPv6 to Link-local only .
  4. Click OK , and then click Apply to save the changes.
  5. Check service authentication via ldapsearch connectivity and valid search.

Step 2: Check whether you are able to see directory objects.

  1. Open Directory Utility , and then open the Directory Editor tab.
  2. Select the /LDAPv3/ldap.google.com node in the drop-down list.
  3. Verify whether you are able to see users and groups from your Google domain.

Configuration instructions for Java applications

Most Java-based applications that offer LDAP functionality can be configured to authenticate with client certificates by installing your client certificates in the application's keystore. The exact configuration files will differ among applications, but the process is generally similar. Setup requires that OpenSSL and a Java Runtime Environment are installed.

  1. Convert the certificate and keys to Java keystore format. You will be prompted for passwords throughout this process. Select a secure password and use the same one through all of the prompts. Assuming your client key file is named ldap-client.key :

    If you are in macOS or Linux, use the following commands:

    $  openssl pkcs12 -export -out java-application-ldap.pkcs12 -in ldap-client.crt -inkey ldap-client.key
    

    If you are in Windows, use the following commands:

    $  certutil -mergepfx ldap-client.crt java-application-ldap.pkcs12
    

    Important: The two files ( <CERT_FILE>.crt and <CERT_FILE>.key ) must be located in the same directory. Also, make sure both key and crt have an identical name (with the two different extensions). In this example, we use the names ldap-client.crt and ldap-client.key .

  2. Import the certificate into keystore:

    $  keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKS
    
  3. Java properties may be configured in different ways depending on the application. Often, you can set them with the -D option on the "java" command line used to start it. Set the Java properties for your application:

    javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks
    javax.net.ssl.keyStorePassword = <password selected above>
    
  4. Configure the application's LDAP connection settings, using the information in Basic configuration instructions .

Optional: Use stunnel as a proxy

For clients that don't offer a way to authenticate to LDAP with a client certificate, use stunnel as a proxy.

Configure stunnel to provide the client certificate to the LDAP server and configure your client to connect to stunnel. Ideally, you'll run stunnel on the same server(s) as your application and only listen locally so that you don't expose your LDAP directory beyond that server.

این مراحل را دنبال کنید:

  1. Install stunnel . For example, on Ubuntu:

    $  sudo apt-get install stunnel4
    
  2. Create a configuration file /etc/stunnel/google-ldap.conf with the following contents (assuming ldap-client.crt is the cert, and ldap-client.key is the key):

    [ldap]
    client = yes
    accept = 127.0.0.1:1636
    connect = ldap.google.com:636
    cert = ldap-client.crt
    key =
    ldap-client.key

  3. To enable stunnel, edit /etc/default/stunnel4 and set ENABLED=1 .

  4. Restart stunnel.

    $  sudo /etc/init.d/stunnel4 restart
    
  5. Configure your application to point to ldap://127.0.0.1:1636 .

    You can replace "1636" with any unused port if you also change the accept line in the configuration file above. You'll need to use plaintext LDAP without StartTLS/SSL/TLS enabled between the client and stunnel, since they are communicating locally.

Note: If you choose to run stunnel on a separate server, you must configure your firewalls so that only the necessary applications can access your stunnel server. You can also configure stunnel to listen with TLS so that data between your application and stunnel servers is encrypted. The details of both of these configurations depend on your environment.

مراحل بعدی

After you connect the LDAP client to the Secure LDAP service, you then need to switch the service status to On for the LDAP client.

For your next steps, see 5. Switch LDAP clients to On .

Note: If needed, you can use simple tools like ldapsearch , ADSI , or ldp.exe for troubleshooting if you encounter errors while trying to connect your LDAP client to the service. For instructions, see Connectivity testing and troubleshooting .