Устранение распространенных проблем с GCDS

Вот как устранить неполадки, которые могут возникнуть при настройке Google Cloud Directory Sync (GCDS).

Настройка и конфигурирование | Моделирование и синхронизация | Ошибки | Пользователи и группы | Контакты и календари | Правила

Попробуйте Log Analyzer

Этот инструмент может выявить большинство проблем в течение нескольких минут после отправки.

Получите подробную информацию о том, как включить ведение журнала на уровне трассировки .

Настройка и конфигурирование

Устранение неполадок конфигурации с помощью Configuration Manager

Если у вас возникли проблемы с корректной работой синхронизации, подтвердите правильность конфигурационной информации в Configuration Manager и обратите внимание на то, какие тесты не пройдены:

  1. В диспетчере конфигураций откройте XML-файл, который вы используете для настройки синхронизации.
  2. На странице «Подключения LDAP» нажмите кнопку «Проверить соединения» , чтобы подтвердить возможность подключения к вашему серверу LDAP.
  3. На странице уведомлений нажмите кнопку Тестовое уведомление , чтобы подтвердить возможность отправки тестового уведомления.
  4. На странице «Синхронизация» нажмите «Имитировать синхронизацию» , чтобы подтвердить заполнение всех обязательных полей и запуск синхронизации.

Как включить полное HTTP-журналирование для запросов API?

В редких случаях служба поддержки может попросить вас включить полное HTTP-журналирование в дополнение к включению журнала на уровне трассировки в GCDS. Полное HTTP-журналирование используется для просмотра точного запроса API, сделанного GCDS, и ответа API Google.

Важно : Полные HTTP-логи могут содержать конфиденциальную информацию. Перед отправкой журналов в службу поддержки удалите всю конфиденциальную информацию (например, текущие поля refresh_token или access_token).

Чтобы включить полное HTTP-регистрирование:

  1. Убедитесь, что GCDS не запущен ни с помощью sync-cmd, ни с помощью Configuration Manager.
  2. Перейдите в папку установки GCDS.
  3. Отредактируйте файл jre/lib/logging.properties .

  4. Добавьте следующие строки в конец файла:
    java.util.logging.FileHandler.pattern = %h/gcdshttp%u.%g.log
    java.util.logging.FileHandler.limit = 5000000
    java.util.logging.FileHandler.count = 100
    java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
    handlers = java.util.logging.FileHandler
    com.google.api.client.http.level = CONFIG
    
    com.google.gdata.client.http.HttpGDataRequest.level = ALL
    sun.net.www.protocol.http.HttpURLConnection.level = ALL
  5. Сохраните файл.
  6. Запустите еще одну синхронизацию GCDS (с ведением журнала в режиме Trace ).

    Файлы журнала с именем gcdshttp*.log создаются в домашнем каталоге (Linux) или в папке профиля (Microsoft Windows). Архивируйте эти файлы вместе, так как они могут быть довольно большими.

  7. Удалите строки, добавленные на шаге 4, чтобы предотвратить создание больших файлов журнала в будущем.
  8. Предоставьте следующие файлы для поддержки:
    • XML-файл
    • Журналы уровня трассировки и файлы gcdshttp*.log из последней синхронизации

СОВЕТ: Если вы хотите включить ведение журнала для нового класса, добавьте строку в виде class.fqdn.level = ALL , нет необходимости дублировать весь блок настройки.

Используйте отладочный прокси-сервер

Размер регистрируемых запросов и ответов ограничен 16 КБ. Если вы видите запись в журнале, которая обрезается из-за превышения этого ограничения, используйте отладочный прокси-сервер, например Fiddler.

Чтобы включить Fiddler, выполните следующие действия:

  1. Перейдите в папку, где установлен GCDS, например, C:\Program Files\Google Cloud Directory Sync .
  2. Добавьте следующие флаги в файлы .vmoptions (например, config-manager.vmoptions или sync-cmd.vmoptions), чтобы отключить проверки CRL:

    -Dcom.sun.security.enableCRLDP=false

    -Dcom.sun.net.ssl.checkRevocation=false

Перезапустите GCDS, чтобы изменения вступили в силу.

  1. Настройте Fiddler как прокси-сервер в настройках прокси-сервера вашего домена Google. В поле «Имя хоста» добавьте локальный IP-адрес 127.0.0.1 . Порт по умолчанию — 8888 , но вы можете убедиться в этом, открыв Fiddler, перейдя в «Параметры» > «Подключения» и проверив значение в поле «Fiddler Classiclistens on port».

