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ştirmesini ve bu veritabanlarında depolanan verilere erişmesini sağlamak için Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve Azure Synapse Analytics'i yapılandırma seçenekleri.
  • Başlangıçta yeni bir sunucu oluşturduktan sonra erişim ve yetkilendirme yapılandırması.
  • Veritabanında ve kullanıcı hesaplarında master oturum açma bilgileri ve kullanıcı hesapları 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:

  • SQL kimlik doğrulaması.

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

  • Microsoft Entra doğrulaması

    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 bilgileri 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 hesabıyla bağlantılı olabilen ama bağlantılı olması gerekli olmayan bireysel 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ün db_owner üyesidir. Bu makalenin devamında ek sabit veritabanı rolleri ele alınmalıdır.

Mantıksal sunucunun Sunucu yönetici hesabını tanımlamak için Azure portalını açın ve sunucunuzun veya yönetilen örneğinizin Özellikler sekmesine gidin.

Screenshot shows the SQL Server Properties page where you can obtain the Server admin login and Microsoft Entra admin values.

Screenshot shows the SQL managed instance Properties page where you can obtain the login and Microsoft Entra admin values.

Ö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ı'na tıklayın, listeden sunucuyu seçin ve ardından Parolayı Sıfırla'ya tıklayın. SQL Yönetilen Örneği parolasını sıfırlamak için Azure portalına gidin, örneğe tıklayın ve Parolayı sıfırla'ya tıklayın. 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öneticisiyapı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

    Not

    ve loginmanager rolleri Azure SQL Yönetilen Örneği dbmanager dağıtımlarıyla ilgili değildir.

  • SQL Veritabanında sınırlı yönetici izinleriyle SQL oturum açma bilgileri oluşturun

    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ında dbmanager , üye sabit veritabanı rolüne db_owner eşlenir ve kullanıcı hesabını kullanarak dbo bu veritabanında oturum açabilir ve bu veritabanını yönetebilir. Bu rollerin veritabanı dışında master 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.

  • 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 dbmanagerkullanarak kullanıcı hesabını veritabanına , loginmanager rolüne veya her ikisini master birden ekleyin.
  • Azure Synapse sunucusuz SQL havuzunda, sınırlı yönetim izinlerine sahip SQL oturum açma bilgileri 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:

İ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.

  • Ö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çin UPDATE 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:

Sonraki adımlar

Tüm Azure SQL Veritabanı ve SQL Yönetilen Örneği güvenlik özelliklerine genel bakış için bkz. Güvenliğe genel bakış.