Проверка подлинности Windows SQL Server в kubernetes

#sql-server #asp.net-core #kubernetes #windows-authentication

Вопрос:

Извините, я могу получить отрицательные ответы на этот небольшой вопрос.

Я пытаюсь подключиться к SQL Server с помощью проверки подлинности Windows из модуля kubernetes с помощью C# ASP.NET Основное приложение.

Какой должна быть строка подключения?

 <connectionStrings> 
    <add name="AveenoData" 
         connectionString="data source=localhost;
                           initial catalog=NP_DB;persist security info=True; 
                           Integrated Security=SSPI;" /> 
</connectionStrings> 
 

Или как я могу добавить свои учетные данные Windows в модуль Kubernetes?

Комментарии:

1. Обычно, когда сервер и клиент работают в разных сетях, где проверка подлинности Windows затруднена, я просто переключаюсь на обычного пользователя/пропуск и вообще отказываюсь от Windows. Это просто упрощает дело.

2. Это не строка подключения. Я предполагаю, что вы запускаете Kubernetes в Linux, что означает, что проверка подлинности Windows недоступна из коробки. Однако проверка подлинности Windows использует Kerberos, поэтому вам необходимо настроить проверку подлинности Kerberos между вашими модулями и доменом AD сервера. Это поддерживаемый сценарий , поскольку клиенты Windows должны иметь возможность подключаться к SQL Server в Linux без жестких учетных данных.

3. @Алехандро, нет, это не так. Выбрасывание ребенка с водой из ванны никогда не является хорошим решением. Теперь вам нужно управлять паролями, надежно хранить их, периодически менять их без какой-либо поддержки со стороны сервера или операционной системы. Должны ли пользователи теперь запоминать еще один пароль? Или пароль должен храниться в файле?

4. Официальные документы могут быть немного многословными. В этом сообщении в блоге показано, что как только вы присоединитесь к хосту Linux в домене AD, все, что вам нужно, — это запустить kinit my.name@MY-DOMAIN.LOCAL , чтобы получить токен Kerberos для текущего сеанса, после чего вы сможете подключиться с помощью встроенной аутентификации

5. Создайте строку подключения с именем пользователя и паролем. Используйте секреты Шлема, чтобы сохранить его в безопасности. Это означает, что у вас будет среда разработки и производственная среда. Имя пользователя и пароль будут изменены системным администратором с использованием секретов Helm или другого шифрования k8s при развертывании. Добро пожаловать в Kubernetes и самостоятельное управление конфиденциальными данными.

Ответ №1:

Вы можете подключиться не с помощью строки подключения, а с помощью active directory. вы можете посмотреть раздел Настройка проверки подлинности Active Directory с помощью SQL Server в контейнерах Linux
. Проверка подлинности AD(Active Directory) для контейнеров SQL в службе Azure Kubernetes (AKS)