Развертывание соединителя файловых систем Microsoft Windows

Вы можете настроить Google Cloud Search таким образом, чтобы он возвращал результаты из общих папок Microsoft Windows вашей организации в дополнение к содержимому Google Workspace. Для этого используется коннектор Cloud Search File Systems, который настраивается для доступа к указанным общим папкам Windows. Один экземпляр коннектора может поддерживать несколько общих папок Microsoft Windows.

Важные соображения

Перед развертыванием коннектора файловых систем ознакомьтесь со следующими рекомендациями.

Непрерывные автоматические обновления

По умолчанию коннектор постоянно отслеживает начальные пути (значения из fs.src в конфигурационном файле) при запуске. Когда файловая система сообщает об изменениях содержимого или контроля доступа, коннектор повторно сканирует файловую систему. Это повторное сканирование может быть ресурсоемким. Чтобы отключить мониторинг, установите параметр fs.monitorForUpdates в значение false . Это уменьшит потребление ресурсов, но приведет к задержке при отображении изменений коннектором. Подробнее

контроль доступа DFS

Система DFS применяет контроль доступа к своим каналам, и обычно каждый канал DFS имеет свой собственный список контроля доступа (ACL). DFS использует перечисление на основе доступа (ABE) для ограничения каналов, возвращаемых пользователю. Пользователи могут видеть только подмножество каналов DFS или только один канал, когда ABE изолирует домашние каталоги. При прохождении через систему DFS коннектор учитывает ACL канала DFS и ACL общего доступа целевого объекта; ACL общего доступа наследуется от ACL DFS.

Известные ограничения

В этом разделе перечислены известные ограничения коннектора файловой системы.

  • Файловая система : данный коннектор не поддерживает сопоставленные или локальные диски.
  • Распределенная файловая система : сопоставление сетевого диска с UNC-сетью DFS работает некорректно, и некоторые списки контроля доступа (ACL) могут считываться неправильно.
  • Данный коннектор поддерживает пространства имен и ссылки DFS, но не обычные папки в пространстве имен DFS.
  • Ссылки на файлы на cloudsearch.google.com или возвращаемые API запросов неактивны в большинстве браузеров.

Системные требования

Перед развертыванием коннектора файловых систем убедитесь, что хост-машина соответствует следующим требованиям:

Системные требования
Операционная система
  • Windows Server 2016
  • Windows Server 2012
  • Windows Server 2008 R2
Программное обеспечение
  • На компьютере, где запущен коннектор, установлена ​​Java JRE 1.8.
Протоколы файловых систем
  • Блок сообщений сервера (SMB) - SMB1
  • Блок сообщений сервера (SMB) - SMB2
  • Распределенная файловая система (DFS)

Не поддерживаются: локальные файловые системы Windows, NFS 2.0, NFS 3.0 или локальные файловые системы Linux.

Разверните коннектор

Выполните следующие шаги для развертывания коннектора файловых систем.

Предварительные требования

Перед развертыванием коннектора убедитесь, что в вашей среде присутствуют следующие компоненты:

Необходимые разрешения для учетной записи Microsoft Windows.

Учетная запись Windows, под которой запущен коннектор, должна иметь следующие права доступа:

  • Отобразить содержимое папки.
  • Ознакомьтесь с содержанием документа.
  • Прочитать атрибуты файла и папки.
  • Права доступа (ACL) для чтения файлов и папок.
  • Укажите основные характеристики.

Членство в одной из этих групп обычно предоставляет достаточные права доступа: администраторы, опытные пользователи, операторы печати или операторы серверов.

Шаг 1. Установите разъем.

