J'essaie de m'authentifier auprès de mon Azure SQL via c # à l'aide de ce code. Le code fonctionne mais je ne souhaite pas utiliser mon ID utilisateur et mon mot de passe. Puis-je utiliser autre chose pour m'authentifier? Jeton?
using System; using System.Data.SqlClient; using System.Text; namespace sqltest { class Program { static void Main(string[] args) { try { SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(); builder.DataSource = "<server>.database.windows.net"; builder.UserID = "<username>"; builder.Password = "<password>"; builder.InitialCatalog = "<database>"; using (SqlConnection connection = new SqlConnection(builder.ConnectionString)) { Console.WriteLine("\nQuery data example:"); Console.WriteLine("=========================================\n"); StringBuilder sb = new StringBuilder(); sb.Append("SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName "); sb.Append("FROM [SalesLT].[ProductCategory] pc "); sb.Append("JOIN [SalesLT].[Product] p "); sb.Append("ON pc.productcategoryid = p.productcategoryid;"); String sql = sb.ToString(); using (SqlCommand command = new SqlCommand(sql, connection)) { connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine("{0} {1}", reader.GetString(0), reader.GetString(1)); } } } } } catch (SqlException e) { Console.WriteLine(e.ToString()); } Console.ReadLine(); } } }
3 Réponses :
Vous pouvez configurer et gérer l'authentification Azure Active Directory avec SQL. Reportez-vous à ce document pour les détails.
Vous pouvez utiliser deux choses.
1. Utiliser les identités gérées pour les ressources Azure
Il s'agit de l'approche recommandée. Dans cette méthode, le code générera un jeton à l'aide d'identités Azure.
.NET Framework 4.6 ou supérieur ou .NET Core 2.2 ou supérieur est nécessaire pour utiliser la méthode du jeton d'accès.
Pour plus d'informations ->
https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-sql
2. Stockez les informations sensibles (nom d'utilisateur / mot de passe / chaîne de connexion) dans Azure Key Vault
https : //docs.microsoft.com/en-us/azure/key-vault/tutorial-net-create-vault-azure-web-app
Comme mentionné, les identités gérées sont le moyen d'y parvenir. Voici un article similaire spécifique à App Service pour Azure SQL , cela peut également être accompli via ARM et les identités gérées peuvent également être accordées règles d'accès aux coffres-forts.