رابط Microsoft Windows File Systems را مستقر کنید

شما می‌توانید جستجوی ابری گوگل را طوری تنظیم کنید که علاوه بر محتوای Google Workspace شما، نتایجی از اشتراک‌گذاری‌های مایکروسافت ویندوز سازمانتان را نیز برگرداند. شما از رابط سیستم‌های فایل جستجوی ابری گوگل استفاده می‌کنید و آن را برای دسترسی به اشتراک‌گذاری‌های مشخص‌شده ویندوز پیکربندی می‌کنید. یک نمونه رابط می‌تواند از چندین اشتراک‌گذاری مایکروسافت ویندوز پشتیبانی کند.

ملاحظات مهم

به‌روزرسانی‌های خودکار مداوم

به طور پیش‌فرض، کانکتور هنگام راه‌اندازی، مسیرهای شروع (مقادیر fs.src در فایل پیکربندی کانکتور) را به طور مداوم رصد می‌کند. هنگامی که سیستم فایل تغییرات در محتوا یا کنترل‌های دسترسی را گزارش می‌دهد، کانکتور برای خزش مجدد سیستم فایل فعال می‌شود. این خزش مجدد می‌تواند منابع زیادی را مصرف کند. برای خاموش کردن نظارت بر سیستم فایل، fs.monitorForUpdates را روی false تنظیم کنید. شما استفاده از منابع کانکتور را به میزان قابل توجهی کاهش می‌دهید، اما زمانی که کانکتور تغییرات را منعکس می‌کند، تأخیر ایجاد می‌شود. اطلاعات بیشتر

کنترل دسترسی DFS

سیستم DFS کنترل دسترسی را روی لینک‌های خود اعمال می‌کند و معمولاً هر لینک DFS دارای ACL مخصوص به خود است. یکی از مکانیسم‌هایی که DFS از آن استفاده می‌کند، شمارش مبتنی بر دسترسی (ABE) است که می‌تواند لینک‌های DFS بازگشتی به یک کاربر را محدود کند. کاربران ممکن است فقط زیرمجموعه‌ای از لینک‌های DFS یا حتی فقط یک لینک را در زمانی که ABE دایرکتوری‌های خانگی میزبان را ایزوله می‌کند، دریافت کنند. هنگامی که کانکتور از یک سیستم DFS عبور می‌کند، کانکتور به ACL لینک DFS و Share ACL هدف احترام می‌گذارد و Share ACL از DFS ACL به ارث می‌رسد.

محدودیت‌های شناخته‌شده

  • سیستم فایل : رابط سیستم فایل از درایوهای نگاشت شده و درایوهای محلی پشتیبانی نمی‌کند.
  • سیستم فایل توزیع‌شده : یک درایو نگاشت‌شده به یک سیستم فایل توزیع‌شده UNC به درستی کار نمی‌کند. برخی از ACLها به درستی خوانده نمی‌شوند.
  • رابط سیستم فایل از فضاهای نام و پیوندهای سیستم فایل توزیع‌شده (DFS) پشتیبانی می‌کند. با این حال، این رابط فقط از پیوندهای DFS در یک فضای نام DFS پشتیبانی می‌کند، نه پوشه‌های معمولی در فضای نام DFS.
  • لینک‌های فایل برگردانده شده در cloudsearch.google.com قابل کلیک نیستند. لینک‌های فایل برگردانده شده توسط Query API نیز در اکثر مرورگرها قابل کلیک نیستند.

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

الزامات سیستم
سیستم عامل
  • ویندوز سرور ۲۰۱۶
  • ویندوز سرور ۲۰۱۲
  • ویندوز سرور 2008 R2
نرم‌افزار
  • جاوا JRE 1.8 نصب شده روی رایانه‌ای که رابط سیستم‌های فایل جستجوی ابری گوگل را اجرا خواهد کرد
پروتکل‌های سیستم فایل
  • بلوک پیام سرور (SMB) - SMB1
  • بلوک پیام سرور (SMB) - SMB2
  • سیستم فایل توزیع‌شده (DFS)

