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.
Şunun için geçerlidir:✅SQL veritabanı Microsoft Fabric'da
Bu makalede SQL veritabanları için kimlik doğrulaması açıklanmaktadır.
Diğer Microsoft Fabric öğe türleri gibi SQL veritabanları da Microsoft Entra kimlik doğrulaması kullanır.
SQL veritabanında başarılı bir şekilde kimlik doğrulaması yapmak için, bir Microsoft Entra kullanıcısı, hizmet sorumlusu veya grup, Fabric'de veritabanı için Okuma iznine sahip olmalıdır. Fabric çalışma alanına veya belirli bir veritabanına Microsoft Entra kimliğine erişim izni verme hakkında bilgi için bkz. Fabric access controls.
SQL veritabanınıza ait bağlantı dizesini Microsoft Fabric'de bulmak için bkz. Microsoft Fabric'de SQL veritabanınıza bağlanma.
Not
Hizmet sorumlularının Doku'ya ve SQL veritabanlarına bağlanmasını sağlamak için, Hizmet sorumlularının Doku API'leri Doku kiracı ayarını kullanabileceğini de etkinleştirmeniz gerekir. Kiracı ayarlarını etkinleştirmeyi öğrenmek için bkz. Fabric Kiracı ayarları.
Microsoft Entra kimlik doğrulamasını kullanarak SQL veritabanına bağlanma
Aşağıdakilerle Microsoft Entra kimlik doğrulamasını kullanarak bir veritabanına bağlanabilirsiniz:
- SQL Server Management Studio ve Visual Studio Code için MSSQL uzantısı gibi Microsoft Entra kimlik doğrulamasını destekleyen SQL araçları.
- SqlClient, JDBC, ODBC ve OLE DB gibi Microsoft Entra kimlik doğrulamayı destekleyen SQL istemci sürücülerini kullanan uygulamalar.
Uygulamaların ve araçların sürücüleri Microsoft Entra kimlik doğrulamasını destekleyen sürümlere yükseltmesi ve , ActiveDirectoryInteractive veya ActiveDirectoryServicePrincipal gibi ActiveDirectoryPassword kimlik doğrulama modu anahtar sözcüğü eklemesi gerekir.
Microsoft Entra kimlikleri için veritabanı kullanıcıları oluşturma
sql erişim denetimlerini Transact-SQL ile
Doku erişim denetimlerini (çalışma alanı rolleri veya öğe izinleri) kullanıyorsanız veritabanı kullanıcıları oluşturmak gerekmez. Yapı portalından SQL veritabanı düzeyinde rolleri yönetirken kullanıcı oluşturmanız gerekmez; gerektiğinde portal kullanıcıları otomatik olarak oluşturur.
Microsoft Entra kullanıcısı olarak bağlandığında veritabanı kullanıcıları yaratın
Veritabanınıza Microsoft Entra kullanıcı olarak bağlandığınızda, Microsoft Entra sorumluları için kullanıcı oluşturmak üzere CREATE USER yan tümcesiyle kullanmanız gerekir.
FROM EXTERNAL PROVIDER belirtilen asıl adı Microsoft Entra ile doğrular, asıl tanımlayıcıyı (kullanıcının veya grubun nesne kimliği, uygulama kimliği veya istemci kimliği) alır ve tanımlayıcıyı SQL meta verilerinde kullanıcının güvenlik tanımlayıcısı (SID) olarak depolar.
yan tümcesini kullanırken Microsoft Entra FROM EXTERNAL PROVIDER üyesi olmanız gerekir. Aşağıdaki örnek T-SQL betikleri, bir Microsoft Entra kullanıcısına, Microsoft Entra'daki bir hizmet sorumlusuna veya bir gruba dayalı bir kullanıcı oluşturmak için FROM EXTERNAL PROVIDER kullanır.
-- Create a user for a Microsoft Entra user
CREATE USER [alice@contoso.com] FROM EXTERNAL PROVIDER;
-- Create a user for a service principal in Microsoft Entra
CREATE USER [HRApp] FROM EXTERNAL PROVIDER;
-- Create a user for a group in Microsoft Entra
CREATE USER [HR] FROM EXTERNAL PROVIDER;
Microsoft Entra hizmet sorumlusu olarak bağlandığınızda veritabanı kullanıcıları oluşturun
Bir uygulama hizmet sorumlusuna sahip bir veritabanına bağlandığında, uygulamanın Microsoft Entra sorumluları için kullanıcı oluşturmak üzere CREATE USER ve TYPE yan tümceleriyle vermesi gerekir. Belirtilen principal adı Microsoft Entra'da doğrulanmadı. Geçerli bir ad, geçerli bir SID ve kullanıcı nesne türü sağlamak uygulamanın (uygulama geliştiricisinin) sorumluluğundadır.
Belirtilen ilke sahibi Microsoft Entra'da bir kullanıcı veya grup ise, SID, Microsoft Entra'daki bu kullanıcı ya da grubun nesne kimliği olmalıdır. Belirtilen sorumlu Microsoft Entra bir hizmet sorumlusuysa, SID Microsoft Entra hizmet sorumlusunun uygulama kimliği (istemci kimliği) olmalıdır. Microsoft Entra'dan alınan nesne kimlikleri ve uygulama kimlikleri (istemci kimlikleri) binary(16)'ya dönüştürülmelidir.
Bağımsız değişkenin TYPE değeri şu olmalıdır:
-
E- Belirtilen Microsoft Entra sorumlusu bir kullanıcı veya hizmet sorumlusuysa. -
X- belirtilen Microsoft Entra ilkesi bir grupsa.
Aşağıdaki T-SQL örnek betiği, Microsoft Entra kullanıcı için bob@contoso.com adlı bir veritabanı kullanıcısı oluşturur ve yeni kullanıcının SID değerini Microsoft Entra kullanıcının nesne kimliğine ayarlar. Kullanıcının nesne kimliğinin benzersiz tanımlayıcısı dönüştürülür ve sonra bir CREATE USER deyimine birleştirilir.
<unique identifier sid> değerini Microsoft Entra kullanıcının nesne kimliğiyle değiştirin.
DECLARE @principal_name SYSNAME = 'bob@contoso.com';
DECLARE @objectId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- user's object ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castObjectId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @objectId), 1);
-- Construct command: CREATE USER [@principal_name] WITH SID = @castObjectId, TYPE = E;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castObjectId + ', TYPE = E;'
EXEC (@cmd);
Aşağıdaki örnek, Microsoft Entra hizmet sorumlusu için HRApp adlı bir veritabanı kullanıcısı oluşturur ve yeni kullanıcının SID'sini Microsoft Entra hizmet sorumlusunun istemci kimliğine ayarlar.
DECLARE @principal_name SYSNAME = 'HRApp';
DECLARE @clientId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- principal's client ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castClientId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @clientId), 1);
-- Construct command: CREATE USER [@principal_name] WITH SID = @castClientId, TYPE = E;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castClientId + ', TYPE = E;'
EXEC (@cmd);
Aşağıdaki örnek, Microsoft Entra grubu için HR adlı bir veritabanı kullanıcısı oluşturur ve yeni kullanıcının SID değerini grubun nesne kimliğine ayarlar.
DECLARE @group_name SYSNAME = 'HR';
DECLARE @objectId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- principal's object ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castObjectId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @objectId), 1);
-- Construct command: CREATE USER [@groupName] WITH SID = @castObjectId, TYPE = X;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @group_name + '] WITH SID = ' + @castObjectId + ', TYPE = X;'
EXEC (@cmd);
Sınırlamalar
- Microsoft Entra ID, Fabric'teki SQL veritabanının desteklediği tek kimlik sağlayıcısıdır. Özellikle, SQL kimlik doğrulaması desteklenmez.
- Oturum açma bilgileri (sunucu sorumluları) desteklenmez.
- Şu anda Microsoft Fabric'da SQL veritabanı için desteklenen tek bağlantı ilkesi Default'dır. Daha fazla bilgi için bkz. Bağlantı ilkesi.