SQL Veritabanı’na, SQL Yönetilen Örneği’ne ve Azure Synapse Analytics’e veritabanı erişimini yetkilendirme
Şunlar için geçerlidir: Azure SQL Veritabanı Azure SQL Yönetilen Örneği Azure Synapse Analytics
Bu makalede şunları öğreneceksiniz:
- kullanıcıların yönetim görevlerini gerçekleştirmesine ve bu veritabanlarında depolanan verilere erişmesine olanak tanıyan Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve Azure Synapse Analytics için yapılandırma seçenekleri.
- Yeni bir sunucu oluşturulduktan sonra erişim ve yetkilendirme yapılandırması.
- Veritabanına oturum açma bilgileri ve kullanıcı hesapları
master
ekleme ve ardından bu hesaplara yönetici izinleri verme. - Kullanıcı veritabanlarında oturum açma bilgileriyle veya bağımsız kullanıcı hesaplarıyla ilişkilendirilmiş kullanıcı hesapları ekleme.
- Veritabanı rollerini ve açık izinleri kullanarak kullanıcı veritabanlarındaki izinlere sahip kullanıcı hesaplarını yapılandırın.
Önemli
Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve Azure Synapse'teki veritabanları, bu makalenin geri kalanında toplu olarak veritabanları olarak adlandırılır ve sunucu, Azure SQL Veritabanı ve Azure Synapse için veritabanlarını yöneten mantıksal sunucuya başvurur.
Not
Microsoft Entra Id daha önce Azure Active Directory (Azure AD) olarak biliniyordu.
Kimlik doğrulaması ve yetkilendirme
Kimlik doğrulaması , kullanıcının iddia ettiği kişi olduğunu kanıtlama işlemidir. Kullanıcı, bir kullanıcı hesabını kullanarak veritabanına bağlanır. Bir kullanıcı veritabanına bağlanmayı denerken, bir kullanıcı hesabı ve kimlik doğrulaması bilgileri sağlar. Kullanıcının kimliği, aşağıdaki iki kimlik doğrulaması yönteminden biri kullanılarak doğrulanır:
-
Bu kimlik doğrulaması yöntemiyle kullanıcı, bağlantı kurmak için bir kullanıcı hesabı adı ve ilişkili parola gönderir. Bu parola, oturum açma bilgilerine
master
bağlı kullanıcı hesapları için veritabanında veya oturum açma bilgilerine bağlı olmayan kullanıcı hesaplarını içeren veritabanında depolanır.Not
Azure SQL Veritabanı yalnızca parola ilkesi için parola karmaşıklığını zorlar. Azure SQL Yönetilen Örneği parola ilkesi için bkz. Azure SQL Yönetilen Örneği sık sorulan sorular (SSS).
-
Bu kimlik doğrulama yöntemiyle kullanıcı bir kullanıcı hesabı adı gönderir ve hizmetin Microsoft Entra Id'de (eski adı Azure Active Directory) depolanan kimlik bilgilerini kullanmasını ister.
Oturum açma bilgileri ve kullanıcılar: Veritabanındaki bir kullanıcı hesabı, veritabanında depolanan master
oturum açma bilgileriyle ilişkilendirilebilir veya tek bir veritabanında depolanan bir kullanıcı adı olabilir.
- Oturum açma, veritabanındaki
master
bir veya daha fazla veritabanındaki bir kullanıcı hesabının bağlanabileceği tek bir hesaptır. Oturum açma hesabında, kullanıcı hesabının kimlik bilgileri oturum açma hesabıyla depolanır. - Kullanıcı hesabı, herhangi bir veritabanında oturum açma bilgilerine bağlı olabilecek ancak olması gerekmeyen tek bir hesaptır. Oturum açmaya bağlantılı olmayan bir kullanıcı hesabında kimlik bilgileri kullanıcı hesabında depolanır.
Verilere erişim ve çeşitli eylemler gerçekleştirme yetkilendirmesi, veritabanı rolleri ve açık izinler kullanılarak yönetilir. Yetkilendirme, kullanıcıya atanan izinlere başvurur ve kullanıcının ne yapma izni olduğunu belirler. Yetkilendirme, kullanıcı hesabınızın veritabanı rolü üyelikleri ve nesne düzeyi izinleri tarafından denetlenmektedir. En iyi uygulama olarak, kullanıcılarınıza gerekli olan en düşük ayrıcalıkları tanımanız gerekir.
Yeni veritabanı oluşturduktan sonra mevcut oturum açma bilgileri ve kullanıcı hesapları
Azure SQL'i ilk kez dağıttığınızda, özel bir yönetim oturumu türü olan Sunucu yöneticisi için bir oturum açma adı ve parola belirtebilirsiniz. Ana ve kullanıcı veritabanlarındaki oturum açma bilgilerinin ve kullanıcıların aşağıdaki yapılandırması dağıtım sırasında gerçekleşir:
- Belirttiğiniz oturum açma adı kullanılarak yönetim ayrıcalıklarına sahip bir SQL oturumu oluşturulur. Oturum açma, SQL Veritabanı, SQL Yönetilen Örneği ve Azure Synapse'te oturum açmak için tek bir hesaptır.
- Bu oturum açma bilgilerine sunucu düzeyinde sorumlu olarak tüm veritabanlarında tam yönetim izinleri verilir. Oturum açma tüm kullanılabilir izinlere sahiptir ve sınırlanamaz. Bir SQL Yönetilen Örneği bu oturum açma bilgisi sysadmin sabit sunucu rolüne eklenir (bu rol Azure SQL Veritabanı'de yoktur).
- Bu hesap bir veritabanında oturum açtığında, bunlar her kullanıcı veritabanında bulunan özel kullanıcı hesabıyla
dbo
(kullanıcı hesabı) eşleştirilir. dbo kullanıcısı veritabanındaki tüm veritabanı izinlerine sahiptir ve sabit veritabanı rolünündb_owner
üyesidir. Bu makalenin devamında ek sabit veritabanı rolleri ele alınmalıdır.
Sunucu yönetici hesabını tanımlamak için Azure portalını açın ve mantıksal sunucunuzun veya yönetilen örneğinizin Özellikler sekmesine gidin:
Önemli
Sunucu yönetici hesabının adı oluşturulduktan sonra değiştirilemez. Sunucu yöneticisinin parolasını sıfırlamak için Azure portalına gidin, SQL Sunucuları'nı seçin, listeden sunucuyu seçin ve ardından Parolayı Sıfırla'yı seçin. SQL Yönetilen Örneği parolasını sıfırlamak için Azure portalına gidin, örneği seçin ve Parolayı sıfırla'yı seçin. PowerShell'i veya Azure CLI'yi de kullanabilirsiniz.
Ek oturum açma bilgileri ve yönetici izinlerine sahip kullanıcılar oluşturma
Bu noktada, sunucunuz veya yönetilen örneğiniz yalnızca tek bir SQL oturum açma ve kullanıcı hesabı kullanılarak erişim için yapılandırılır. Tam veya kısmi yönetim izinlerine sahip ek oturum açma işlemleri oluşturmak için aşağıdaki seçeneklere sahipsiniz (dağıtım modunuza bağlı olarak):
Tam yönetim izinlerine sahip bir Microsoft Entra yönetici hesabı oluşturma
Microsoft Entra kimlik doğrulamasını etkinleştirin ve bir Microsoft Entra yöneticisi ekleyin. Bir Microsoft Entra hesabı, tam yönetim izinleriyle Azure SQL dağıtımının yöneticisi olarak yapılandırılabilir. Bu hesap bireysel veya güvenlik grubu hesabı olabilir. SQL Veritabanı, SQL Yönetilen Örneği veya Azure Synapse'e bağlanmak için Microsoft Entra hesaplarını kullanmak istiyorsanız bir Microsoft Entra yöneticisi yapılandırılmalıdır. Tüm Azure SQL dağıtım türleri için Microsoft Entra kimlik doğrulamasını etkinleştirme hakkında ayrıntılı bilgi için aşağıdaki makalelere bakın:
SQL Yönetilen Örneği'da tam yönetim izinleriyle SQL oturum açma bilgileri oluşturun
- Veritabanında ek bir SQL oturumu oluşturun
master
. - ALTER SERVER ROLE deyimini kullanarak sysadmin sabit sunucu rolüne oturum açma bilgilerini ekleyin. Bu oturum açma tam yönetici izinlerine sahip olacaktır.
- Alternatif olarak, CREATE LOGIN söz dizimini kullanarak bir Microsoft Entra oturum açma bilgisi oluşturun.
Not
ve
loginmanager
rolleri Azure SQL Yönetilen Örneğidbmanager
dağıtımlarıyla ilgili değildir.- Veritabanında ek bir SQL oturumu oluşturun
SQL Veritabanında sınırlı yönetici izinleriyle SQL oturum açma bilgileri oluşturun
- Veritabanında ek bir SQL oturumu oluşturun
master
. - ALTER SERVER ROLE deyimini
##MS_DatabaseManager##
kullanarak ,##MS_LoginManager##
ve##MS_DatabaseConnector##
sunucu düzeyindeki rollere Oturum Aç'ı ekleyin.
Azure SQL Veritabanı için özel
master
veritabanı rollerinin üyeleri, veritabanları oluşturma ve yönetme ya da oturum açma bilgileri oluşturma ve yönetme yetkisine sahiptir. Rolün üyesi olan bir kullanıcı tarafından oluşturulan veritabanlarındadbmanager
, üye sabit veritabanı rolünedb_owner
eşlenir ve kullanıcı hesabını kullanarakdbo
bu veritabanında oturum açabilir ve bu veritabanını yönetebilir. Bu rollerin veritabanı dışındamaster
açık izinleri yoktur.Önemli
Azure SQL Veritabanı'de tam yönetim izinlerine sahip ek bir SQL oturumu oluşturamazsınız. Yalnızca sunucu yönetici hesabı veya Microsoft Entra yönetici hesabı (Microsoft Entra grubu olabilir) sunucu rollerine veya sunucu rollerinden diğer oturum açma bilgilerini ekleyebilir veya kaldırabilir. Bu, Azure SQL Veritabanı özgüdür.
- Veritabanında ek bir SQL oturumu oluşturun
Azure Synapse ayrılmış SQL havuzunda, sınırlı yönetim izinlerine sahip SQL oturum açma bilgileri oluşturun
- Veritabanında ek bir SQL oturumu oluşturun
master
. - Bu yeni oturum açma bilgileriyle ilişkili veritabanında bir kullanıcı hesabı
master
oluşturun. - sp_addrolemember deyimini
dbmanager
kullanarak kullanıcı hesabını veritabanına ,loginmanager
rolüne veya her ikisinimaster
birden ekleyin.
- Veritabanında ek bir SQL oturumu oluşturun
Azure Synapse sunucusuz SQL havuzunda, sınırlı yönetim izinlerine sahip SQL oturum açma bilgileri oluşturun
- Veritabanında ek bir SQL oturumu oluşturun
master
. - ALTER SERVER ROLE deyimini kullanarak SQL oturum açma bilgilerini sysadmin sabit sunucu rolüne ekleyin.
- Alternatif olarak, CREATE LOGIN söz dizimini kullanarak bir Microsoft Entra oturum açma bilgisi oluşturun.
- Veritabanında ek bir SQL oturumu oluşturun
Yönetici olmayan kullanıcılar için hesap oluşturma
İki yöntemden birini kullanarak yönetici olmayan kullanıcılar için hesaplar oluşturabilirsiniz:
Oturum açma oluşturma
Veritabanında sql oturum açma bilgileri
master
oluşturun. Ardından, her veritabanında o kullanıcının erişmesi gereken bir kullanıcı hesabı oluşturun ve kullanıcı hesabını bu oturum açma bilgileriyle ilişkilendirin. Bu yaklaşım, kullanıcının birden çok veritabanına erişmesi gerektiğinde ve parolaları eşitlenmiş tutmak istediğinizde tercih edilir. Ancak, oturum açmanın hem birincil sunucuda hem de ikincil sunucularda oluşturulması gerektiğinden, coğrafi çoğaltma ile kullanıldığında bu yaklaşım karmaşıklıklara sahiptir. Daha fazla bilgi için bkz. Coğrafi geri yükleme veya yük devretme için Azure SQL Veritabanı güvenliğini yapılandırma ve yönetme.Kullanıcı hesabı oluşturma
Kullanıcının erişmesi gereken veritabanında (kapsanan kullanıcı olarak da adlandırılır) bir kullanıcı hesabı oluşturun.
- SQL Veritabanı ile her zaman bu tür bir kullanıcı hesabı oluşturabilirsiniz.
- Microsoft Entra sunucu sorumlularını destekleyen SQL Yönetilen Örneği, veritabanı kullanıcılarının bağımsız veritabanı kullanıcısı olarak oluşturulmasına gerek kalmadan SQL Yönetilen Örneği kimlik doğrulaması yapmak için kullanıcı hesapları oluşturabilirsiniz.
Bu yaklaşımla, kullanıcı kimlik doğrulama bilgileri her veritabanında depolanır ve coğrafi olarak çoğaltılan veritabanlarına otomatik olarak çoğaltılır. Ancak, aynı hesap birden çok veritabanında varsa ve SQL kimlik doğrulaması kullanıyorsanız, parolaları el ile eşitlenmiş durumda tutmanız gerekir. Ayrıca, bir kullanıcının farklı veritabanlarında farklı parolalara sahip bir hesabı varsa, bu parolaları anımsamak bir sorun haline gelebilir.
Önemli
Microsoft Entra kimliklerine eşlenmiş bağımsız kullanıcılar oluşturmak için Azure SQL Veritabanı veritabanında bir Microsoft Entra hesabı kullanarak oturum açmanız gerekir. SQL Yönetilen Örneği'de, izinlere sahip sysadmin
bir SQL oturumu microsoft Entra oturum açma bilgisi veya kullanıcı da oluşturabilir.
Oturum açma bilgilerinin ve kullanıcıların nasıl oluşturulacağını gösteren örnekler için bkz:
- Azure SQL Veritabanı için oturum açma oluşturma
- Azure SQL Yönetilen Örneği için oturum açma oluşturma
- Azure Synapse için oturum açma oluşturma
- Kullanıcı oluşturma
- Microsoft Entra içeren kullanıcılar oluşturma
İpucu
Azure SQL Veritabanı'da kullanıcı oluşturmayı içeren bir güvenlik öğreticisi için bkz. Öğretici: Güvenli Azure SQL Veritabanı.
Sabit ve özel veritabanı rollerini kullanma
Veritabanında oturum açma bilgilerini temel alan veya bağımsız bir kullanıcı olarak bir kullanıcı hesabı oluşturduktan sonra, bu kullanıcıya çeşitli eylemler gerçekleştirme ve belirli bir veritabanındaki verilere erişme yetkisi vekleyebilirsiniz. Erişimi yetkilendirmek için aşağıdaki yöntemleri kullanabilirsiniz:
Veritabanı rolleri düzeltildi
Kullanıcı hesabını sabit veritabanı rolüne ekleyin. Her biri tanımlı izin kümesine sahip 9 sabit veritabanı rolü vardır. En yaygın sabit veritabanı rolleri şunlardır: db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter ve db_denydatareader. Birkaç kullanıcıya tam izin vermek için genelde db_owner kullanılır. Diğer sabit veritabanı rolleri, geliştirme aşamasında basit bir veritabanını hızlı bir şekilde kullanıma almak için kullanışlıdır ancak çoğu üretim veritabanı için önerilmez. Örneğin, db_datareader sabit veritabanı rolü veritabanındaki her tabloya okuma erişimi verir; bu kesinlikle gerekli olandan daha fazladır.
Sabit veritabanı rolüne kullanıcı eklemek için:
- Azure SQL Veritabanı ve Azure Synapse sunucusuz SQL havuzunda ALTER ROLE deyimini kullanın. Örnekler için bkz. ALTER ROLE örnekleri
- Azure Synapse ayrılmış SQL havuzunda sp_addrolemember deyimini kullanın. Örnekler için bkz . sp_addrolemember örnekler.
Özel veritabanı rolü
CREATE ROLE deyimini kullanarak özel bir veritabanı rolü oluşturun. Özel rol, kendi kullanıcı tanımlı veritabanı rollerinizi oluşturmanıza ve her role iş gereksinimi için gereken en az izinleri dikkatli bir şekilde vermenizi sağlar. Ardından özel role kullanıcı ekleyebilirsiniz. Birden fazla rolün üyesi olan kullanıcılar, tüm rollerin izinlerine sahip olur.
İzinleri doğrudan verme
Kullanıcı hesabı izinlerini doğrudan verin . SQL Veritabanında ayrı ayrı verilebilen veya reddedilebilen 100'den fazla izin vardır. Bu izinlerin çoğu iç içe geçmiş haldedir. Örneğin, bir şemada için verilen
UPDATE
izni, o şema içindeki tüm tablolar içinUPDATE
iznini de içerir. Çoğu izin sisteminde olduğu gibi bir iznin reddedilmesi, aynı iznin verilme durumunu geçersiz kılar. İç içe geçmiş yapısı ve izin sayısı nedeniyle, veritabanınızı doğru şekilde korumak için uygun bir izin sistemi tasarlamak uzun ve dikkatli bir çalışma gerektirebilir. İzinler (Veritabanı Altyapısı) ile başlayın ve izinlerin poster boyutundaki tablosunu inceleyin.
Grupları kullanma
Verimli erişim yönetimi, tek tek kullanıcılar yerine Active Directory güvenlik gruplarına ve sabit veya özel rollere atanan izinleri kullanır.
Microsoft Entra kimlik doğrulamayı kullanırken, Microsoft Entra kullanıcılarını bir Microsoft Entra güvenlik grubuna yerleştirin. Grup için bir bağımsız veritabanı kullanıcısı oluşturun. Bir veya daha fazla veritabanı kullanıcısını, bu kullanıcı grubuna uygun belirli izinlere sahip özel veya yerleşik veritabanı rollerine üye olarak ekleyin.
SQL kimlik doğrulamasını kullanırken veritabanında bağımsız veritabanı kullanıcıları oluşturun. Bir veya daha fazla veritabanı kullanıcısını, bu kullanıcı grubuna uygun belirli izinlere sahip özel bir veritabanı rolüne yerleştirin.
Not
Grupları, bağımsız veritabanı kullanıcıları için de kullanabilirsiniz.
İzinleri sınırlamak veya yükseltmek için kullanılabilen aşağıdaki özellikleri tanımanız gerekir:
- Kimliğe Bürünme ve modül imzalama ile izinler geçici olarak ve güvenli bir şekilde artırılabilir.
- Satır Düzeyi Güvenlik , kullanıcının erişebileceği satırları sınırlamak için kullanılabilir.
- Veri Maskeleme ile hassas verilerin kapsamı sınırlandırılabilir.
- Saklı yordamlar ile veritabanında gerçekleştirilebilecek eylemler sınırlandırılabilir.