Если вы используете GCDS в Linux, вы не сможете использовать хранилище доверенных сертификатов Windows, поэтому вам необходимо импортировать корневой сертификат Fiddler в хранилище доверенных сертификатов Java GCDS. Подробную информацию об этих шагах см. в статье «Устранение неполадок, связанных с сертификатами» .

Проблема с настройкой хоста ретрансляции SMTP

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

Ошибка подключения и сообщение о неизвестном хосте SMTP

  1. Откройте командную строку.
  2. Чтобы проверить, преобразуется ли настроенное имя хоста SMTP-сервера в IP-адрес, введите следующую команду:

    nslookup smtp-host-name .com

Ошибка подключения и не удалось подключиться к сообщению хоста SMTP

Проверьте, может ли сервер, на котором работает GCDS, подключиться к SMTP-хосту.

  1. Чтобы проверить соединение, в командной строке Windows или терминале введите следующую команду:

    telnet smtp.gmail.com 587

  2. Если хост не может подключиться, проверьте входящие правила брандмауэра SMTP-сервера и исходящие правила брандмауэра сервера GCDS.
  3. Убедитесь, что вы разрешили трафик на порту SMTP.

Не удалось преобразовать сокет в ошибку TLS в журналах

Отключите проверку списков отзыва сертификатов (CRL). Подробнее см. в статье «Как GCDS проверяет списки отзыва сертификатов» .

Как открыть XML-файл, сохраненный на другом компьютере или от имени другого пользователя?

Инструкции по открытию XML-файла, сохраненного на другом компьютере или от имени другого пользователя на том же компьютере, см. в разделе Работа с файлами конфигурации.

Как экспортировать данные из каталога LDAP?

Если данные LDAP в журналах трассировки GCDS не соответствуют ожидаемым данным на LDAP-сервере (например, пользователь не найден или атрибут имеет неверное значение), экспортируйте данные из каталога LDAP в формате LDIF. Служба поддержки может сравнить эти данные с данными LDAP из журналов GCDS.

При экспорте данных используйте инструмент запросов LDAP, такой как ldapsearch (Linux) или ldifde (Windows), и смоделируйте те же условия, в которых работает GCDS:

  • Используйте те же параметры подключения, которые настроены в GCDS.
  • Запустите инструмент запросов с того же компьютера, на котором запущен GCDS.
  • Используйте то же имя пользователя для аутентификации GCDS LDAP.

Пример

В журналах GCDS не отображается почтовый атрибут ваших пользователей, а настройки правил поиска GCDS следующие:

  • Базовый DN: ou=Ирландия,dc=altostrat,dc=com
  • Область действия: Поддерево
  • Фильтр поиска: (&(objectCategory=person)(objectClass=user))
  • Сервер: dc01.altostrat.com
  • Порт: 636
  • Протокол: LDAP+SSL
  • DN пользователя аутентификации: cn=GCDS,ou=Users,dc=altostrat,dc=com

Используйте эти команды:

  • Linux: ldapsearch -v -b "ou=Ireland,dc=altostrat,dc=com" -s sub -h dc01.altostrat.com -p 636 -x -Z -D "cn=GCDS,ou=Users,dc=altostrat,dc=com" "(&(objectCategory=person)(objectClass=user))" mail givenname uniqueidentifier sn > out.ldif (Возможно, вам потребуется изменить команду в зависимости от вашей системы.)
  • Windows: ldifde -f out.ldif -s dc01.altostrat.com -v -t 636 -d "ou=Ireland,dc=altostrat,dc=com" -r "(&(objectCategory=person)(objectClass=user))" -p SubTree -l mail,givenname,uniqueidentifier,sn -a "cn=GCDS,ou=Users,dc=altostrat,dc=com" PASSWORD (замените PASSWORD на пароль пользователя LDAP, установленный в GCDS.)

Если в выходных данных (out.ldif) отсутствует атрибут mail для затронутого пользователя, это означает, что возникла проблема с инфраструктурой LDAP. Это может быть связано с правами доступа пользователя к LDAP (например, OpenLDAP и Active Directory позволяют устанавливать разрешения на уровне атрибутов). Кроме того, атрибут может не быть реплицирован в глобальный каталог, если вы используете порт глобального каталога, например, 3268 или 3269.

Если выходные данные содержат атрибут почты затронутого пользователя, предоставьте в службу поддержки Google Workspace следующие сведения:

  • Файл out.ldif
  • Скриншот командной строки или окна терминала, где вы выполнили команду
    (Сначала обязательно удалите пароль.)
  • Журнал уровня трассировки GCDS

Симуляции и синхронизации

Нужен ли мне сервер уведомлений для запуска имитации синхронизации?

Для запуска имитации синхронизации вам понадобится сервер, способный отправлять почту. Если вы используете GCDS на почтовом сервере, вы можете использовать IP-адрес 127.0.0.1 для своего почтового сервера. В противном случае обратитесь к своему администратору почтовой службы за корректной информацией о почте.

Почему GCDS не запускает синхронизацию из командной строки?

Если вы используете командную строку для запуска синхронизации, а синхронизация не запускается, проверьте, использовали ли вы аргумент -o или --oneinstance в командной строке.

При использовании одного из этих аргументов GCDS создаст файл LOCK (.lock), связанный с XML-файлом конфигурации. Если на том же сервере будет обнаружен другой файл LOCK, GCDS не выполнит синхронизацию, чтобы предотвратить одновременный запуск нескольких экземпляров GCDS.

Если другие экземпляры GCDS не запущены, проверьте наличие другого файла LOCK на сервере. Удалите файл вручную и попробуйте запустить синхронизацию ещё раз.

Синхронизация не была завершена. Может ли это быть связано с API?

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

Вариант 1: использование страницы справки API

  1. Перейти к обзору справки по API Admin SDK .
  2. Слева нажмите Directory API , затем в разделе REST Resources перейдите к ресурсу REST, к которому вы хотите выполнить запрос.
  3. Справа выберите метод, который вы хотите попробовать, и нажмите Попробовать .

    Если на странице справки API не отображается кнопка «Попробовать» , перейдите к варианту 2: использование OAuth 2.0 Playground.

  4. Введите учетные данные администратора, которые вы использовали для авторизации GCDS.

    Подробную информацию см. в разделе Определение настроек домена Google .

  5. Проверьте информацию и убедитесь, что API отреагировал так, как ожидалось.

Вариант 2: использование площадки OAuth 2.0

  1. Откройте площадку OAuth 2.0 .
  2. Выберите вариант:
    • Выберите область из списка.
    • Скопируйте область действия из списка областей авторизации на странице справки по API. Затем вставьте область действия в поле «Введите собственные области действия» .
  3. Нажмите «Авторизовать API» .
  4. Введите учетные данные администратора, которые вы использовали для авторизации GCDS.

    Подробную информацию см. в разделе Определение настроек домена Google .

  5. Нажмите Обменять код авторизации на токены .

    Если процесс прошел успешно, вы будете перенаправлены к Шагу 3: Настройка запроса к API .

  6. Заполните запрошенную информацию.

    Совет : большую часть информации вы можете найти на веб-странице справочника методов API.

  7. Нажмите Отправить запрос .
  8. Проверьте информацию и убедитесь, что API отреагировал так, как ожидалось.

Ошибки

Что является причиной ошибок или конфликтов EntityDoesNotExist/EntityExists?

В XML-файле конфигурации установите параметр useDynamicMaxCacheLifetime . Этот параметр настраивает GCDS на кэширование данных максимум на 8 дней и более частую очистку кэша для небольших и средних наборов данных, чтобы снизить вероятность устаревания кэшированных данных или конфликта с новыми данными. Параметр useDynamicMaxCacheLifetime автоматически применяется в конфигурациях, созданных с помощью GCDS 3.2.1 и более поздних версий.

Примечание: Эти ошибки обычно возникают при внесении изменений непосредственно в ваш домен Google. При синхронизации с помощью GCDS следует избегать непосредственного внесения изменений в ваш домен Google. Вместо этого внесите изменения в данные пользователей, групп и других сущностей в вашем каталоге LDAP. Затем используйте GCDS для синхронизации этих изменений с вашим доменом Google.

Если вы видите ошибки, связанные с памятью, необходимо увеличить размер кучи для виртуальной машины Java. Для этого отредактируйте файлы sync-cmd.vmoptions и config-manager.vmoption в каталоге установки GCDS. Соответствующие записи выглядят следующим образом:

  • - X mx1000m (максимальный объем памяти, выделяемый для размера кучи)
  • - X ms64m (минимальный объем памяти, выделяемый для размера кучи)

