Microsoft Entra sunucu sorumluları

Şunlar için geçerlidir:Azure SQL Veritabanı Azure SQL Yönetilen Örneği Azure Synapse Analytics (yalnızca ayrılmış SQL havuzları)

Artık bir SQL Veritabanı sanal master veritabanında oturum açan Microsoft Entra ID'den (eski adıYla Azure Active Directory) sunucu sorumluları oluşturabilir ve kullanabilirsiniz. SQL Veritabanı için Microsoft Entra sunucu sorumlularını kullanmanın çeşitli avantajları vardır:

  • İzin yönetimi için Azure SQL Veritabanı sunucu rollerini destekleyin.
  • ve dbmanager rolleri gibi SQL Veritabanı için özel rollere sahip birden çok Microsoft Entra kullanıcısını loginmanager destekleyin.
  • SQL oturum açma bilgileri ile Microsoft Entra oturum açma bilgileri arasındaki işlevsel eşlik.
  • Microsoft Entra-only kimlik doğrulamasını kullanma gibi işlevsel iyileştirme desteğini artırın. Microsoft Entra-only kimlik doğrulaması SQL kimlik doğrulamasının devre dışı bırakılmasına olanak tanır. Bu, SQL server yöneticisi, SQL oturum açma bilgileri ve kullanıcıları içerir.
  • Microsoft Entra sorumlularının coğrafi çoğaltmaları desteklemesine izin verir. Microsoft Entra sorumluları, bir kullanıcı veritabanının coğrafi çoğaltmasına, birincil sunucuya salt okunur ve reddetme izinleri ile bağlanabilir.
  • Microsoft Entra uygulamalarıyla kullanıcı ve veritabanı oluşturma ve bakımını tam olarak otomatikleştirmek için özel rollerle Microsoft Entra hizmet sorumlusu oturum açma bilgilerini kullanın.

Azure SQL'de Microsoft Entra kimlik doğrulaması hakkında daha fazla bilgi için bkz . Microsoft Entra kimlik doğrulamasını kullanma.

Not

Microsoft Entra sunucu sorumluları (oturum açma bilgileri) şu anda Azure SQL Veritabanı ve Azure Synapse Analytics için genel önizleme aşamasındadır. Microsoft Entra oturum açma bilgileri Azure SQL Yönetilen Örneği ve SQL Server 2022 için genel olarak kullanılabilir.

İzinler

Sanal master veritabanında Microsoft Entra oturum açma bilgilerini kullanmak veya oluşturmak için aşağıdaki izinler gereklidir.

  • Microsoft Entra yönetici izni veya sunucu rolü üyeliği loginmanager . İlk Microsoft Entra oturum açma bilgileri yalnızca Microsoft Entra yöneticisi tarafından oluşturulabilir.
  • Azure SQL Veritabanı için kullanılan dizin içinde Microsoft Entra Id üyesi olmalıdır.

Varsayılan olarak, veritabanında yeni oluşturulan Microsoft Entra oturum açma bilgilerine master HERHANGİ Bİr VERITABANıNı GÖRÜNTÜLE izni verilir.

Microsoft Entra principals söz dizimi

Microsoft Entra sunucusu ve veritabanı sorumlularını oluşturmak ve yönetmek için aşağıdaki söz dizimini kullanın.

Oturum açma oluşturma

Bu söz dizimi, Microsoft Entra kimliğini temel alan sunucu düzeyinde oturum açma bilgileri oluşturur. Bu komutu sanal master veritabanında yalnızca Microsoft Entra yöneticisi yürütebilir.

CREATE LOGIN login_name
  { 
    FROM EXTERNAL PROVIDER [WITH OBJECT_ID = 'objectid'] 
    | WITH <option_list> [,..] 
  }

<option_list> ::=
    PASSWORD = { 'password' }
    [ , SID = sid ]

login_name bir Microsoft Entra kullanıcısı, grubu veya uygulaması olan Microsoft Entra sorumlusunu belirtir.

Daha fazla bilgi için bkz . CREATE LOGIN (Transact-SQL).

Oturum açmadan kullanıcı oluşturma