پشتیبانی نمی‌شوند: سیستم فایل محلی ویندوز، سیستم فایل شبکه Sun (NFS) 2.0، سیستم فایل شبکه Sun (NFS) 3.0، یا سیستم فایل محلی لینوکس.

کانکتور را مستقر کنید

پیش‌نیازها

قبل از اینکه رابط Cloud Search File Systems را مستقر کنید، مطمئن شوید که محیط شما تمام اجزای پیش‌نیاز زیر را دارد:

  • اطلاعات Google Workspace مورد نیاز برای ایجاد ارتباط بین جستجوی ابری گوگل و منبع داده:

    • کلید خصوصی Google Workspace (که شامل شناسه حساب سرویس است). برای اطلاعات بیشتر در مورد دریافت کلید خصوصی، به پیکربندی دسترسی به Google Cloud Search REST API مراجعه کنید.
    • شناسه منبع داده Google Workspace. برای کسب اطلاعات در مورد دریافت شناسه منبع داده، به افزودن منبع داده برای جستجو بروید.
    • یک شناسه منبع هویت. برای اطلاعات بیشتر در مورد نحوه دریافت شناسه منبع هویت، به ایجاد یک منبع هویت مراجعه کنید. اگر دایرکتوری Google Workspace خود را با Active Directory همگام‌سازی می‌کنید، منبع هویت را با GCDS تنظیم کنید.

    معمولاً مدیر Google Workspace سازمان شما می‌تواند این اعتبارنامه‌ها را برای شما دریافت کند.

  • همانطور که در بخش بعدی توضیح داده شده است، مطمئن شوید که حساب کاربری ویندوز مجوزهای کافی را دارد.

مجوزهای لازم برای حساب کاربری مایکروسافت ویندوز

حساب کاربری مایکروسافت ویندوز که رابط تحت آن اجرا می‌شود، باید مجوزهای کافی برای انجام اقدامات زیر را داشته باشد:

  • فهرست کردن محتوای پوشه‌ها
  • محتوای اسناد را بخوانید
  • خواندن ویژگی‌های فایل‌ها و پوشه‌ها
  • مجوزهای خواندن (ACL) برای فایل‌ها و پوشه‌ها
  • نوشتن مجوزهای ویژگی‌های اساسی

عضویت در یکی از گروه‌های زیر، مجوزهای کافی مورد نیاز رابط را به یک حساب ویندوز اعطا می‌کند:

  • مدیران
  • کاربران قدرتمند
  • عملگرهای چاپ
  • اپراتورهای سرور

مرحله ۱. رابط سیستم‌های فایل جستجوی گوگل کلود را نصب کنید

  1. مخزن کانکتور را از گیت‌هاب دریافت کنید و آن را بسازید.

    برای استفاده از git در ویندوز سرور:

    1. مخزن را کلون کنید:

      > git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git
      > cd windows-filesystems-connector
    2. نسخه مورد نظر کانکتور را بررسی کنید:

      > git checkout tags/v1-0.0.3

    برای دانلود مستقیم از گیت‌هاب:

    1. به آدرس https://github.com/google-cloudsearch/windows-filesystems-connector بروید.
    2. روی Clone کلیک کنید یا را دانلود کنید. فایل زیپ را دانلود کنید .
    3. بسته را از حالت فشرده خارج کنید.
    4. به دایرکتوری جدید منتقل شوید:
      > cd windows-filesystems-connector
  2. کانکتور را بسازید. در صورت لزوم، Apache Maven را نصب کنید.

    > mvn package

    برای رد کردن تست‌ها هنگام ساخت کانکتور، به جای mvn package mvn package -DskipTests را اجرا کنید.

  3. فایل زیپ کانکتور را در دایرکتوری نصب محلی خود کپی کنید:

    > cp target/google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip installation-dir
    > cd installation-dir
    > unzip google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip
    > cd google-cloudsearch-windows-filesystems-connector-v1-0.0.3