Отредактируйте файлы sync-cmd.vmoptions и config-manager.vmoptions , чтобы изменения применились к обеим версиям sync-cmd и Configuration Manager.

Измените число - X mx , чтобы увеличить объём памяти. Буква «m» после числа указывает на то, что объём памяти измеряется в мегабайтах (МБ). Правильный объём памяти зависит от того, сколько памяти доступно на сервере GCDS и сколько нужно для синхронизации. Возможно, вам придётся изменить это число несколько раз, чтобы установить правильный размер. Подробнее об объёме свободной оперативной памяти, необходимом для работы GCDS, см. в разделе «Системные требования GCDS» .

Почему GCDS продолжает возвращать ошибку, если кэш отключен?

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

GCDS хранит кэш данных вашего сервиса Google (например, Google Workspace или Cloud Identity) не более 8 дней. GCDS может очищать кэш чаще в зависимости от размера кэшированных данных. Однако, если кэш не очищать, вы можете не видеть обновления до 8 дней.

Например, вы синхронизируете данные LDAP и создаёте новую группу для своего сервиса Google (например, Google Workspace или Cloud Identity). Затем вы создаёте правило исключения, чтобы исключить эту группу из последующих синхронизаций. Правило исключения настроено неверно и не сработает. Однако последующая синхронизация обращается к кэшированным данным, и группа остаётся в вашем сервисе Google. При повторной синхронизации с очисткой кэша эта неправильная настройка приводит к удалению группы из вашего сервиса Google.

Чтобы очистить кэш вручную:

  • Запустите синхронизацию из диспетчера конфигураций и выберите опцию очистки кэша при выполнении синхронизации.
  • Запустите синхронизацию из команды и используйте аргумент -f для принудительной очистки кэша.
  • Измените файл конфигурации XML, задав для параметра maxCacheLifetime значение 0.

Важно : Принудительная очистка кэша может значительно увеличить время синхронизации.

Пользователи и группы

Почему GCDS пытается создать уже существующих пользователей Google?

Если вы получили ошибку 409: Entity already exist (Сущность уже существует), GCDS пытается создать уже существующих пользователей Google. Если при последующих синхронизациях ошибка не появляется, вероятно, кэш GCDS устарел, и её можно проигнорировать.

Если проблема возникает при каждой синхронизации или каждые несколько дней, наиболее вероятные причины:

  • Правило исключения пользователей Google слишком широкое — правило соответствует некоторым пользователям Google, которые также существуют в каталоге LDAP.
  • Запрос слишком узкий — запрос не соответствует некоторым пользователям Google, которые также существуют в каталоге LDAP.

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

Чтобы решить эту проблему, скорректируйте правило исключения или поисковый запрос. Или, если вы хотите, чтобы GCDS полностью игнорировал пользователей в вашем каталоге LDAP, скорректируйте правило поиска пользователей LDAP или создайте правило исключения пользователей LDAP. Подробнее см. в статье «Исключение данных с помощью правил исключения и запросов» .

Почему некоторые пользователи не синхронизированы как участники группы?

Чтобы синхронизировать участников группы отдельно от результатов любых правил поиска пользователей, GCDS по умолчанию включает параметр INDEPENDENT_GROUP_SYNC. Если для синхронизации групп используются атрибуты ссылки на участника, GCDS пытается определить адрес электронной почты каждого пользователя в каталоге LDAP независимо от любых правил поиска пользователей.

Чтобы синхронизировать участников группы только на основе результатов правил поиска пользователей, удалите INDEPENDENT_GROUP_SYNC из XML-файла конфигурации. GCDS:

  • Использует результаты правил поиска пользователей для определения членства в группе.
  • Синхронизирует в качестве участников группы только тех пользователей, которые включены в вашу синхронизацию пользователей.
  • Выполняет правила поиска пользователей, даже если вы отключили синхронизацию учетных записей пользователей в общих настройках.

    (Однако результаты синхронизируются с Google не как пользователи, а как участники группы, если соответствующие пользователи также соответствуют критериям участников группы.)

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

Почему некоторые пользователи или группы создаются заново при каждой синхронизации?

Эта проблема возникает, когда атрибут LDAP, настроенный как атрибут имени группы, не содержит полного адреса электронной почты. Чтобы решить эту проблему, проверьте правила поиска групп и убедитесь, что GCDS использует полный адрес электронной почты для имён групп. Воспользуйтесь одним из следующих способов:

  • Установите для атрибута имени группы другой атрибут LDAP, который указывает полный адрес электронной почты для каждой группы, например, mail.
  • Включите опцию Заменить доменные имена в адресах электронной почты LDAP в настройках домена Google, чтобы атрибут имени группы соответствовал именам групп на стороне Google.
  • Добавьте доменное имя к имени группы, указав суффикс имени группы в правиле поиска группы.

Группы с более чем 1500 участниками в Active Directory синхронизируются неправильно.

Убедитесь, что в поле типа сервера в разделе «Конфигурация LDAP» выбрано MS Active Directory .

Как использовать функцию «Заменить доменные имена в адресах электронной почты LDAP»?

Этот параметр (отображается в XML-файле как SUPPRESS_DOMAIN) используется, если адреса электронной почты в каталоге LDAP находятся в домене, отличном от вашего домена Google. При его включении GCDS удаляет доменную часть из всех считываемых адресов электронной почты.

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

Например, если у вас отключена опция «Замена доменных имён в адресах электронной почты LDAP» и вы создаёте правило исключения «Точное совпадение», введите luka@example.com в качестве адреса электронной почты пользователя для сопоставления. Если у вас включена опция «Замена доменных имён в адресах электронной почты LDAP» , используйте luka . Попытка сопоставления luka@example.com не сработает, поскольку @example.com удаляется перед сравнением.

Можно ли вкладывать статические и динамические группы?

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

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

Почему я получил неожиданные результаты по своему LDAP-запросу?

Результаты запросов LDAP зависят от настроек Configuration Manager и LDAP-сервера. Воспользуйтесь этими советами по устранению неполадок, если правило поиска LDAP возвращает неожиданный результат. Убедитесь, что:

  • LDAP-запрос настроен правильно в Configuration Manager . При настройке правила поиска нажмите кнопку «Проверить LDAP-запрос» для проверки. Подробнее см. в статье «Использование правил поиска LDAP для синхронизации данных» .
  • Несколько запросов не противоречат друг другу — проверьте, не настроено ли правило поиска или исключения, которое изменяет результат запроса.
  • Авторизованный пользователь LDAP-сервера имеет достаточные права. Убедитесь, что администратор, используемый для аутентификации LDAP-сервера, может использовать командную строку на этом же сервере. Попробуйте выполнить запрос на LDAP-сервере и проверьте результаты.

Ошибка создания группы

Вы можете столкнуться с сообщением об ошибке Группа ... не может быть создана . Сообщение: Нет прав доступа к этому ресурсу/API в журналах GCDS.

Для устранения неполадок проверьте, что атрибут Active Directory (AD), содержащий домен для адресов электронной почты пользователей и групп, совпадает с доменом, который использует ваша учетная запись суперадминистратора.

Контакты и календари

Почему после синхронизации с GCDS я вижу дублирующиеся контакты в каталоге моего домена?

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

Существует 2 типа соответствующих объектов, которые можно синхронизировать с GCDS:

  • Профили пользователей — пользователи в вашем домене Google с дополнительными данными, такими как номер телефона или адрес. Вы можете синхронизировать профиль только для пользователя, существующего в вашем домене.
  • Общие контакты — контакты внешних сторон, с которыми пользователям вашего домена необходимо связаться.

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

Почему некоторые пользователи не видят свое основное рабочее место в Календаре Google?

В некоторых случаях пользователи не видят свое основное рабочее место в Календаре Google при планировании или организации встреч.

Если вы столкнулись с этой проблемой, убедитесь, что тип местоположения и атрибуты области установлены на «стол».

Правила

Почему правило поиска ничего не находит?

Если у вас возникли проблемы с результатами поиска, проверьте:

  • Область действия правила. Возможно, потребуется установить область действия «Поддерево» .
  • Правило поиска, которое вы используете, верное.
  • Используемые атрибуты существуют и видны.

Ваш LDAP-запрос. Убедитесь, что запрос на вашем LDAP-сервере использует то же имя администратора, которое настроено в GCDS.

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

Почему при создании правила исключения я не вижу кнопку «ОК»?

Возможно, вы используете шрифт, слишком большой для экрана. Диалоговое окно не работает с крупными и очень крупными шрифтами. Измените размер шрифта или отредактируйте XML-файл напрямую.

Известные проблемы Google Workspace


Google, Google Workspace и связанные с ними знаки и логотипы являются товарными знаками Google LLC. Все остальные названия компаний и продуктов являются товарными знаками компаний, с которыми они связаны.