۴. اتصال کلاینت‌های 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. چهار دستور زیر را برای غیرفعال کردن مکانیسم‌های احراز هویت DIGEST-MD5، CRAM-MD5، NTLM و GSSAPI SASL اجرا کنید. macOS از Simple Bind برای احراز هویت با استفاده از سرویس Google Secure LDAP استفاده خواهد کرد:

    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. برای بارگذاری مجدد پیکربندی OpenDirectory، سیستم را مجدداً راه‌اندازی کنید.

مرحله ۴: ایجاد یک حساب کاربری موبایل (امکان ورود آفلاین را فراهم می‌کند)

هر کاربر Google Workspace یا Cloud Identity می‌تواند با استفاده از نام کاربری و رمز عبور خود، با استفاده از یک حساب شبکه (حساب گوگل) وارد سیستم شود. این فرآیند ورود به سیستم نیاز به اتصال به شبکه دارد. اگر کاربری نیاز به ورود با یا بدون اتصال به شبکه داشته باشد، می‌تواند یک حساب موبایل ایجاد کند. یک حساب موبایل به شما امکان می‌دهد از نام کاربری و رمز عبور حساب شبکه (حساب گوگل) خود برای ورود به سیستم استفاده کنید، چه به شبکه متصل باشید و چه نباشید. برای جزئیات بیشتر، به بخش ایجاد و پیکربندی حساب‌های موبایل در مک مراجعه کنید.

برای ایجاد یک حساب کاربری موبایل برای کاربران Secure LDAP:

  1. برای اتصال به سرور Secure LDAP و تنظیم مسیر خانه و حساب(های) موبایل، دستور زیر را اجرا کنید:

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

    نکته: به جای $uid ، بخش نام کاربری آدرس ایمیل مرتبط با حساب گوگل کاربر را قرار دهید. برای مثال، jsmith بخش نام کاربری برای jsmith@solarmora.com است.

  2. وقتی از شما نام کاربری ادمین SecureToken خواسته شد، نام کاربری ادمین خود را وارد کنید و در مرحله بعد رمز عبور خود را وارد کنید. این کار $uid را به FileVault اضافه می‌کند. اگر دیسک macOS رمزگذاری شده باشد، این مورد لازم است.

مرحله ۵: (اختیاری) تنظیمات صفحه ورود به سیستم را تنظیم کنید

  1. به تنظیمات سیستم > کاربران و گروه‌ها > گزینه‌های ورود در پایین سمت چپ بروید.
  2. با ارائه اعتبارنامه‌های مدیر، قفل را باز کنید.
  3. پنجره نمایش ورود را به نام و رمز عبور تغییر دهید.

مرحله ۶: دستگاه خود را ریبوت کنید و وارد سیستم شوید

  1. مطمئن شوید که دستگاه به اینترنت متصل است. اگر اتصال اینترنت نداشته باشید، ورود به سیستم برای کاربر Secure LDAP کار نخواهد کرد.
    توجه: اتصال به اینترنت فقط برای اولین ورود لازم است. ورودهای بعدی می‌تواند بدون دسترسی به اینترنت انجام شود.
  2. با حساب کاربری که برای استفاده از Secure LDAP برای احراز هویت پیکربندی شده است، وارد دستگاه شوید.

مرحله استقرار

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

مرحله ۱: ایجاد یک پروفایل مک به همراه گواهی‌نامه با استفاده از Apple Configurator 2

  1. Apple Configurator 2 را روی دستگاهی که احراز هویت macOS را به صورت دستی با Secure LDAP پیکربندی کرده‌اید، نصب کنید.
  2. Apple Configurator 2 را باز کنید، یک پروفایل جدید ایجاد کنید و در بخش Certificate، روی Configure کلیک کنید و فایل .p12 که قبلاً تولید شده است را وارد کنید.

    نکته: مطمئن شوید که این .p12 رمز عبور دارد. این رمز عبور را در قسمت رمز عبور گواهی وارد کنید.

  3. این نمایه را ذخیره کنید.
  4. (برای دستگاه‌هایی که از پردازنده‌های M1 یا M2 استفاده می‌کنند، از این مرحله صرف نظر کنید و به مرحله ۵ بروید.) این پروفایل را در هر ویرایشگر متنی باز کنید و خطوط زیر را در تگ اول <dict> اضافه کنید:

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


    این قابلیت اضافه شده است، زیرا Apple Configurator هنوز از پروفایل‌های macOS پشتیبانی نمی‌کند.
  5. در تگ <dict> دوم، به موازات داده‌های گواهی، خطوط زیر را اضافه کنید:

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


    این کار تضمین می‌کند که این گواهی‌نامه توسط همه برنامه‌ها قابل دسترسی باشد.