مرحله ۲. ایجاد فایل پیکربندی کانکتور

  1. در همان دایرکتوری که کانکتور نصب شده است، یک فایل ایجاد کنید و نام آن را connector-config.properties بگذارید.

  2. پارامترها را به صورت جفت‌های کلید/مقدار به محتویات فایل اضافه کنید، مانند مثال زیر:

    ### File system connector configuration ###
    
    # Required parameters for Cloud Search data source and identity source access
    api.serviceAccountPrivateKeyFile=/path/to/file.json
    api.sourceId=0123456789abcde
    api.identitySourceId=a1b1c1234567
    
    # Required parameters for file system access
    fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace;\\\\dfshost\\dfsnamespace\\link
    
    # Optional parameters for file system monitoring
    traverse.abortAfterExceptions=500
    fs.monitorForUpdates = true
    fs.preserveLastAccessTime = IF_ALLOWED
    

    برای توضیحات دقیق هر پارامتر، به مرجع پارامترهای پیکربندی مراجعه کنید.

  3. (اختیاری) در صورت نیاز، سایر پارامترهای کانکتور را پیکربندی کنید. برای جزئیات بیشتر، به پارامترهای کانکتور ارائه شده توسط گوگل مراجعه کنید.

مرحله ۳. فعال کردن ثبت وقایع

  1. پوشه‌ای به نام logs در دایرکتوری که فایل باینری کانکتور در آن قرار دارد، ایجاد کنید.
  2. یک فایل ASCII یا UTF-8 با نام logging.properties در دایرکتوری که فایل باینری کانکتور در آن قرار دارد ایجاد کنید و محتوای زیر را به آن اضافه کنید:

    handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
    # Default log level
    .level = WARNING
    com.google.enterprise.cloudsearch.level = INFO
    com.google.enterprise.cloudsearch.fs.level = INFO
    
    # uncomment line below to increase logging level to enable API trace
    #com.google.api.client.http.level = FINE
    java.util.logging.ConsoleHandler.level = INFO
    java.util.logging.FileHandler.pattern=logs/connector-fs.%g.log
    java.util.logging.FileHandler.limit=10485760
    java.util.logging.FileHandler.count=10
    java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
    

مرحله ۴. (اختیاری) پیکربندی انواع رسانه

به طور پیش‌فرض، رابط سعی می‌کند نوع رسانه را برای هر فایل با تشخیص نوع رسانه ارائه شده توسط JDK تشخیص دهد. در مایکروسافت ویندوز، JDK برای تعیین نوع رسانه برای فایل‌ها به رجیستری ویندوز متکی است. یک ورودی رجیستری از دست رفته می‌تواند منجر به نوع رسانه تهی برای فایل‌های خاص شود.

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

  1. در دایرکتوری کانکتور، یک فایل رمزگذاری شده با زبان لاتین-۱ به نام mime-type.properties ایجاد کنید.
  2. پسوند فایل‌ها و نوع رسانه‌ی مربوط به آنها را مانند مثال‌های زیر وارد کنید:

    xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    one=application/msonenote
    txt=text/plain
    pdf=application/pdf
    

مرحله ۵: رابط File Systems را اجرا کنید

پس از نصب و پیکربندی رابط File Systems، برای اجرای آن در دستگاه میزبان، دستوری مانند مثال زیر را اجرا کنید:

> java -jar google-cloudsearch-windows-filesystems-connector-v1-0.0.3.jar -Djava.util.logging.config.file=logging.properties[ -Dconfig=my.config]

اگر مسیر فایل پیکربندی با مسیر پیش‌فرض متفاوت است (در همان دایرکتوری فایل باینری با نام connector-config.properties )، آن را مشخص کنید.

مرجع پارامترهای پیکربندی

دسترسی به منبع داده

تنظیم پارامتر
شناسه منبع داده api.sourceId= 1234567890abcdef

الزامی. شناسه منبع جستجوی ابری گوگل که توسط مدیر Google Workspace تنظیم شده است.