Загрузите или клонируйте репозиторий коннектора с GitHub, а затем соберите пакет коннектора.

  1. Загрузите репозиторий коннектора с GitHub и выполните его сборку.

    Для использования Git на сервере Windows:

    > git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git
    > cd windows-filesystems-connector
    > git checkout tags/v1-0.0.3

    Для прямой загрузки:

    1. Перейдите в раздел windows-filesystems-connector .
    2. Нажмите «Клонировать или скачать» > «Скачать zip-архив» .
    3. Распакуйте архив и переместите его в указанную директорию.
  2. Создайте коннектор с помощью Apache Maven :

    > mvn package
    Чтобы пропустить тесты, используйте команду mvn package -DskipTests .`.

  3. Распакуйте ZIP-архив с коннектором в каталог установки:

    > 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

Шаг 2. Создайте файл конфигурации.

После установки коннектора создайте конфигурационный файл, содержащий параметры коннектора.

  1. В каталоге коннектора создайте файл с именем connector-config.properties .
  2. Добавляйте параметры в виде пар «ключ-значение». Например:

    # Required parameters
    api.serviceAccountPrivateKeyFile=/path/to/file.json
    api.sourceId=0123456789abcde
    api.identitySourceId=a1b1c1234567
    
    # File system access
    fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace
    
    # Optional parameters
    traverse.abortAfterExceptions=500
    fs.monitorForUpdates = true
    fs.preserveLastAccessTime = IF_ALLOWED
    

    Параметры, специфичные для файловой системы, см. в справочнике по параметрам конфигурации . Список общих параметров, используемых всеми коннекторами Cloud Search, см. в разделе «Параметры коннектора, предоставляемые Google» .

Шаг 3. Включите ведение журнала.

Создайте каталог для логов и файл конфигурации логирования.

  1. Создайте папку с именем logs в каталоге коннектора.
  2. Создайте файл с именем 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
    

Шаг 4. (Необязательно) Настройка типов носителей

Коннектор пытается определить типы носителей файлов, используя свой механизм по умолчанию, который в Windows основан на записях реестра. Если запись реестра для расширения файла отсутствует, коннектор может некорректно определить тип носителя. Если типы носителей определяются неправильно или если вы хотите переопределить тип по умолчанию для расширения, выполните следующие действия:

  1. Создайте файл с именем mime-type.properties в каталоге коннектора.
  2. Введите расширения и типы следующим образом: extension=media/type : properties xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet one=application/msonenote txt=text/plain pdf=application/pdf

Шаг 5. Запустите коннектор файловых систем.

Запустите коннектор с хост-машины:

> 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 в каталоге, где он запущен. Если ваш конфигурационный файл имеет другое имя или находится в другом каталоге, используйте параметр -Dconfig , чтобы указать его путь.

Справочник параметров конфигурации

В следующих таблицах перечислены и описаны параметры, используемые для настройки коннектора файловых систем.

доступ к источнику данных

Параметр Параметр
Идентификатор источника данных api.sourceId= 1234567890abcdef

Обязательно. Идентификатор источника Cloud Search.

Служебный аккаунт api.serviceAccountPrivateKeyFile= ./PrivateKey.json

Обязательно. Путь к файлу ключа учетной записи службы.

Идентификатор источника идентификации api.identitySourceId= x0987654321

Обязательно. Идентификатор источника идентификации Cloud Search, настроенный администратором Google Workspace для синхронизации идентификаторов Active Directory с использованием GCDS .

доступ к файловой системе

Используйте эти параметры для указания источников файловых систем, которые необходимо индексировать.

Параметр Параметр
Исходные файловые системы fs.src= path1 [, path2 , ...]

Обязательно. Укажите исходные файловые системы как один или несколько источников UNC, разделенных разделителем, заданным параметром fs.src.separator . Если вы используете символы, не входящие в Latin1, закодируйте их с помощью экранирующих символов Java Unicode.

Символ-разделитель пути

Параметр Параметр
Символ-разделитель пути fs.src.separator= separator-character

Разделитель по умолчанию — ";". Если ваши пути к исходным файлам содержат точки с запятой, вы можете задать другой разделитель, например, запятую (","), который не будет конфликтовать с символами в ваших путях и не зарезервирован самим синтаксисом файла свойств.

Если значение fs.src.separator является пустой строкой, то значение fs.src рассматривается как единый путь.

Поведение коннектора

Используйте эти параметры для настройки способа сканирования файловых систем коннектором.

Параметр Параметр
Домен Windows fs.supportedDomain= domain

Необходимо для обеспечения доступа пользователей, использующих GCDS, к документам через Cloud Search. Укажите в качестве единственного имени домена 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 , чтобы индексировать скрытые файлы. По умолчанию — false .

Разрешить индексирование списков проиндексированных папок и перечислений пространств имен DFS. fs.indexFolders= boolean

Если установлено значение true (по умолчанию), при обходе папки коннектор создает объект CONTAINER_ITEM. Если установлено значение false, коннектор вместо этого создает объект VIRTUAL_CONTAINER_ITEM.

Включить мониторинг изменений файловой системы fs.monitorForUpdates= boolean

Если установлено значение true (по умолчанию), коннектор автоматически повторно индексирует сайт при изменении контента или прав доступа. Установка значения false снижает потребление ресурсов, но замедляет отображение изменений в результатах поиска.

Установите максимальный размер кэша каталогов. fs.directoryCacheSize= number-of-entries

Максимальный размер кэша каталогов. Коннектор использует кэш для идентификации скрытых папок, чтобы избежать индексирования файлов и папок в скрытых папках.

По умолчанию установлено 50 000 записей, которые обычно занимают 10–15 мегабайт оперативной памяти.

сохранение временных меток

Используйте эти параметры, чтобы указать, как коннектор обрабатывает сохранение временных меток.

Параметр Параметр
Сохранение времени доступа fs.preserveLastAccessTime= value

При индексировании файлов и папок коннектор может изменять метку времени последнего доступа на время индексирования. Если время последнего доступа не сохраняется, системы резервного копирования и архивирования могут не переместить соответствующие файлы и папки во вторичное хранилище, поскольку коннектор уже обращался к ним.

По умолчанию fs.preserveLastAccessTime установлен в значение ALWAYS , что означает, что коннектор пытается сохранить время последнего доступа. Если у учетной записи пользователя, запускающей коннектор, отсутствуют права на запись атрибутов файлов, коннектор не сможет восстановить время последнего доступа. Если параметр установлен в значение ALWAYS и коннектор не может сохранить время последнего доступа, он отклоняет запросы на сканирование файловой системы, чтобы не изменять метки времени файлов.

Возможные значения:

  • ALWAYS : Коннектор пытается сохранить время последнего доступа при индексировании файлов и папок. Если ему не удается сохранить время последнего доступа, он отклоняет все последующие запросы на индексирование файловой системы, чтобы предотвратить изменение временных меток.
  • IF_ALLOWED : Коннектор пытается сохранить время последнего доступа при индексировании файлов и папок. Он продолжает индексирование, даже если некоторые метки времени могут быть не сохранены.
  • NEVER : Коннектор не пытается сохранить время последнего доступа.
Сканировать только файлы, к которым был осуществлен доступ после определенной даты. fs.lastAccessedDate= YYYY-MM-DD

Сканировать контент только в том случае, если время последнего доступа приходится на период после указанной даты (ГГГГ-ММ-ДД, формат ISO8601 ). По умолчанию эта функция disabled . Например, 2010-01-01 сканирует контент, доступ к которому был осуществлен после начала 2010 года. Не может использоваться с fs.lastAccessedDays .

Сканировать только те файлы, к которым обращались в течение последних нескольких дней. fs.lastAccessedDays= number-of-days

Сканировать контент только в том случае, если время последнего доступа находится в пределах указанного количества дней от настоящего момента. По умолчанию эта функция disabled . Полезно для удаления устаревшего контента; например, Google Play 365 сканирует контент, к которому был получен доступ в течение последнего года. Не может использоваться с fs.lastAccessedDate .

Сканировать только файлы, измененные после определенной даты. fs.lastModifiedDate= YYYY-MM-DD

Сканировать контент только в том случае, если время последнего изменения приходится на период после указанной даты (ГГГГ-ММ-ДД, формат ISO8601 ). По умолчанию эта функция disabled . Например, 2010-01-01 сканирует контент, измененный после начала 2010 года. Не может использоваться с fs.lastModifiedDays .

Сканировать только файлы, измененные в течение последних нескольких дней. fs.lastModifiedDays= number-of-days

Сканировать контент только в том случае, если время последнего изменения находится в пределах указанного количества дней от настоящего момента. По умолчанию эта функция disabled . Полезно для удаления устаревшего контента; например, 365 сканирует контент, измененный за последний год. Не может использоваться с fs.lastModifiedDate .

Пропустить списки контроля доступа к файлам

Вы можете настроить коннектор таким образом, чтобы он игнорировал списки контроля доступа (ACL) к общим ресурсам, если у него нет разрешений на их чтение. В этом случае контент будет возвращен со списком контроля доступа к общим ресурсам, разрешающим чтение.

Параметр Параметр
Пропустить общий доступ ACL fs.skipShareAccessControl= boolean

Установите значение true , чтобы игнорировать списки контроля доступа (ACL). По умолчанию — false .