#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)