مسیر فایل کلید خصوصی حساب کاربری سرویس api.serviceAccountPrivateKeyFile= ./PrivateKey.json

الزامی. فایل کلید حساب سرویس جستجوی ابری گوگل برای دسترسی به رابط سیستم‌های فایل جستجوی ابری گوگل.

شناسه منبع هویت api.identitySourceId= x0987654321

الزامی. شناسه منبع هویت جستجوی ابری که توسط مدیر Google Workspace برای همگام‌سازی هویت‌های دایرکتوری فعال با استفاده از GCDS تنظیم شده است.

دسترسی به سیستم فایل

تنظیم پارامتر
سیستم‌های فایل منبع fs.src= path1 [, path2 , ...]

الزامی. سیستم‌های فایل منبع را به عنوان یک یا چند منبع UNC مشخص کنید که توسط جداکننده پیکربندی شده توسط fs.src.separator از هم جدا شده‌اند. اگر از کاراکترهایی استفاده می‌کنید که در Latin1 نیستند، آنها را با escapeهای یونیکد جاوا کدگذاری کنید.

کاراکتر جداکننده مسیر

تنظیم پارامتر
کاراکتر جداکننده مسیر fs.src.separator= separator-character

جداکننده پیش‌فرض ";" است. اگر مسیرهای منبع شما حاوی نقطه ویرگول باشند، می‌توانید جداکننده متفاوتی مانند کاما (",") تنظیم کنید که با کاراکترهای مسیرهای شما تداخل نداشته باشد و توسط خود سینتکس فایل ویژگی رزرو نشده باشد.

اگر مقدار fs.src.separator یک رشته خالی باشد، آنگاه مقدار fs.src به عنوان یک مسیر واحد در نظر گرفته می‌شود.

رفتار کانکتور

تنظیم پارامتر
دامنه ویندوز fs.supportedDomain= domain

برای دسترسی کاربرانی که GCDS را تنظیم کرده‌اند به اسناد از طریق جستجوی ابری لازم است. به عنوان یک نام دامنه NetBIOS واحد از Active Directory مشخص کنید.

حساب‌ها را در ACLS بگنجانید fs.supportedAccounts= account-1[, account-2,...]

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

مقدار پیش‌فرض عبارت است از BUILTIN\\Administrators,Everyone,BUILTIN\\Users, BUILTIN\\Guest,NT AUTHORITY\\INTERACTIVE, NT AUTHORITY\\Authenticated Users

حساب‌های داخلی را از ACLها مستثنی کنید fs.builtinGroupPrefix= prefix

پیشوند حساب‌های داخلی را مشخص کنید. حسابی که با این پیشوند شروع شود، یک حساب داخلی محسوب می‌شود و از ACLها حذف خواهد شد.

مقدار پیش‌فرض BUILTIN\\ است.

اجازه دهید فایل‌ها و پوشه‌های مخفی ایندکس شوند fs.crawlHiddenFiles= boolean

برای اینکه به رابط اجازه داده شود فایل‌ها و پوشه‌های مخفی را پیمایش کند، روی true تنظیم کنید (در سیستم‌های فایل ویندوز، یک فایل یا پوشه در صورتی مخفی در نظر گرفته می‌شود که ویژگی hidden در DOS تنظیم شده باشد.) مقدار پیش‌فرض false است.

امکان ایندکس کردن فهرست پوشه‌های پیمایش‌شده و شمارش‌های فضای نام DFS fs.indexFolders= boolean

وقتی روی true (پیش‌فرض) تنظیم شده باشد، وقتی کانکتور یک پوشه را پیمایش می‌کند، یک شیء CONTAINER_ITEM ایجاد می‌کند. وقتی روی false تنظیم شده باشد، کانکتور به جای آن یک شیء VIRTUAL_CONTAINER_ITEM ایجاد می‌کند.

فعال کردن نظارت بر تغییر سیستم فایل fs.monitorForUpdates= boolean

وقتی روی true (پیش‌فرض) تنظیم شده باشد، تغییرات در محتوا یا کنترل‌های دسترسی، باعث می‌شود که کانکتور دوباره خزش کند. وقتی مانیتورینگ را خاموش می‌کنید (روی false تنظیم شده باشد)، استفاده از منابع کانکتور را به میزان قابل توجهی کاهش می‌دهید، اما زمانی که کانکتور تغییرات را منعکس می‌کند، تأخیر ایجاد می‌شود.

حداکثر اندازه حافظه پنهان دایرکتوری‌ها را تنظیم کنید fs.directoryCacheSize= number-of-entries

حداکثر اندازه حافظه پنهان دایرکتوری. رابط از حافظه پنهان برای شناسایی پوشه‌های مخفی استفاده می‌کند تا از فهرست‌بندی فایل‌ها و پوشه‌ها در پوشه‌های مخفی جلوگیری کند.

مقدار پیش‌فرض ۵۰،۰۰۰ ورودی است که معمولاً ۱۰ تا ۱۵ مگابایت از رم را اشغال می‌کنند.

حفظ مهر زمانی و کنترل خزش

تنظیم پارامتر
حفظ مهر زمانی آخرین دسترسی fs.preserveLastAccessTime= value

وقتی رابط فایل‌ها و پوشه‌ها را بررسی می‌کند، می‌تواند آخرین زمان دسترسی به فایل‌ها و پوشه‌ها را به زمان بررسی تغییر دهد. وقتی آخرین زمان‌های دسترسی ذخیره نشوند، سیستم‌های پشتیبان‌گیری و بایگانی ممکن است به دلیل بازدید رابط، فایل‌ها و پوشه‌های مناسب را به حافظه ثانویه منتقل نکنند.

به طور پیش‌فرض، کانکتور تلاش می‌کند آخرین زمان دسترسی را حفظ کند ( fs.preserveLastAccessTime روی ALWAYS تنظیم شده باشد). کانکتور ممکن است نتواند آخرین زمان دسترسی به فایل را بازیابی کند، زمانی که کاربر پیمایش، امتیازات کافی برای نوشتن ویژگی‌های فایل را نداشته باشد. وقتی روی ALWAYS تنظیم شده باشد، کانکتور درخواست‌های خزش برای سیستم فایل را رد می‌کند تا آخرین مهرهای زمانی دسترسی فایل‌ها را تغییر ندهد.

مقادیر ممکن:

  • ALWAYS : کانکتور تلاش می‌کند تا آخرین زمان دسترسی را هنگام خزش فایل‌ها و پوشه‌ها حفظ کند. اولین باری که کانکتور نتواند آخرین زمان دسترسی را حفظ کند، تمام درخواست‌های خزش بعدی برای سیستم فایل را رد می‌کند تا از تغییر آخرین مهرهای زمانی دسترسی جلوگیری کند.
  • IF_ALLOWED : این کانکتور تلاش می‌کند تا آخرین زمان دسترسی را هنگام پیمایش فایل‌ها و پوشه‌ها حفظ کند. این کانکتور حتی زمانی که ممکن است برخی از مهرهای زمانی حفظ نشده باشند، به پیمایش ادامه می‌دهد.
  • NEVER : کانکتور هنگام پیمایش فایل‌ها و پوشه‌ها، سعی در حفظ آخرین زمان دسترسی نمی‌کند.
فقط فایل‌هایی را که پس از یک تاریخ مشخص به آنها دسترسی پیدا شده است، خزش کنید fs.lastAccessedDate= YYYY-MM-DD

خزش محتوا فقط در صورتی که آخرین زمان دسترسی بعد از تاریخ مشخص شده باشد. مقدار پیش‌فرض disabled است.

تاریخ را با فرمت تاریخ ISO8601 مشخص کنید: YYYY-MM-DD. برای مثال، اگر مقدار 2010-01-01 باشد، رابط فقط محتوایی را که پس از آغاز سال 2010 به آن دسترسی پیدا شده است، پیمایش می‌کند.

