SQL Veritabanı, SQL Yönetilen Örneği 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 yapılandırma seçenekleri.
  • Başlangıçta yeni bir sunucu oluşturulduktan sonra erişim ve yetkilendirme yapılandırması.
  • Ana veritabanına ve kullanıcı hesaplarına oturum açma bilgileri ve kullanıcı hesapları ekleme ve bu hesaplara yönetici izinleri verme.
  • Oturum açma bilgileriyle ilişkili veya bağımsız kullanıcı hesapları olarak kullanıcı veritabanlarına kullanıcı hesapları ekleme.
  • Veritabanı rollerini ve açık izinleri kullanarak kullanıcı veritabanlarında izinleri olan kullanıcı hesaplarını yapılandırın.

Önemli

Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve Azure Synapse veritabanları, bu makalenin geri kalanında birlikte veritabanları olarak adlandırılır ve sunucu, Azure SQL Veritabanı için veritabanlarını yöneten sunucuya başvurur ve Azure Synapse.

Kimlik doğrulaması ve yetkilendirme

Kimlik doğrulaması , kullanıcının iddia ettikleri 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 bağlı kullanıcı hesaplarının ana veritabanında veya oturum açma bilgilerine bağlı olmayan kullanıcı hesaplarını içeren veritabanında depolanır.

  • Azure Active Directory Kimlik Doğrulaması

    Bu kimlik doğrulaması yönteminde kullanıcı bir kullanıcı hesabı adı gönderir ve hizmetin Azure Active Directory'de (Azure AD) depolanan kimlik bilgilerini kullanmasını ister.

Oturum açma bilgileri ve kullanıcılar: Veritabanındaki bir kullanıcı hesabı ana veritabanında depolanan oturumla ilişkilendirilebilir veya ayrı bir veritabanında depolanan kullanıcı adı olabilir.

  • Oturum açma bilgileri, bir veya birden fazla veritabanındaki kullanıcı hesabının bağlanabileceği, ana veritabanında yer alan ayrı 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şmek ve çeşitli eylemler gerçekleştirmek için yetkilendirme, veritabanı rolleri ve açık izinler kullanılarak yönetilir. Yetkilendirme, kullanıcıya atanan izinleri ifade eder 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 ilk kez dağıttığınızda, bu oturum açma için yönetici oturum açma bilgilerini ve ilişkili bir parolayı belirtirsiniz. Bu yönetim hesabına Sunucu yöneticisi adı verilir. 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 oturum açma bilgisi oluşturulur. Oturum açma bilgileri, SQL Veritabanı, SQL Yönetilen Örneği ve Azure Synapse oturum açmak için tek bir kullanıcı hesabıdır.
  • Bu oturum açma işlemine 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 sysadmin sabit sunucu rolüne eklenir (bu rol Azure SQL Veritabanında yoktur).
  • Her kullanıcı veritabanında bu oturum açma için adlı dbo bir kullanıcı hesabı oluşturulur. dbo kullanıcısı veritabanındaki tüm veritabanı izinlerine sahiptir ve sabit veritabanı rolüyle db_owner eşlenir. Bu makalenin devamında ek sabit veritabanı rolleri ele alınmaktadır.

Bir veritabanının yönetici hesaplarını tanımlamak için Azure portal açın ve sunucunuzun veya yönetilen örneğinizin Özellikler sekmesine gidin.

SQL Server Yöneticileri

Özellikler menü seçeneğini vurgulayan ekran görüntüsü.

Önemli

Yönetici oturum açma adı oluşturulduktan sonra değiştirilemez. Sunucu yöneticisinin parolasını sıfırlamak için Azure portal 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 gidin, örneğe tıklayın ve Parolayı sıfırla'ya tıklayın. PowerShell 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 bilgileri oluşturmak için aşağıdaki seçeneklere sahipsiniz (dağıtım modunuza bağlı olarak):

  • Tam yönetici izinlerine sahip bir Azure Active Directory yönetici hesabı oluşturma

    Azure Active Directory kimlik doğrulamasını etkinleştirin ve Azure AD yönetici oturum açma bilgileri oluşturun. Bir Azure Active Directory hesabı, tam yönetim izinleriyle Azure SQL dağıtımının yöneticisi olarak yapılandırılabilir. Bu hesap bir kişi veya güvenlik grubu hesabı olabilir. SQL Veritabanı, SQL Yönetilen Örneği veya Azure Synapse bağlanmak için Azure AD hesaplarını kullanmak istiyorsanız bir Azure AD yöneticisi yapılandırılmalıdır. Tüm Azure SQL dağıtım türleri için Azure AD 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 izinlerine sahip SQL oturum açma bilgileri oluşturun

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

    • Ana veritabanında ek bir SQL oturum açma bilgisi oluşturun.
    • Ana veritabanında bu yeni oturum açma bilgisiyle ilişkilendirilmiş bir kullanıcı hesabı oluşturun.
    • ALTER ROLE deyimini dbmanagerloginmanager kullanarak kullanıcı hesabını , rolüne veya veritabanında her ikisini master birden ekleyin (Azure Synapse için sp_addrolemember deyimini kullanın).

    Not

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

    Azure SQL Veritabanı için bu özel ana veritabanı rollerinin üyeleri, veritabanları oluşturma ve yönetme ya da oturum açma bilgileri oluşturma ve yönetme yetkisine sahiptir. Rolün dbmanager üyesi olan bir kullanıcı tarafından oluşturulan veritabanlarında, üye sabit veritabanı rolüne db_owner eşlenir ve kullanıcı hesabını kullanarak dbo bu veritabanında oturum açıp yönetebilir. Bu rollerin ana veritabanı dışında açık izinleri yoktur.

    Önemli

    SQL Veritabanında tam yönetici izinleriyle ek bir SQL oturum açma bilgisi oluşturamazsınız.

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 oluşturur

    Ana veritabanında bir SQL oturum açma bilgisi oluşturun. Ardından her veritabanında 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ş durumda 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

    Veritabanında bir kullanıcının erişmesi gereken bir kullanıcı hesabı oluşturun ( kapsanan kullanıcı olarak da adlandırılır).

    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 Azure 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ı parolaları olan bir hesabı varsa, bu parolaları anımsamak bir sorun haline gelebilir.

Önemli

Azure AD kimliklere eşlenmiş bağımsız kullanıcılar oluşturmak için, Azure SQL Veritabanı'ndaki veritabanında bir Azure AD hesabı kullanarak oturum açmanız gerekir. SQL Yönetilen Örneği'da, izinlere sahip sysadmin sql oturum açma bilgileri Azure AD oturum açma bilgileri 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ında 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 bilgilerine dayalı olarak 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:

  • Sabit veritabanı rolleri

    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 ve bu da 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 düşük izinleri dikkatli bir şekilde vermenizi sağlar. Daha sonra ö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ına doğrudan izin 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.

  • Azure Active Directory kimlik doğrulamayı kullanırken, Azure Active Directory kullanıcılarını bir Azure Active Directory 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ış.