Aktivera databasautentisering med hjälp av Microsoft Entra-ID

Slutförd

Två komponenter i varje säker databas är autentisering och auktorisering.

Autentisering är en process där användare bevisar sin identitet. En användare ansluter till en databas med ett användarkonto. När en användare försöker ansluta till en databas anger de ett användarkonto och autentiseringsinformation. Användaren autentiseras med någon av följande två autentiseringsmetoder:

  • SQL-autentisering – Med den här autentiseringsmetoden skickar användaren ett användarnamn och tillhörande lösenord för att upprätta en anslutning. Det här lösenordet lagras i huvuddatabasen för användarkonton som är länkade till en inloggning eller lagras i databasen som innehåller de användarkonton som inte är länkade till någon inloggning.
  • Microsoft Entra-autentisering – Med den här autentiseringsmetoden skickar användaren ett användarnamn och begär att tjänsten använder autentiseringsinformationen som lagras i Microsoft Entra-ID.

Du kan skapa användarkonton i huvuddatabasen och bevilja behörigheter i alla databaser på servern, eller så kan du skapa dem i själva databasen (kallas inneslutna databasanvändare). Genom att använda inneslutna databaser får du förbättrad portabilitet och skalbarhet.

Inloggningar och användare: I Azure SQL kan ett användarkonto i en databas associeras med en inloggning som lagras i huvuddatabasen eller vara ett användarnamn som lagras i en enskild databas.

  • En inloggning är ett enskilt konto i huvuddatabasen, till vilket ett användarkonto i en eller flera databaser kan länkas. Med en inloggning lagras autentiseringsuppgifterna för användarkontot med inloggningen.
  • Ett användarkonto är ett enskilt konto i en databas som kan vara men inte behöver länkas till en inloggning. Med ett användarkonto som inte är länkat till en inloggning lagras autentiseringsinformation med användarkontot.

Behörighet att komma åt data och utföra olika åtgärder hanteras med hjälp av databasroller och explicita behörigheter. Auktorisering refererar till de behörigheter som tilldelats en användare och avgör vad användaren får göra. Auktoriseringen styrs av användarkontots rollmedlemskap för databasen och behörigheter på objektnivå. Ett bra tips är att du ska ge användare så få behörigheter som möjligt. Som bästa praxis bör ditt program använda ett dedikerat konto för autentisering. På så vis kan du begränsa programmets behörigheter och minska riskerna för skadlig aktivitet om din programkod skulle vara sårbar för ett SQL-inmatningsangrepp. Den rekommenderade metoden är att skapa en användare av oberoende databas, vilket gör att din app kan autentisera direkt till databasen.

Befintliga inloggningar och användarkonton efter att du har skapat en ny databas

När du först distribuerar Azure SQL kan du ange ett inloggningsnamn och ett lösenord för en särskild typ av administrativ inloggning, serveradministratören. Följande konfiguration av inloggningar och användare i huvuddatabaserna och användardatabaserna sker under distributionen:

  • En SQL-inloggning med administratörsbehörighet skapas med det inloggningsnamn som du angav. En inloggning är ett enskilt konto för att logga in på SQL Database, SQL Managed Instance och Azure Synapse.
  • Den här inloggningen beviljas fullständiga administrativa behörigheter för alla databaser som huvudnamn på servernivå. Inloggningen har alla tillgängliga behörigheter och kan inte begränsas. I en SQL Managed Instance läggs den här inloggningen till i den fasta serverrollen sysadmin (den här rollen finns inte i Azure SQL Database).
  • När det här kontot loggar in på en databas matchas de med det särskilda användarkontot dbo (användarkontot, som finns i varje användardatabas. Dbo-användaren har alla databasbehörigheter i databasen och är medlem i den fasta databasrollendb_owner.

Om du vill identifiera serveradministratörskontot för en logisk server öppnar du Azure-portalen och går till fliken Egenskaper för servern eller den hanterade instansen.

Namnet på serveradministratörskontot kan inte ändras när det har skapats. Om du vill återställa lösenordet för serveradministratören går du till Azure-portalen, klickar på SQL-servrar, väljer servern i listan och klickar sedan på Återställ lösenord. Om du vill återställa lösenordet för SQL Managed Instance går du till Azure-portalen, klickar på instansen och klickar på Återställ lösenord. Du kan också använda PowerShell eller Azure CLI.