اگر fs.lastAccessedDate مشخص کنید، نمی‌توانید برای fs.lastAccessedDays نیز مقداری تعیین کنید.

فقط فایل‌هایی را که در چند روز گذشته به آنها دسترسی پیدا شده است، خزش کنید fs.lastAccessedDays= number-of-days

خزش محتوا فقط در صورتی انجام می‌شود که آخرین زمان دسترسی در محدوده تعداد روزهای قبل از زمان حال باشد. مقدار پیش‌فرض disabled است.

از این ویژگی برای منقضی کردن محتوای ایندکس شده قبلی که مدتی است مورد دسترسی قرار نگرفته است استفاده کنید. برای مثال، روی ۳۶۵ تنظیم کنید تا فقط در صورتی که محتوا در سال گذشته مورد دسترسی قرار گرفته باشد، آن را کراول کند.

اگر fs.lastAccessedDays مشخص کنید، نمی‌توانید برای fs.lastAccessedDate نیز مقداری تعیین کنید.

فقط فایل‌هایی را که پس از یک تاریخ مشخص تغییر یافته‌اند، خزش کنید fs.lastModifiedDate= YYYY-MM-DD

خزش محتوا فقط در صورتی که آخرین زمان اصلاح بعد از تاریخ مشخص شده باشد. مقدار پیش‌فرض disabled است.

تاریخ را با فرمت تاریخ ISO8601 مشخص کنید: YYYY-MM-DD. برای مثال، اگر مقدار 2010-01-01 باشد، رابط فقط محتوایی را که پس از آغاز سال 2010 تغییر یافته است، پیمایش می‌کند.

اگر fs.lastModifiedDate مشخص کنید، نمی‌توانید برای fs.lastModifiedDays نیز مقداری تعیین کنید.

فقط فایل‌هایی را که در چند روز گذشته تغییر یافته‌اند، خزش کنید fs.lastModifiedDays= number-of-days

فقط در صورتی که آخرین زمان اصلاح در محدوده تعداد روزهای قبل از زمان حال باشد، محتوا را خزش کنید. مقدار پیش‌فرض disabled است.

از این ویژگی برای منقضی کردن محتوای ایندکس شده قبلی که مدتی است تغییر نکرده است استفاده کنید. به عنوان مثال، روی ۳۶۵ تنظیم کنید تا فقط محتوایی که در سال گذشته تغییر کرده است، خزش شود.

اگر fs.lastModifiedDays مشخص کنید، نمی‌توانید برای fs.lastModifiedDate نیز مقداری تعیین کنید.

نادیده گرفتن کنترل دسترسی اشتراک فایل

به طور پیش‌فرض، کانکتور هنگام ارسال لیست‌های کنترل دسترسی (ACL) به API نمایه‌سازی، از جمله ACLهای موجود در فایل اشتراکی، یکپارچگی کنترل دسترسی را حفظ می‌کند. با این حال، در برخی پیکربندی‌ها، کانکتور ممکن است مجوزهای کافی برای خواندن ACL اشتراکی را نداشته باشد. در این موارد، کانکتور هیچ فایلی را که در آن فایل اشتراکی نگهداری می‌شود، در نتایج جستجو برنمی‌گرداند.

شما می‌توانید کانکتور را طوری تنظیم کنید که ACL اشتراک‌گذاری را نادیده بگیرد تا محتوا همیشه در نتایج جستجو نمایش داده شود. در این حالت، API نمایه‌سازی، به جای ACL اشتراک‌گذاری واقعی، یک ACL اشتراک‌گذاری کاملاً مجاز دریافت می‌کند.

تنظیم پارامتر
نادیده گرفتن کنترل دسترسی اشتراک فایل fs.skipShareAccessControl= boolean

برای اعمال ACL های اشتراکی، روی false (پیش‌فرض) تنظیم کنید. برای نادیده گرفتن ACL های اشتراکی، روی true تنظیم کنید.