مرحله 2: تبدیل فایل پیکربندی دایرکتوری (plist) به xml

در این مرحله، شما تمام پیکربندی‌های دستی که در مرحله ۳ از مرحله آماده‌سازی انجام داده‌اید را در یک فایل XML استخراج می‌کنید. می‌توانید از این فایل و پروفایل مک ایجاد شده در مرحله ۱ بالا برای پیکربندی خودکار سایر دستگاه‌های macOS استفاده کنید.

  1. فایل /Library/Preferences/OpenDirectory/Configurations/LDAPv3/ldap.google.com.plist را در دسکتاپ یا هر جای دیگری کپی کنید.
  2. آن را به XML تبدیل کنید تا بتوانید آن را در هر ویرایشگر متنی بررسی کنید. دستور زیر را در ترمینال اجرا کنید:

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

    شما می‌توانید به این فایل با نام <path>/ldap.google.com.plist دسترسی پیدا کنید.
  3. سطح دسترسی فایل فوق را تغییر دهید تا بتوانید فایل XML را باز کنید. مطمئن شوید که خالی نیست.

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

اسکریپت پایتون زیر را کپی کرده و آن را به عنوان یک فایل پایتون (فایل .py) ذخیره کنید.

توجه: این اسکریپت نمونه طوری طراحی شده است که با پایتون نسخه ۳.۱۰.x سازگار باشد. این اسکریپت به صورت «همانطور که هست» ارائه می‌شود. پشتیبانی گوگل از اسکریپت‌های نمونه پشتیبانی نخواهد کرد.

فایل پیکربندی Ldap_python.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' ")

مرحله ۴: پیکربندی خودکار دستگاه‌های کاربر نهایی

به سایر دستگاه‌های macOS که می‌خواهید پیکربندی کنید بروید و این مراحل را دنبال کنید:

  1. فایل Mac Profile تولید شده در مرحله ۱، فایل XML config تولید شده در مرحله ۲ و اسکریپت پایتون از مرحله ۳ را به دستگاه کپی کنید.
  2. برای نصب وابستگی‌های لازم برای اسکریپت، دستور زیر را اجرا کنید:
    python3 -m pip install pyobjc-framework-opendirectory
  3. دستور زیر را اجرا کنید:
    sudo python </path/to/saved_python_script> </path/to/ldap.google.com.plist generated in step 2>
  4. برای وارد کردن گواهینامه‌ها به keychain سیستم macOS، روی فایل پروفایل Mac که در مرحله 1 ایجاد شده است، دوبار کلیک کنید و در صورت درخواست، اطلاعات کاربری مدیر محلی macOS خود را وارد کنید. سپس از شما خواسته می‌شود رمز عبور .p12 را که در مرحله آماده‌سازی تنظیم کرده‌اید، وارد کنید.
  5. دستگاه macOS را مجدداً راه اندازی کنید.
  6. طبق دستورالعمل‌های مرحله ۴ از مرحله آماده‌سازی، حساب‌های موبایل ایجاد کنید و در صورت تمایل، تنظیمات اضافی ذکر شده در مرحله ۵ از مرحله آماده‌سازی را تنظیم کنید.

