Delen via


Connectiviteit met Azure-services en -databases beveiligen vanuit Azure-app Service

Uw App Service moet mogelijk verbinding maken met andere Azure-services, zoals een database, opslag of een andere app. In dit overzicht worden verschillende methoden aanbevolen om verbinding te maken en wanneer ze moeten worden gebruikt.

Vandaag de dag is de beslissing voor een connectiviteitsbenadering nauw gerelateerd aan geheimenbeheer. Het algemene patroon van het gebruik van verbindingsgeheimen in verbindingsreeks s, zoals gebruikersnaam en wachtwoord, geheime sleutel, enzovoort, wordt niet langer beschouwd als de veiligste benadering voor connectiviteit. Het risico is vandaag nog hoger omdat bedreigingsactoren regelmatig openbare GitHub-opslagplaatsen verkennen voor per ongeluk doorgevoerde verbindingsgeheimen. Voor cloudtoepassingen is het beste geheimenbeheer helemaal geen geheimen. Wanneer u migreert naar Azure-app Service, kan uw app beginnen met connectiviteit op basis van geheimen en kunt u met App Service geheimen veilig bewaren. Azure kan echter helpen bij het beveiligen van de back-endconnectiviteit van uw app via Microsoft Entra-verificatie, waardoor geheimen helemaal in uw app worden geëlimineerd.

Verbindingsmethode Wanneer gebruiken
Verbinding maken met een app-identiteit * U wilt referenties, sleutels of geheimen volledig uit uw toepassing verwijderen.
* De downstream Azure-service ondersteunt Microsoft Entra-verificatie, zoals Microsoft Graph.
* De downstreamresource hoeft de huidige aangemelde gebruiker niet te kennen of heeft geen gedetailleerde autorisatie van de huidige aangemelde gebruiker nodig.
Verbinding maken namens de aangemelde gebruiker * De app moet namens de aangemelde gebruiker toegang hebben tot een downstreamresource.
* De downstream Azure-service ondersteunt Microsoft Entra-verificatie, zoals Microsoft Graph.
* De downstreamresource moet gedetailleerde autorisatie uitvoeren van de huidige aangemelde gebruiker.
Verbinding maken met behulp van geheimen * Voor de downstreamresource zijn verbindingsgeheimen vereist.
* Uw app maakt verbinding met niet-Azure-services, zoals een on-premises databaseserver.
* De downstream Azure-service biedt nog geen ondersteuning voor Microsoft Entra-verificatie.

Verbinding maken met een app-identiteit

Als uw app al één set referenties gebruikt voor toegang tot een downstream Azure-service, kunt u de verbinding snel converteren om een app-identiteit te gebruiken. Met een beheerde identiteit van Microsoft Entra ID heeft App Service toegang tot resources zonder geheimen en kunt u de toegang beheren via op rollen gebaseerd toegangsbeheer (RBAC). Een beheerde identiteit kan verbinding maken met elke Azure-resource die Ondersteuning biedt voor Microsoft Entra-verificatie en de verificatie vindt plaats met kortstondige tokens.

In de volgende afbeelding ziet u hoe een App Service verbinding maakt met andere Azure-services:

  • A: Gebruikers bezoeken de Website van Azure App Service.
  • B: Maak veilig verbinding tussen App Service en een andere Azure-service met behulp van een beheerde identiteit.
  • C: Veilig verbinding maken vanuit App Service met Microsoft Graph met behulp van een beheerde identiteit.

Diagram met beheerde identiteit die toegang heeft tot een resource met of zonder de identiteit van de gebruiker.

Voorbeelden van het gebruik van toepassingsgeheimen om verbinding te maken met een database:

Verbinding maken namens de aangemelde gebruiker

Mogelijk moet uw app verbinding maken met een downstreamservice namens de aangemelde gebruiker. Met App Service kunt u eenvoudig gebruikers verifiëren met behulp van de meest voorkomende id-providers (zie Verificatie en autorisatie in Azure-app Service en Azure Functions). Als u de Microsoft-provider (Microsoft Entra-verificatie) gebruikt, kunt u de aangemelde gebruiker doorschakelen naar een downstreamservice. Voorbeeld:

  • Voer een databasequery uit die vertrouwelijke gegevens retourneert die de aangemelde gebruiker mag lezen.
  • Persoonlijke gegevens ophalen of acties ondernemen als aangemelde gebruiker in Microsoft Graph.

In de volgende afbeelding ziet u een toepassing die veilig toegang heeft tot een SQL-database namens de aangemelde gebruiker.

Architectuurdiagram voor het zelfstudiescenario.

Enkele veelvoorkomende scenario's zijn:

Verbinding maken met behulp van geheimen

Er zijn twee aanbevolen manieren om geheimen in uw app te gebruiken: het gebruik van geheimen die zijn opgeslagen in Azure Key Vault of geheimen in app-instellingen van App Service.

Geheimen uit Key Vault gebruiken

Azure Key Vault kan worden gebruikt om geheimen en sleutels veilig op te slaan, de toegang en het gebruik van geheimen te bewaken en het beheer van toepassingsgeheimen te vereenvoudigen. Als de downstreamservice geen ondersteuning biedt voor Microsoft Entra-verificatie of een verbindingsreeks of sleutel vereist, gebruikt u Key Vault om uw geheimen op te slaan en uw app te verbinden met Key Vault met een beheerde identiteit en de geheimen op te halen. Uw app heeft toegang tot sleutelkluisgeheimen als Key Vault-verwijzingen in de app-instellingen.

Voordelen van beheerde identiteiten die zijn geïntegreerd met Key Vault zijn onder andere:

  • Toegang tot het sleutelkluisgeheim is beperkt tot de app.
  • App-inzenders, zoals beheerders, hebben mogelijk volledige controle over de App Service-resources en hebben tegelijkertijd geen toegang tot de sleutelkluisgeheimen.
  • Er is geen codewijziging vereist als uw toepassingscode al toegang heeft tot verbindingsgeheimen met app-instellingen.
  • Key Vault biedt bewaking en controle van wie toegang heeft tot geheimen.
  • Voor het rouleren van sleutelkluisgeheimen zijn geen wijzigingen in App Service vereist.

In de volgende afbeelding ziet u hoe App Service verbinding maakt met Key Vault met behulp van een beheerde identiteit en vervolgens toegang krijgt tot een Azure-service met behulp van geheimen die zijn opgeslagen in Key Vault:

Diagram van app-service met behulp van een geheim dat is opgeslagen in Key Vault en wordt beheerd met beheerde identiteit om verbinding te maken met Azure AI-services.

Geheimen gebruiken in app-instellingen

Voor apps die verbinding maken met services met behulp van geheimen (zoals gebruikersnamen, wachtwoorden en API-sleutels), kan App Service deze veilig opslaan in app-instellingen. Deze geheimen worden toegevoegd aan uw toepassingscode als omgevingsvariabelen bij het opstarten van de app. App-instellingen worden altijd versleuteld wanneer ze worden opgeslagen (versleuteld-at-rest). Voor geavanceerder geheimenbeheer, zoals het rouleren van geheimen, toegangsbeleid en controlegeschiedenis, kunt u Key Vault gebruiken.

Voorbeelden van het gebruik van toepassingsgeheimen om verbinding te maken met een database:

Volgende stappen

Leer hoe u het volgende doet: