Excel к SQL Server партнёра без доверия домена
Подключению Excel нужны принятая учётная запись, проверенный TLS и один сетевой путь. Только первое связано с доверием домена; остальное живёт в другом месте.
Книге Excel, открывающей таблицу на SQL Server другой организации, нужны три вещи, которые обычно обсуждают как одну: удостоверение, которое сервер принимает, транспорт, который клиент проверяет, и сетевой путь, который разрешают обе стороны. Доверие домена — один из способов удовлетворить первое, и самый широкий. TLS удовлетворяет второе и ничего не говорит о первом. Путь удовлетворяет третье и сам по себе ничего не защищает.
Разделение этих трёх превращает таблицу в небольшой проверяемый запрос вместо административных отношений.
Три решения, которые скрывает вопрос
Удостоверение — это то, кем база данных вас считает: учётная запись Windows из доверенного домена, вход SQL со своим паролем или удостоверение на основе сертификата. Транспорт — это шифруется ли сеанс и проверяет ли клиент цепочку сертификатов сервера. Путь — это то, как пакеты достигают прослушивателя, которым может быть VPN, частное соединение или публичная конечная точка с правилами брандмауэра. Каждое живёт в своём месте, и каждое может отказать само по себе.
Доверие леса отвечает на первое широко и является отношениями между организациями, а не настройкой одной книги. Оно также ничего не шифрует, что удивляет тех, кто полагал, будто доверие и есть средство безопасности.
Удостоверение без доверия леса
Намеренно подготовленная учётная запись в целевой среде может обслужить более узкое требование без всякого доверия, при условии что рабочий процесс клиента может её использовать. Аутентификация SQL — другой распространённый ответ, когда политика позволяет: вход несёт собственный жизненный цикл учётных данных, не присоединяется к доменам и не создаёт встроенную проверку подлинности Windows. Удостоверение на основе сертификата или токена — третий вариант на новых платформах. Что бы вы ни выбрали, давайте только те права в базе, которые книге действительно нужны.
Предпочитайте выделенную учётную запись чьему-то личному входу. Общие учётные данные в таблице — это проблема поддержки, которая ждёт своего часа, а именованная запись делает возможным отзыв, когда проект заканчивается.
Шифровать да, но доверять сертификату?
С ODBC Driver 18 Encrypt=Yes;TrustServerCertificate=No требует шифрованный сеанс, сертификат которого действительно проверяется. Строка подключения тогда должна указывать сервер, который покрывает сертификат, а клиент должен доверять его цепочке. Driver 18 также по умолчанию шифрует, в отличие от прежних версий, поэтому старая строка подключения теперь может согласовать TLS, не сообщая об этом. Явные параметры делают заданную политику видимой на всех машинах, что важно, когда несколько человек поддерживают одну и ту же книгу.
TrustServerCertificate=Yes шифрует и пропускает проверку, что не является равноценным исправлением при несовпадении имени или недоверенной цепочке. Он убирает сигнал, который сказал бы вам, что клиент попал на неверную конечную точку, поэтому исправьте сертификат или имя.
Принуждение на стороне сервера — отдельный элемент управления. Если шифрование должно применяться к каждому клиенту, настройте и проверьте параметр принудительного шифрования сервера, потому что одна сговорчивая строка подключения ничего не принуждает.
Сетевой путь — не защита
Частный прослушиватель, доступный через VPN, снижает экспозицию, и VPN должен нести правильные маршруты назначения и возврата, чтобы это работало. Работающий туннель не устраняет потребность в аутентификации или проверке сертификата, а TLS не ограничивает, какие удалённые системы могут пытаться подключиться. Это три отдельных наблюдения: рукопожатие TLS, вход через VPN и авторизованный запрос. Только третье доказывает, что книга прочитала данные, которые ей разрешено читать.
Поэтому сопротивляйтесь короткому пути — отвечать на вопрос о доверии, выставляя базу данных в интернет. Узкий ответ обычно таков: выделенная учётная запись, проверенное шифрование и один утверждённый путь, именно в этом порядке.
Проверяйте обычным рабочим процессом Excel: принятое удостоверение, действительные права и согласованное шифрование — каждое через собственное представление сеанса сервера.