محدودیت‌ها و دستورالعمل‌ها

  • برای کاربرانی که با استفاده از اعتبارنامه‌های گوگل خود وارد macOS می‌شوند، نام کاربری حساب Workspace آنها باید با شناسه کاربری نمایه کاربری macOS آنها متفاوت باشد، در غیر این صورت ورود به سیستم مسدود می‌شود.
  • به محض اینکه کاربر با استفاده از اعتبارنامه‌های گوگل وارد macOS می‌شود، مدیریت رمز عبور کاربر (بازنشانی یا بازیابی) باید در وب‌سایت گوگل (مثلاً در myaccount.google.com یا در کنسول مدیریت گوگل) انجام شود. اگر تصمیم دارید مدیریت رمز عبور را با استفاده از یک راه‌حل شخص ثالث انجام دهید، مطمئن شوید که آخرین رمز عبور با گوگل همگام‌سازی شده است.
  • اگر مدیر سیستم، کاربر جدیدی ایجاد کند یا رمز عبور کاربر موجود را با فعال بودن گزینه «درخواست تغییر رمز عبور در ورود بعدی » تغییر دهد، کاربر نمی‌تواند با استفاده از رمز عبور موقت تعیین شده توسط مدیر، وارد مک شود.
    راه حل: کاربر باید با استفاده از دستگاه دیگری (مثلاً دستگاه تلفن همراه یا دستگاه رومیزی دیگر) وارد گوگل شود، یک رمز عبور دائمی تنظیم کند و سپس با استفاده از رمز عبور جدید وارد macOS شود.
  • مک باید به یک اتصال اینترنتی فعال متصل باشد تا ldap.google.com در اولین ورود به سیستم پس از پیکربندی فوق قابل دسترسی باشد. ورودهای بعدی تا زمانی که تصمیم به راه‌اندازی یک حساب کاربری موبایل گرفته باشید، نیازی به دسترسی به اینترنت نخواهند داشت.
  • ادغام Google Secure LDAP با macOS در macOS Catalina، Big Sur و Monterey آزمایش شده است.

عیب‌یابی

اگر در اتصال به سرویس Secure LDAP مشکل دارید، دستورالعمل‌های زیر را دنبال کنید.

مرحله ۱: اتصال را تأیید کنید.

با استفاده از odutil اتصال را تأیید کنید.
دستور odutil show nodenames را در ترمینال اجرا کنید.
مطمئن شوید که وضعیت /LDAPv3/ldap.google.com آنلاین است. اگر آنلاین نیست، گزینه telnet را امتحان کنید.

اتصال را با استفاده از nc تأیید کنید.
دستور زیر را در ترمینال اجرا کنید: nc -zv ldap.google.com 636
اگر با این روش نتوانستید به گوگل متصل شوید، سعی کنید از IPv4 استفاده کنید.

اتصال را با IPv4 تأیید کنید.
شما می‌توانید با استفاده از مراحل زیر، دستگاه خود را برای استفاده از IPv4 تغییر دهید:

  1. به تنظیمات سیستم > شبکه > وای‌فای > پیشرفته بروید.
  2. در منوی Advanced، به برگه TCP/IP بروید.
  3. گزینه کشویی را از Configure IPv6 به Link-local only تغییر دهید.
  4. روی تأیید کلیک کنید و سپس برای ذخیره تغییرات، روی اعمال کلیک کنید.
  5. احراز هویت سرویس را از طریق اتصال ldapsearch و جستجوی معتبر بررسی کنید.

مرحله ۲: بررسی کنید که آیا می‌توانید اشیاء دایرکتوری را ببینید یا خیر.

  1. ابزار دایرکتوری (Directory Utility) را باز کنید و سپس تب ویرایشگر دایرکتوری (Directory Editor) را باز کنید.
  2. گره /LDAPv3/ldap.google.com را در لیست کشویی انتخاب کنید.
  3. بررسی کنید که آیا می‌توانید کاربران و گروه‌های دامنه گوگل خود را ببینید یا خیر.

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

