1
votes

Authentification auprès de la base de données Azure SQL sans utiliser l'ID utilisateur et le mot de passe

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();
        }
    }
}


0 commentaires

3 Réponses :


0
votes

Vous pouvez configurer et gérer l'authentification Azure Active Directory avec SQL. Reportez-vous à ce document pour les détails.


0 commentaires

1
votes

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


0 commentaires

0
votes

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.


0 commentaires