Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:Azure SQL Veritabanı
Azure SQL Veritabanı uygulama isteklerinin kimliği doğrulanmalıdır. Azure SQL Veritabanı kimlik doğrulaması için birden çok seçenek olsa da, mümkün olduğunda uygulamalarınızda parolasız bağlantılara öncelik vermelisiniz. Parola veya gizli anahtar kullanan geleneksel kimlik doğrulama yöntemleri, güvenlik riskleri ve karmaşıklıklar oluşturur. Parolasız bağlantılara geçmenin avantajları hakkında daha fazla bilgi edinmek için Azure services hub'ı için parolasız bağlantılar'ı ziyaret edin. Aşağıdaki öğreticide, kullanıcı adı ve parola çözümü yerine parolasız bağlantılar kullanmak üzere Azure SQL Veritabanı bağlanmak için mevcut bir uygulamanın nasıl geçirilir açıklanmaktadır.
Azure SQL Veritabanı yapılandırma
Parolasız bağlantılar, Azure SQL Veritabanı dahil olmak üzere Azure hizmetlerine bağlanmak için Microsoft Entra kimlik doğrulamasını kullanır. Microsoft Entra kimlik doğrulaması, izin yönetimini basitleştirmek için kimlikleri merkezi bir konumda yönetebilirsiniz. Azure SQL Veritabanı için Microsoft Entra kimlik doğrulamasını yapılandırma hakkında daha fazla bilgi edinin:
Bu geçiş kılavuzu için, Azure SQL Veritabanı atanmış bir Microsoft Entra yöneticisine sahip olduğunuzdan emin olun.
Mantıksal sunucunuzun Microsoft Entra sayfasına gidin.
Microsoft Entra Id açılır menüsünü açmak için Yöneticiyi ayarla'yı seçin.
Microsoft Entra Id açılır menüsünde yönetici olarak atamak istediğiniz kullanıcıyı arayın.
Kullanıcıyı seçin ve Seç'i seçin.
Yerel geliştirme ortamınızı yapılandırma
Parolasız bağlantılar hem yerel hem de Azure tarafından barındırılan ortamlarda çalışacak şekilde yapılandırılabilir. Bu bölümde, tek tek kullanıcıların yerel geliştirme için Azure SQL Veritabanı kimlik doğrulaması yapmalarına izin vermek için yapılandırmalar uygulayacaksınız.
Azure'da oturum açma
Yerel geliştirme için Azure SQL Veritabanı'na erişmek için kullanmak istediğiniz Microsoft Entra hesabıyla oturum açtığınızdan emin olun. Azure CLI veya Azure PowerShell gibi popüler geliştirme araçlarıyla kimlik doğrulaması yapabilirsiniz. Kimlik doğrulaması yapabileceğiniz geliştirme araçları farklı dillerde farklılık gösterir.
Aşağıdaki komutu kullanarak Azure CLI aracılığıyla Azure'da oturum açın. Bu, Windows, macOS ve Linux'ta çalışır.
az login
Veritabanı kullanıcısı oluşturma ve rol atama
Azure SQL Veritabanı'de bir kullanıcı oluşturun. Kullanıcı, Visual Studio veya IntelliJ gibi geliştirme araçları aracılığıyla yerel olarak oturum açmak için kullandığınız Azure hesabına karşılık gelmelidir.
Azure portalında SQL veritabanınıza göz atın ve Sorgu düzenleyicisi (önizleme) öğesini seçin.
Hesabınızı kullanarak veritabanında oturum açmak için ekranın sağ tarafındaki Devam et'i
<your-username>seçin.Sorgu düzenleyicisi görünümünde aşağıdaki T-SQL komutlarını çalıştırın:
CREATE USER [user@domain] FROM EXTERNAL PROVIDER; ALTER ROLE db_datareader ADD MEMBER [user@domain]; ALTER ROLE db_datawriter ADD MEMBER [user@domain]; ALTER ROLE db_ddladmin ADD MEMBER [user@domain]; GOBu komutların çalıştırılması, SQL DB Katkıda Bulunanı rolünü belirtilen hesaba atar. Bu rol, kimliğin veritabanınızın verilerini ve şemasını okumasına, yazmasına ve değiştirmesine olanak tanır. Atanan roller hakkında daha fazla bilgi için bkz . Sabit veritabanı rolleri.
Yerel bağlantı yapılandırmasını güncelleştirme
Kitaplığı veya Entity Framework Core'u kullanarak Microsoft.Data.SqlClient Azure SQL Veritabanı bağlanan mevcut uygulama kodu parolasız bağlantılarla çalışmaya devam eder. Ancak, veritabanı bağlantı dizesi parolasız biçimi kullanacak şekilde güncelleştirmeniz gerekir. Örneğin, aşağıdaki kod hem SQL kimlik doğrulaması hem de parolasız bağlantılarla çalışır:
string connectionString = app.Configuration.GetConnectionString("AZURE_SQL_CONNECTIONSTRING")!;
using var conn = new SqlConnection(connectionString);
conn.Open();
var command = new SqlCommand("SELECT * FROM Persons", conn);
using SqlDataReader reader = command.ExecuteReader();
Başvuruda bulunan bağlantı dizesi (AZURE_SQL_CONNECTIONSTRING) parolasız bağlantı dizesi biçimini kullanacak şekilde güncelleştirmek için:
bağlantı dizesi bulun. .NET uygulamalarıyla yerel geliştirme için, bu genellikle aşağıdaki konumlardan birinde depolanır:
-
appsettings.jsonProjenizin yapılandırma dosyası. -
launchsettings.jsonVisual Studio projeleri için yapılandırma dosyası. - Yerel sistem veya kapsayıcı ortamı değişkenleri.
-
bağlantı dizesi değerini aşağıdaki parolasız biçimle değiştirin.
<database-server-name>ve<database-name>yer tutucularını kendi değerlerinizle güncelleştirin:Server=tcp:<database-server-name>.database.windows.net,1433;Initial Catalog=<database-name>; Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Authentication="Active Directory Default";
Uygulamayı test etme
Uygulamanızı yerel olarak çalıştırın ve Azure SQL Veritabanı bağlantılarının beklendiği gibi çalıştığını doğrulayın. Azure kullanıcılarında ve rollerinde yapılan değişikliklerin Azure ortamınızda yayılması birkaç dakika sürebilir. Uygulamanız artık geliştiricilerin uygulamadaki gizli dizileri yönetmek zorunda kalmadan yerel olarak çalışacak şekilde yapılandırılmıştır.
Azure barındırma ortamını yapılandırma
Uygulamanız yerel olarak parolasız bağlantılar kullanacak şekilde yapılandırıldıktan sonra, aynı kod Azure'a dağıtıldıktan sonra Azure SQL Veritabanı için kimlik doğrulaması yapabilir. Aşağıdaki bölümlerde, yönetilen kimlik kullanarak Azure SQL Veritabanı bağlanmak için dağıtılan bir uygulamanın nasıl yapılandırılacağı açıklanmaktadır. Yönetilen kimlikler, Microsoft Entra kimlik doğrulamasını destekleyen kaynaklara bağlanırken uygulamaların kullanması için Microsoft Entra Id'de (eski adıYla Azure Active Directory) otomatik olarak yönetilen bir kimlik sağlar. Yönetilen kimlikler hakkında daha fazla bilgi edinin:
Yönetilen kimliği oluşturma
Azure portalını veya Azure CLI'yi kullanarak kullanıcı tarafından atanan bir yönetilen kimlik oluşturun. Uygulamanız diğer hizmetlerde kimlik doğrulaması yapmak için bu kimliği kullanır.
- Azure portalının üst kısmında Yönetilen kimlikler'i arayın. Yönetilen Kimlikler sonucunu seçin.
- Yönetilen Kimliklere genel bakış sayfasının üst kısmındaki + Oluştur'u seçin.
-
Temel Bilgiler sekmesinde aşağıdaki değerleri girin:
- Abonelik: İstediğiniz aboneliği seçin.
- Kaynak grubu: İstediğiniz kaynak grubunu seçin.
- Bölge: Konumunuza yakın bir bölge seçin.
- Ad: Kimliğiniz için MigrationIdentity gibi tanınabilir bir ad girin.
- Sayfanın alt kısmındaki Gözden geçir ve oluştur'u seçin.
- Doğrulama denetimleri tamamlandığında Oluştur'u seçin. Azure, kullanıcı tarafından atanan yeni bir kimlik oluşturur.
Kaynak oluşturulduktan sonra, yönetilen kimliğin ayrıntılarını görüntülemek için Kaynağa git'i seçin.
Yönetilen kimliği web uygulamanızla ilişkilendirme
Web uygulamanızı, oluşturduğunuz kullanıcı tarafından atanan yönetilen kimliği kullanacak şekilde yapılandırın.
Kullanıcı tarafından atanan yönetilen kimliği uygulamanızla ilişkilendirmek için Azure portalında aşağıdaki adımları tamamlayın. Bu adımlar aşağıdaki Azure hizmetleri için de geçerlidir:
- Azure Bahar Uygulamaları
- Azure Konteyner Uygulamaları
- Azure sanal makineleri
- Azure Kubernetes Service
- Web uygulamanızın genel bakış sayfasına gidin.
Sol gezinti bölmesinden Kimlik'i seçin.
Kimlik sayfasında Kullanıcı tarafından atanan sekmesine geçin.
Kullanıcı tarafından atanan yönetilen kimlik ekle açılır öğesini açmak için + Ekle'yi seçin.
Kimliği oluşturmak için daha önce kullandığınız aboneliği seçin.
MigrationIdentity öğesini ada göre arayın ve arama sonuçlarından seçin.
Kimliği uygulamanızla ilişkilendirmek için Ekle'yi seçin.
Kimlik için veritabanı kullanıcısı oluşturma ve roller atama
Kullanıcı tarafından atanan yönetilen kimliğe geri eşleyen bir SQL veritabanı kullanıcısı oluşturun. Uygulamanızın veritabanınızın verilerini ve şemasını okumasına, yazmasına ve değiştirmesine izin vermek için kullanıcıya gerekli SQL rollerini atayın.
Azure portalında SQL veritabanınıza göz atın ve Sorgu düzenleyicisi (önizleme) öğesini seçin.
Hesabınızı kullanarak veritabanında oturum açmak için ekranın sağ tarafındaki Devam et'i
<username>seçin.Sorgu düzenleyicisi görünümünde aşağıdaki T-SQL komutlarını çalıştırın:
CREATE USER [user-assigned-identity-name] FROM EXTERNAL PROVIDER; ALTER ROLE db_datareader ADD MEMBER [user-assigned-identity-name]; ALTER ROLE db_datawriter ADD MEMBER [user-assigned-identity-name]; ALTER ROLE db_ddladmin ADD MEMBER [user-assigned-identity-name]; GOBu komutların çalıştırılması, kullanıcı tarafından atanan yönetilen kimliğe SQL DB Katkıda Bulunanı rolünü atar. Bu rol, kimliğin veritabanınızın verilerini ve şemasını okumasına, yazmasına ve değiştirmesine olanak tanır.
Önemli
Kurumsal üretim ortamlarında veritabanı kullanıcı rolleri atarken dikkatli olun. Bu senaryolarda uygulama, tek bir yükseltilmiş kimlik kullanarak tüm işlemleri gerçekleştirmemelidir. Belirli görevler için belirli izinlere sahip birden çok kimlik yapılandırarak en az ayrıcalık ilkesini uygulamaya çalışın.
Aşağıdaki kaynaklarda veritabanı rollerini ve güvenliğini yapılandırma hakkında daha fazla bilgi edinebilirsiniz:
Bağlantı dizesini güncelleştirme
Azure uygulama yapılandırmanızı parolasız bağlantı dizesi biçimini kullanacak şekilde güncelleştirin. Bağlantı dizeleri genellikle uygulama barındırma ortamınızda ortam değişkenleri olarak depolanır. Aşağıdaki yönergeler App Service'e odaklanır, ancak diğer Azure barındırma hizmetleri benzer yapılandırmalar sağlar.
App Service örneğinizin yapılandırma sayfasına gidin ve Azure SQL Veritabanı bağlantı dizesi bulun.
Düzenle simgesini seçin ve bağlantı dizesi değerini aşağıdaki biçime uyacak şekilde güncelleştirin.
<database-server-name>ve<database-name>yer tutucularını kendi hizmetinizin değerleriyle değiştirin.Server=tcp:<database-server-name>.database.windows.net,1433;Initial Catalog=<database-name>; Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Authentication="Active Directory Default";Değişikliklerinizi kaydedin ve otomatik olarak yapılmazsa uygulamayı yeniden başlatın.
Uygulamayı test etme
Her şeyin hala çalıştığından emin olmak için uygulamanızı test edin. Tüm değişikliklerin Azure ortamınıza yayılması birkaç dakika sürebilir.