Övning – Konfigurera autentisering
I den här övningen skapar du inloggningar, användare och administratörer och ger Microsoft Entra-användare åtkomst till databasen, precis som för vanliga användare i SQL Server.
Öppna SQL Server Management Studio (SSMS) och anslut till din logiska Azure SQL Database-server om du inte redan är ansluten.
När du har konfigurerat och anslutit till din databas kan nästa steg vara att lägga till andra användare och ge dem åtkomst. Som i SQL Server kan du lägga till nya inloggningar och användare.
I SSMS högerklickar du på databasservern, väljer Ny fråga och skapar en ny fråga med följande kommando. Välj Kör för att köra frågan:
-- Create a new SQL login and give them a password CREATE LOGIN ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
Dricks
För de flesta frågorna i Azure SQL Database måste du högerklicka på databasen på din logiska Azure SQL Database-server. I SQL Server och Azure SQL Managed Instance kan du fråga på servernivå och använda
USE <DatabaseName>
, men i Azure SQL Database måste du fråga databasen direkt. Detta beror på att instruktionenUSE
inte stöds. Det finns några undantag för att köra frågor mot databasen i Azure SQL Database och ett är inloggningar. Du måste ansluta till den virtuellamaster
databasen för att skapa och ändra inloggningar.Nu har du en inloggning på servernivå. Nästa steg är att skapa användare i
AdventureWorks
databasen och ge dem läs-/skrivåtkomst om det behövs. Högerklicka på databasenAdventureWorks
och välj Ny fråga. Skapa en ny fråga med följande kommando och välj sedan Kör:-- Create a new SQL user from that login CREATE USER ApplicationUser FOR LOGIN ApplicationUser; -- Until you run the following two lines, ApplicationUser has no access to read or write data ALTER ROLE db_datareader ADD MEMBER ApplicationUser; ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
Användare kommer bara att kunna logga in på AdventureWorks-databasen, inte på hela servern.
Bästa praxis är att skapa icke-administratörskonton på databasnivå, såvida inte användarna behöver kunna utföra administratörsuppgifter.
I SQL Server känner du kanske till begreppet oberoende databas. Det innebär att användare bara har åtkomst till specifika databaser och inte har en inloggning till servern. I din Azure SQL Database kan du skapa oberoende databasanvändare med SQL-autentisering eller Microsoft Entra-autentisering. Du måste vara i kontexten för den användardatabas som du vill skapa användaråtkomst till (i stället för att vara i
master
). Högerklicka på databasen i SSMS och välj Ny fråga. Skapa en ny fråga med följande kommando och välj sedan Kör:CREATE USER MyDatabaseUser WITH PASSWORD = 'C0mpl3xPa55word!'
Välj Anslut längst upp till vänster i Objektutforskaren och väljsedan Databasmotor. Konfigurera huvudsidan så att du ansluter till din logiska Azure SQL Database-server. För Inloggning anger du MyDatabaseUser, och för Lösenord anger du C0mpl3xPa55word!.
Du måste även ange databasnamnet, vilket du kan göra genom att gå till Alternativ>Ytterligare anslutningsparametrar, där du kan ange
Initial Catalog=AdventureWorks
. Du måste göra det här manuellt, eftersom MyDatabaseUser inte har åtkomst till att genomsöka servern för att välja en databas.Välj Anslut och bekräfta sedan att du kan komma åt databasen.
Som ett rensningssteg högerklickar du på anslutningen från MyDatabaseUser och väljer sedan Koppla från.
Bevilja åtkomst till andra Microsoft Entra-användare
Du kan skapa inloggningar från Microsoft Entra-konton som en innesluten CREATE USER [anna@contoso.com] FROM EXTERNAL PROVIDER
databasanvändare med hjälp av T-SQL-syntaxen. En innesluten databasanvändare mappar till en identitet i Microsoft Entra-katalogen som är associerad med databasen och har ingen inloggning i master
databasen.
Med introduktionen av Microsoft Entra-serverinloggningar i Azure SQL Database kan du skapa inloggningar från Microsoft Entra-huvudkonton i den virtuella master
databasen för en SQL Database. Du kan skapa Microsoft Entra-inloggningar från Microsoft Entra-användare , grupper och tjänstens huvudnamn. Mer information finns i Microsoft Entra-serverhuvudnamn
Dessutom kan du bara använda Azure Portal för att skapa administratörer och rollbaserade åtkomstkontrollroller i Azure sprids inte till logiska Azure SQL Database-servrar. Du måste bevilja ytterligare server- och databasbehörigheter med hjälp av Transact-SQL (T-SQL).