Aşağıdaki T-SQL söz dizimi, sanal master veritabanındaki bir Microsoft Entra oturum açma bilgileriyle eşlenmiş veritabanı düzeyinde bir Microsoft Entra sorumlusu oluşturur. Microsoft Entra kullanıcısı içeren bir veritabanı oluşturma söz dizimine benzer şekilde, tek fark yerine FROM EXTERNAL PROVIDERbelirtmektirFROM LOGIN [login_name].

Microsoft Entra oturum açma bilgilerine sahip bir Microsoft Entra kullanıcısı oluşturmak için aşağıdaki söz dizimini kullanın.

CREATE USER [user_name] FROM LOGIN [login_name]

Sys.database_principals sütununu SIDkullanarak Microsoft Entra içeren veritabanı kullanıcısını ve oturum açmadan oluşturulan bir Microsoft Entra kullanıcısını ayırt edebilirsiniz. Kapsanan veritabanı kullanıcısı için, SID uzunluğu 16 olan ikili dizedir. Oturum açma tabanlı bir kullanıcı için, SID uzunluğu 18'dir ve son AADE eki kullanılır.

Not

AADE Son eki SID'ye eklemek, bir Microsoft Entra kullanıcısının oturum açmadan oluşturulduğunu belirleme yöntemimizdir. Ancak bu, oturum açma ve kullanıcılarının SID'lerinin ile sys.database_principalsarasında sys.server_principals eşleşmediğini de gösterir. Kullanıcıyı yeniden oturum açmasıyla ilişkilendirmek için, AADE önce sonek kaldırılmalıdır.

Oturum açma tabanlı kullanıcılarla bağımsız veritabanı kullanıcıları arasındaki kavramsal farkı anlamak için bkz . bağımsız veritabanı kullanıcıları.

Tüm kullanıcı söz dizimi oluşturma hakkında daha fazla bilgi için bkz . CREATE USER (Transact-SQL).

ALTER LOGIN kullanarak oturum açmayı devre dışı bırakma veya etkinleştirme

ALTER LOGIN (Transact-SQL) DDL söz dizimi, Azure SQL Veritabanı bir Microsoft Entra oturum açma özelliğini etkinleştirmek veya devre dışı bırakmak için kullanılır.

ALTER LOGIN [login_name] DISABLE 

Oturum açma devre dışı bırakıldığında, bu sunucu sorumlusu kullanılarak bağlantılara artık izin verilmez. Ayrıca, ilgili oturum açma bilgileriyle oluşturulan tüm veritabanı sorumlularının (kullanıcılar) ilgili veritabanlarına bağlanabilmesini de devre dışı bırakır.

Not

  • ALTER LOGIN login_name DISABLE , oturum açma bilgileriyle ilişkili olmadığından, kapsanan veritabanı kullanıcılarını etkilemez.

  • ALTER LOGIN login_name DISABLE , Microsoft Entra grupları için desteklenmez.

  • Devre dışı bırakılan tek bir oturum açma, veritabanında oluşturulan master bir oturum açma grubunun parçası olan bir kullanıcıya (örneğin, bir Microsoft Entra yönetici grubu) ait olamaz.

  • veya ENABLE değişikliklerinin DISABLE hemen etkili olması için kimlik doğrulama önbelleği ve TokenAndPermUserStore önbelleği T-SQL komutları kullanılarak temizlenmelidir.

    DBCC FLUSHAUTHCACHE
    DBCC FREESYSTEMCACHE('TokenAndPermUserStore') WITH NO_INFOMSGS 
    

Microsoft Entra sorumluları için roller

SQL Veritabanı için özel roller, dbmanager ve loginmanager gibi Microsoft Entra sorumluları için sanal master veritabanındaki kullanıcılara atanabilir.

Azure SQL Veritabanı sunucu rolleri sanal master veritabanındaki oturum açma bilgilerine atanabilir.

Bu rolleri verme hakkında bir öğretici için bkz . Öğretici: Microsoft Entra sunucusu oturum açma bilgilerini oluşturma ve kullanma.

