Вот как устранить проблемы, которые могут возникнуть при настройке синхронизации каталогов Google Cloud (GCDS).
Настройка и конфигурация | Моделирование и синхронизация | Ошибки | Пользователи и группы | Контакты и календари | Правила
Попробуйте анализатор логов
Этот инструмент способен выявить большинство проблем в течение нескольких мгновений после отправки запроса.
- Отправьте свои журналы трассировки (в несжатом виде или в формате ZIP) в анализатор журналов Google Admin Toolbox .
- Для углубленного анализа логов отправляйте несжатые файлы в Log Analyzer 2 .
Получите подробную информацию о том, как включить трассировочное логирование .
Настройка и конфигурация
Устранение неполадок конфигурации с помощью диспетчера конфигураций
Если у вас возникли проблемы с корректной работой синхронизации, убедитесь в правильности конфигурационной информации в Configuration Manager и отметьте, какие тесты не пройдены:
- В диспетчере конфигураций откройте XML-файл, который вы используете для настройки синхронизации.
- На странице «Подключения LDAP» нажмите «Проверить подключения» , чтобы убедиться в возможности подключения к вашему LDAP-серверу.
- На странице «Уведомления» нажмите «Тестовое уведомление» , чтобы подтвердить возможность отправки тестового уведомления.
- На странице «Синхронизация» нажмите «Имитировать синхронизацию» , чтобы убедиться, что вы заполнили все обязательные поля и что синхронизация запущена.
Как включить полное логирование HTTP-запросов к API?
В редких случаях служба поддержки может попросить вас включить полное логирование HTTP-запросов в дополнение к включению логирования на уровне трассировки в GCDS. Полное логирование HTTP-запросов используется для просмотра точного запроса к API, выполненного GCDS, и ответа, предоставленного API Google.
Важно : полные HTTP-логи могут содержать крайне конфиденциальную информацию. Перед отправкой логов в службу поддержки удалите всю конфиденциальную информацию (например, текущие поля refresh_token или access_token).
Чтобы включить полное логирование HTTP-запросов:
- Убедитесь, что GCDS не запущен ни с помощью sync-cmd, ни с помощью Configuration Manager.
- Перейдите в папку установки GCDS.
Отредактируйте файл jre/lib/logging.properties .
- Добавьте следующие строки в конец файла:
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 - Сохраните файл.
- Выполните еще одну синхронизацию GCDS (с настройкой логирования на «Трассировка» ).
Файлы журналов с именем gcdshttp*.log создаются в домашнем каталоге (Linux) или папке профиля (Microsoft Windows). Архивируйте эти файлы вместе, поскольку они могут быть довольно большими.
- Удалите строки, добавленные на шаге 4, чтобы предотвратить создание больших файлов журналов в будущем.
- Для поддержки предоставьте следующие файлы:
- XML-файл
- Журналы трассировки и файлы gcdshttp*.log из последней синхронизации
СОВЕТ: Если вы хотите включить логирование для нового класса, добавьте строку вида class.fqdn.level = ALL , нет необходимости дублировать весь блок настройки.
Используйте отладочный прокси.
Размер записываемых в лог тел запросов и ответов ограничен 16 КБ. Если вы видите запись в логе, которая обрезается из-за превышения этого лимита, используйте отладочный инструмент, например Fiddler.
Чтобы включить Fiddler, выполните следующие действия:
- Перейдите в папку, где установлен GCDS, например,
C:\Program Files\Google Cloud Directory Sync. - Добавьте следующие флаги в файлы
.vmoptions(например, config-manager.vmoptions или sync-cmd.vmoptions), чтобы отключить проверку списка отзыва сертификатов (CRL):-Dcom.sun.security.enableCRLDP=false-Dcom.sun.net.ssl.checkRevocation=false
Перезапустите GCDS, чтобы изменения вступили в силу.
- Настройте Fiddler в качестве прокси в параметрах прокси вашего домена Google. В поле «Имя хоста» добавьте локальный IP-адрес
127.0.0.1. Порт по умолчанию —8888, но вы можете подтвердить это, открыв Fiddler, перейдя в «Параметры» > «Подключения» и проверив значение в поле «Fiddler Classiclistens on port».
Если вы используете GCDS в Linux, вы не можете использовать хранилище доверенных сертификатов Windows, поэтому вам необходимо импортировать корневой сертификат Fiddler в хранилище доверенных сертификатов Java в GCDS. Подробную информацию об этих шагах см. в разделе «Устранение неполадок, связанных с сертификатами» .
Проблема при настройке хоста SMTP-ретранслятора.
Если у вас возникли проблемы с настройкой хоста SMTP-ретранслятора для уведомлений, попробуйте выполнить следующие действия по устранению неполадок.
Сбой подключения и сообщение о неизвестном SMTP-хосте
- Откройте командную строку.
- Чтобы проверить, преобразуется ли настроенное имя хоста SMTP-сервера в IP-адрес, введите следующую команду:
nslookup smtp-host-name .com
Сообщение "Соединение не удалось, подключение к SMTP-хосту не удалось"
Проверьте, может ли сервер, на котором запущен GCDS, подключиться к SMTP-хосту.
- Для проверки соединения в командной строке Windows или терминале введите следующую команду:
telnet smtp.gmail.com 587
- Если хост не может подключиться, проверьте правила входящего трафика брандмауэра SMTP-сервера и правила исходящего трафика брандмауэра GCDS-сервера.
- Убедитесь, что вы разрешили трафик на 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 не отображается атрибут mail ваших пользователей, а настройки правил поиска 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) не содержит атрибут почты для затронутого пользователя, значит, проблема связана с инфраструктурой LDAP. Это может быть связано с правами доступа пользователя к LDAP (например, OpenLDAP и Active Directory позволяют устанавливать права доступа на уровне атрибутов). Или же атрибут может не реплицироваться в глобальный каталог, если вы используете порт глобального каталога, например, 3268 или 3269.
Если в выходных данных содержится атрибут mail для затронутого пользователя, предоставьте следующие сведения в службу поддержки Google Workspace:
- Файл out.ldif
- Скриншот окна командной строки или терминала, в котором вы выполнили команду.
(Перед этим обязательно удалите пароль.) - Журнал трассировки GCDS
Моделирование и синхронизация
Нужен ли мне сервер уведомлений для запуска имитации синхронизации?
Для запуска имитации синхронизации вам потребуется сервер, способный отправлять почту. Если вы используете GCDS на почтовом сервере, вы можете использовать IP-адрес 127.0.0.1. В противном случае обратитесь к администратору вашей почты за корректной информацией о почте.
Почему GCDS не запускает синхронизацию из командной строки?
Если вы используете командную строку для запуска синхронизации, и синхронизация не запускается, проверьте, использовали ли вы аргумент -o или --oneinstance в командной строке.
Если вы используете один из этих аргументов, GCDS создаст файл блокировки (.lock), связанный с XML-файлом конфигурации. И если на том же сервере будет обнаружен другой файл блокировки, GCDS не будет запускать синхронизацию, чтобы предотвратить одновременный запуск нескольких экземпляров GCDS.
Если на сервере не запущен другой экземпляр GCDS, проверьте наличие другого файла LOCK. Удалите файл вручную и попробуйте запустить синхронизацию снова.
Синхронизация не завершилась. Возможно, проблема связана с API?
Если синхронизация была неполной, например, не синхронизировалось полное членство группы, возможно, возникла проблема с API каталога. Чтобы проверить, связана ли проблема с API, а не с продуктом GCDS, вручную вызовите API каталога и просмотрите результаты. Для ручного вызова API выберите один из двух вариантов.
Вариант 1: Воспользуйтесь справочной страницей API.
- Перейдите к обзору справочника API Admin SDK .
- Слева нажмите «Directory API» , затем в разделе «REST-ресурсы » перейдите к REST-ресурсу, к которому хотите обратиться.
- Справа выберите метод, который хотите попробовать, и нажмите «Попробовать» .
Если на странице справки по API не отображается пункт «Попробовать» , перейдите к Варианту 2: Используйте площадку OAuth 2.0 Playground.
- Введите учетные данные администратора, которые вы использовали для авторизации GCDS.
Для получения более подробной информации перейдите в раздел «Настройка параметров вашего домена Google» .
- Проверьте предоставленную информацию, чтобы убедиться, что API ответил должным образом.
Вариант 2: Использование OAuth 2.0 Playground
- Откройте среду разработки OAuth 2.0 Playground .
- Выберите вариант:
- Выберите область действия из списка.
- Скопируйте область действия (scope) из списка областей авторизации на странице справочника API. Затем вставьте эту область действия в поле «Введите свои собственные области действия» .
- Нажмите «Авторизовать API» .
- Введите учетные данные администратора, которые вы использовали для авторизации GCDS.
Для получения более подробной информации перейдите в раздел «Настройка параметров вашего домена Google» .
- Нажмите «Код авторизации биржи для получения токенов» .
Если процесс пройдет успешно, вы будете перенаправлены на Шаг 3: Настройка запроса к API .
- Заполните запрашиваемую информацию.
Совет : Большую часть информации можно найти на веб-странице справочника методов API.
- Нажмите « Отправить запрос» .
- Проверьте предоставленную информацию, чтобы убедиться, что 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: "Сущность уже существует" , это означает, что 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"?
Этот параметр (обозначаемый как SUPPRESS_DOMAIN в XML-файле) используется, если адреса электронной почты в каталоге 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-сервере и проверьте результаты.
Группа не может быть создана (ошибка)
В журналах GCDS может появиться сообщение об ошибке: «Группа... не может быть создана . Сообщение: Нет разрешения на доступ к этому ресурсу/API» .
Для устранения неполадок убедитесь, что атрибут Active Directory (AD), содержащий домен для адресов электронной почты пользователей и групп, совпадает с доменом, используемым вашей учетной записью суперадминистратора.
Контакты и календари
Почему после синхронизации с GCDS в каталоге моего домена появляются повторяющиеся контакты?
Эта проблема обычно возникает при синхронизации общих контактов, если правила поиска построены неправильно.
Существует 2 типа объектов, которые можно синхронизировать с GCDS:
- Профили пользователей — это пользователи в вашем домене Google с дополнительными данными, такими как номер телефона или адрес. Вы можете синхронизировать профиль только для пользователя, существующего в вашем домене.
- Общие контакты — контакты внешних сторон, с которыми пользователям в вашем домене необходимо связаться.
Для решения этой проблемы исправьте правила поиска общих контактов, исключив из них пользователей из вашего собственного домена. При следующей синхронизации GCDS попытается удалить избыточные контакты. Возможно, вам потребуется скорректировать лимит удаления общих контактов для первой синхронизации.
Почему некоторые пользователи не видят свое основное рабочее место в Google Календаре?
В некоторых случаях пользователи не видят свое основное рабочее место в Google Календаре при планировании или организации встреч.
Если вы столкнулись с этой проблемой, убедитесь, что тип местоположения и атрибуты области установлены на "стол".
Правила
Почему правило поиска ничего не находит?
Если у вас возникли проблемы с результатами поиска, проверьте:
- Область действия правила. Возможно, вам потребуется установить область действия на «Поддерево» .
- Используемое вами правило поиска верное.
- Используемые атрибуты существуют и видны.
Ваш LDAP-запрос. Убедитесь, что запрос на вашем LDAP-сервере использует то же имя пользователя администратора, которое настроено в GCDS.
Для получения более подробной информации перейдите по ссылке «Использование правил поиска LDAP для синхронизации данных» .
Почему при создании правила исключения я не вижу кнопку «ОК»?
Возможно, вы используете слишком крупный шрифт для экрана. Диалоговое окно не работает с крупными или очень крупными шрифтами. Измените размер шрифта или отредактируйте XML-файл напрямую.
Связанная тема
Известные проблемы Google Workspace
Google, Google Workspace, а также связанные с ними знаки и логотипы являются товарными знаками Google LLC. Все остальные названия компаний и продуктов являются товарными знаками компаний, с которыми они связаны.