اکثر برنامه‌های مبتنی بر جاوا که قابلیت LDAP را ارائه می‌دهند، می‌توانند با نصب گواهی‌های کلاینت در keystore برنامه، برای احراز هویت با گواهی‌های کلاینت پیکربندی شوند. فایل‌های پیکربندی دقیق در بین برنامه‌ها متفاوت خواهد بود، اما روند کار عموماً مشابه است. برای راه‌اندازی، لازم است OpenSSL و Java Runtime Environment نصب شده باشند.

  1. گواهی و کلیدها را به قالب کلید جاوا تبدیل کنید. در طول این فرآیند از شما رمز عبور خواسته می‌شود. یک رمز عبور ایمن انتخاب کنید و در تمام مراحل از همان رمز عبور استفاده کنید. با فرض اینکه فایل کلید کلاینت شما ldap-client.key نام دارد:

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

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

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

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

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

  2. گواهی را به keystore وارد کنید:

    $  keytool -v -importkeystore -srckeystore java-application-ldap.pkcs12 -srcstoretype PKCS12 -destkeystore java-application-ldap.jks -deststoretype JKS
    
  3. ویژگی‌های جاوا ممکن است بسته به برنامه به روش‌های مختلفی پیکربندی شوند. اغلب، می‌توانید آنها را با گزینه -D در خط فرمان "java" که برای شروع آن استفاده می‌شود، تنظیم کنید. ویژگی‌های جاوا را برای برنامه خود تنظیم کنید:

    javax.net.ssl.keyStore = /<path-to>/java-application-ldap.jks
    javax.net.ssl.keyStorePassword = <password selected above>
    
  4. تنظیمات اتصال LDAP برنامه را با استفاده از اطلاعات موجود در دستورالعمل‌های پیکربندی اولیه پیکربندی کنید.

اختیاری: از stunnel به عنوان پروکسی استفاده کنید

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

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

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

  1. نصب stunnel . برای مثال، در اوبونتو:

    $  sudo apt-get install stunnel4
    
  2. یک فایل پیکربندی /etc/stunnel/google-ldap.conf با محتوای زیر ایجاد کنید (با فرض اینکه ldap-client.crt گواهی و ldap-client.key کلید باشد):

    [ldap]
    مشتری = بله
    پذیرفتن = ۱۲۷.۰.۰.۱:۱۶۳۶
    اتصال = ldap.google.com:636
    گواهی = ldap-client.crt
    کلید =
    ldap-client.key

  3. برای فعال کردن stunnel، فایل /etc/default/stunnel4 را ویرایش کرده و مقدار ENABLED=1 را برای آن تنظیم کنید.

  4. استونل را دوباره راه اندازی کنید.

    $  sudo /etc/init.d/stunnel4 restart
    
  5. برنامه خود را طوری پیکربندی کنید که به ldap://127.0.0.1:1636 اشاره کند.

    اگر خط پذیرش را در فایل پیکربندی بالا تغییر دهید، می‌توانید "1636" را با هر پورت استفاده نشده‌ای جایگزین کنید. شما باید از LDAP متن ساده بدون فعال بودن StartTLS/SSL/TLS بین کلاینت و stunnel استفاده کنید، زیرا آنها به صورت محلی ارتباط برقرار می‌کنند.

توجه: اگر تصمیم دارید stunnel را روی یک سرور جداگانه اجرا کنید، باید فایروال‌های خود را طوری پیکربندی کنید که فقط برنامه‌های ضروری بتوانند به سرور stunnel شما دسترسی داشته باشند. همچنین می‌توانید stunnel را طوری پیکربندی کنید که با TLS گوش دهد تا داده‌های بین برنامه شما و سرورهای stunnel رمزگذاری شوند. جزئیات هر دوی این پیکربندی‌ها به محیط شما بستگی دارد.

مراحل بعدی

پس از اتصال کلاینت LDAP به سرویس Secure LDAP، باید وضعیت سرویس را برای کلاینت LDAP به روشن (On) تغییر دهید.

برای مراحل بعدی، به بخش ۵ مراجعه کنید. کلاینت‌های LDAP را روی روشن (On) قرار دهید .

توجه: در صورت نیاز، اگر هنگام تلاش برای اتصال کلاینت LDAP خود به سرویس با خطا مواجه شدید، می‌توانید از ابزارهای ساده‌ای مانند ldapsearch ، ADSI یا ldp.exe برای عیب‌یابی استفاده کنید. برای دستورالعمل‌ها، به بخش تست و عیب‌یابی اتصال مراجعه کنید.