Sınırlamalar ve açıklamalar

  • SQL server yöneticisi hiçbir veritabanında Microsoft Entra oturum açma bilgileri veya kullanıcıları oluşturamaz.
  • SQL yöneticisi veya SQL kullanıcısı aşağıdaki Microsoft Entra işlemlerini yürütemez:
    • CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER
    • CREATE USER [bob@contoso.com] FROM EXTERNAL PROVIDER
    • EXECUTE AS USER [bob@contoso.com]
    • ALTER AUTHORIZATION ON securable::name TO [bob@contoso.com]
  • Azure SQL Veritabanı ve Azure Synapse Analytics için Microsoft Entra sunucu sorumlularının (oturum açma bilgileri) kimliğe bürünmesi desteklenmez. SQL Yönetilen Örneği için desteklenir:
  • Microsoft Entra oturum açma bilgileri Microsoft Entra yöneticisiyle çakışamaz. Microsoft Entra yöneticisi herhangi bir oturum açmadan önceliklidir. Bir Microsoft Entra hesabının sunucuya bireysel olarak veya grubun bir parçası olarak Microsoft Entra yöneticisi olarak zaten erişimi varsa, bu hesap için oluşturulan oturum açma bilgilerinin hiçbir etkisi olmaz. Ancak, oturum açma oluşturma işlemi T-SQL aracılığıyla engellenmez. Hesap sunucuda kimlik doğrulamasından geçtikten sonra oturum açma işlemi, yeni oluşturulan oturum açma bilgilerinin değil Microsoft Entra yöneticisinin etkin izinlerine sahip olur.
  • Belirli Microsoft Entra oturum açma nesnesinde izinleri değiştirme desteklenmez:
    • GRANT <PERMISSION> ON LOGIN :: <Microsoft Entra account> TO <Any other login>
  • Microsoft Entra oturum açma izinlerini değiştirdiğinizde, varsayılan olarak değişiklikler yalnızca oturum açma Azure SQL Veritabanı bir sonraki bağlanışında geçerli olur. Oturum açma bilgilerine sahip mevcut açık bağlantılar etkilenmez. İzin değişikliklerinin hemen geçerli olmasını zorlamak için, daha önce ALTER LOGIN kullanarak oturum açmayı devre dışı bırakma veya etkinleştirme bölümünde açıklandığı gibi kimlik doğrulamasını ve TokenAndPermUserStore'ları el ile temizleyebilirsiniz. Bu davranış, ALTER SERVER ROLE ile sunucu rolü üyeliği değişiklikleri yapılırken de geçerlidir.
  • SQL Server Management Studio ve Azure Data Studio'da, kullanıcı oluşturmaya yönelik komut dosyası komutu aynı ada sahip bir Microsoft Entra oturum açma bilgisi master olup olmadığını denetlemez. Her zaman, Microsoft Entra kullanıcısı içeren bir veritabanı için T-SQL oluşturur.
  • Nonunique görünen adıyla bir hizmet sorumlusundan oturum açma veya kullanıcı oluşturmaya çalışıyorsanız bir hata oluşabilir. Bu hatayı azaltma hakkında daha fazla bilgi için bkz . Microsoft Entra oturum açma bilgileri ve görünen adları olmayan kullanıcılar.

Microsoft Entra grubu sunucu sorumlusu sınırlamaları

Azure SQL Veritabanı ve Azure Synapse Analytics için genel önizlemede Microsoft Entra oturum açma işlemleriyle, bilinen sınırlamalar şunlardır:

  • Azure SQL Veritabanı sunucu rolleri Microsoft Entra grupları için desteklenmez.
  • SQL yöneticiniz bir Microsoft Entra grubuysa, bu grubun kullanıcıları bağlandığında bazı sınırlamalar vardır. Her Microsoft Entra kullanıcısı ayrı ayrı tablonun bir parçası sys.server_principals değildir. Bu, döndürme NULLçağrıları SUSER_SID da dahil olmak üzere çeşitli sonuçlara sahiptir.
  • Microsoft Entra grubu oturum açma işlemlerinin bir parçası olan Microsoft Entra kullanıcı oturum açma bilgileri de örtük olarak oluşturulmaz, yani varsayılan şemaya sahip olmazlar ve Microsoft Entra kullanıcısı için oturum açma oluşturulduğunda veya gruba varsayılan şema atanana kadar gibi CREATE SCHEMA işlemler gerçekleştiremezler.
  • Veritabanının sahipliğini Microsoft Entra grubuna veritabanı sahibi olarak değiştirmek desteklenmez.
    • ALTER AUTHORIZATION ON database::<mydb> TO [my_aad_group] hata iletisiyle başarısız oluyor:

      Msg 33181, Level 16, State 1, Line 4
      The new owner cannot be Azure Active Directory group.
      

Sonraki adımlar