Dela via


Säker anslutning till Azure-tjänster och -databaser från Azure App Service

Din apptjänst kan behöva ansluta till andra Azure-tjänster, till exempel en databas, lagring eller en annan app. Den här översikten rekommenderar olika metoder för att ansluta och när de ska användas.

Idag är beslutet om en anslutningsmetod nära relaterat till hantering av hemligheter. Det vanliga mönstret för att använda anslutningshemligheter i anslutningssträng, till exempel användarnamn och lösenord, hemlig nyckel osv. anses inte längre vara den säkraste metoden för anslutning. Risken är ännu högre idag eftersom hotaktörer regelbundet crawlar offentliga GitHub-lagringsplatser för oavsiktligt bekräftade anslutningshemligheter. För molnprogram är det bästa sättet att hantera hemligheter att inte ha några hemligheter alls. När du migrerar till Azure App Service kan din app börja med hemlighetsbaserad anslutning, och Med App Service kan du skydda hemligheter. Azure kan dock skydda appens serverdelsanslutning via Microsoft Entra-autentisering, vilket eliminerar hemligheter helt och hållet i din app.

Anslutningsmetod Användningsområde för
Ansluta med en appidentitet * Du vill ta bort autentiseringsuppgifter, nycklar eller hemligheter helt från ditt program.
* Den underordnade Azure-tjänsten stöder Microsoft Entra-autentisering, till exempel Microsoft Graph.
* Den underordnade resursen behöver inte känna till den aktuella inloggade användaren eller behöver inte detaljerad auktorisering av den aktuella inloggade användaren.
Ansluta för den inloggade användarens räkning * Appen måste komma åt en underordnad resurs för den inloggade användarens räkning.
* Den underordnade Azure-tjänsten stöder Microsoft Entra-autentisering, till exempel Microsoft Graph.
* Den underordnade resursen måste utföra detaljerad auktorisering av den aktuella inloggade användaren.
Ansluta med hemligheter * Den underordnade resursen kräver anslutningshemligheter.
* Din app ansluter till icke-Azure-tjänster, till exempel en lokal databasserver.
* Den underordnade Azure-tjänsten stöder inte Microsoft Entra-autentisering ännu.

Ansluta med en appidentitet

Om din app redan använder en enda uppsättning autentiseringsuppgifter för att komma åt en underordnad Azure-tjänst kan du snabbt konvertera anslutningen till att använda en appidentitet i stället. Med en hanterad identitet från Microsoft Entra-ID kan App Service komma åt resurser utan hemligheter, och du kan hantera dess åtkomst via rollbaserad åtkomstkontroll (RBAC). En hanterad identitet kan ansluta till alla Azure-resurser som stöder Microsoft Entra-autentisering, och autentiseringen sker med kortlivade token.

Följande bild visar följande en App Service-anslutning till andra Azure-tjänster:

  • S: Användaren besöker Azure App Service-webbplatsen.
  • B: Anslut säkert från App Service till en annan Azure-tjänst med hjälp av en hanterad identitet.
  • C: Anslut säkert från App Service till Microsoft Graph med hjälp av en hanterad identitet.

Diagram som visar hanterad identitet som har åtkomst till en resurs med eller utan användarens identitet.

Exempel på hur du använder programhemligheter för att ansluta till en databas:

Ansluta för den inloggade användarens räkning

Din app kan behöva ansluta till en underordnad tjänst för den inloggade användarens räkning. Med App Service kan du enkelt autentisera användare med hjälp av de vanligaste identitetsprovidrar (se Autentisering och auktorisering i Azure App Service och Azure Functions). Om du använder Microsoft-providern (Microsoft Entra-autentisering) kan du sedan skicka den inloggade användaren till valfri underordnad tjänst. Till exempel:

  • Kör en databasfråga som returnerar konfidentiella data som den inloggade användaren har behörighet att läsa.
  • Hämta personliga data eller vidta åtgärder som inloggad användare i Microsoft Graph.

Följande bild visar ett program som på ett säkert sätt kommer åt en SQL-databas för den inloggade användarens räkning.

Arkitekturdiagram för självstudiescenario.

Några vanliga scenarier är:

Ansluta med hemligheter

Det finns två rekommenderade sätt att använda hemligheter i din app: använda hemligheter som lagras i Azure Key Vault eller hemligheter i App Service-appinställningar.

Använda hemligheter från Key Vault

Azure Key Vault kan användas för att lagra hemligheter och nycklar på ett säkert sätt, övervaka åtkomst och användning av hemligheter och förenkla administrationen av programhemligheter. Om den underordnade tjänsten inte stöder Microsoft Entra-autentisering eller kräver en anslutningssträng eller nyckel använder du Key Vault för att lagra dina hemligheter och ansluta din app till Key Vault med en hanterad identitet och hämta hemligheterna. Din app kan komma åt nyckelvalvshemligheter som Key Vault-referenser i appinställningarna.

Fördelarna med hanterade identiteter som är integrerade med Key Vault är:

  • Åtkomsten till nyckelvalvshemligheten är begränsad till appen.
  • Appdeltagare, till exempel administratörer, kan ha fullständig kontroll över App Service-resurserna och har samtidigt ingen åtkomst till key vault-hemligheterna.
  • Ingen kodändring krävs om programkoden redan har åtkomst till anslutningshemligheter med appinställningar.
  • Key Vault tillhandahåller övervakning och granskning av vem som har åtkomst till hemligheter.
  • Rotation av nyckelvalvshemligheter kräver inga ändringar i App Service.

Följande bild visar hur App Service ansluter till Key Vault med hjälp av en hanterad identitet och sedan får åtkomst till en Azure-tjänst med hemligheter som lagras i Key Vault:

Diagram som visar apptjänsten med hjälp av en hemlighet som lagras i Key Vault och hanteras med hanterad identitet för att ansluta till Azure AI-tjänster.

Använda hemligheter i appinställningar

För appar som ansluter till tjänster med hemligheter (till exempel användarnamn, lösenord och API-nycklar) kan App Service lagra dem på ett säkert sätt i appinställningarna. Dessa hemligheter matas in i programkoden som miljövariabler vid appstart. Appinställningar krypteras alltid när de lagras (krypterade i vila). Om du vill ha mer avancerad hantering av hemligheter, till exempel rotation av hemligheter, åtkomstprinciper och granskningshistorik, kan du prova att använda Key Vault.

Exempel på hur du använder programhemligheter för att ansluta till en databas:

Nästa steg

Lär dig att: