Geheimen voor verificatie beveiligen in Azure Key Vault voor Azure Static Web Apps
Bij het configureren van aangepaste verificatieproviders wilt u mogelijk verbindingsgeheimen opslaan in Azure Key Vault. In dit artikel wordt gedemonstreert hoe u een beheerde identiteit gebruikt om Azure Static Web Apps toegang te verlenen tot Key Vault voor aangepaste verificatiegeheimen.
Notitie
Azure Serverless Functions biedt geen ondersteuning voor directe Key Vault-integratie. Als u Key Vault-integratie met uw beheerde functie-app nodig hebt, moet u Key Vault-toegang implementeren in de code van uw app.
Beveiligingsgeheimen vereisen dat de volgende items aanwezig zijn.
- Maak een door het systeem toegewezen identiteit in uw statische web-app.
- Verdeel de identiteit toegang tot een Key Vault-geheim.
- Verwijs naar het Key Vault-geheim in de instellingen van de Static Web Apps-toepassing.
In dit artikel wordt beschreven hoe u elk van deze items in productie kunt instellen voor bring your own functions-toepassingen.
Key Vault-integratie is niet beschikbaar voor:
- Faseringsversies van uw statische web-app. Key Vault-integratie wordt alleen ondersteund in de productieomgeving.
- Statische web-apps met beheerde functies.
Notitie
Het gebruik van beheerde identiteit is alleen beschikbaar in het Azure Static Web Apps Standard-abonnement.
Vereisten
- Bestaande Azure Static Web Apps-site met bring your own functions.
- Bestaande Key Vault-resource met een geheime waarde.
Identiteit maken
Open uw statische web-apps in Azure Portal.
Selecteer Identiteit onder Instellingen.
Selecteer het tabblad Systeem toegewezen .
Selecteer Aan onder het label Status.
Selecteer Opslaan.
Wanneer het bevestigingsvenster wordt weergegeven, selecteert u Ja.
U kunt nu een toegangsbeleid toevoegen zodat uw statische web-app Key Vault-geheimen kan lezen.
Een Key Vault-toegangsbeleid toevoegen
Open uw Key Vault-resource in Azure Portal.
Selecteer in het menu Instellingen de optie Toegangsbeleid.
Selecteer de koppeling, Toegangsbeleid toevoegen.
Selecteer Ophalen in de vervolgkeuzelijst Geheime machtigingen.
Selecteer naast het label Principal selecteren de geselecteerde koppeling Geen.
Zoek in het zoekvak naar de naam van uw statische web-app.
Selecteer het lijstitem dat overeenkomt met de naam van uw toepassing.
Selecteer Selecteren.
Selecteer Toevoegen.
Selecteer Opslaan.
Het toegangsbeleid wordt nu opgeslagen in Key Vault. Open vervolgens de URI van het geheim om te gebruiken bij het koppelen van uw statische web-app aan de Key Vault-resource.
Selecteer Geheimen in het menu Instellingen.
Selecteer het gewenste geheim in de lijst.
Selecteer de gewenste geheime versie in de lijst.
Selecteer Kopiëren aan het einde van het tekstvak Geheime id om de geheime URI-waarde naar het klembord te kopiëren.
Plak deze waarde in een teksteditor voor later gebruik.
Toepassingsinstelling toevoegen
Open uw Static Web Apps-site in Azure Portal.
Selecteer Configuratie in het menu Instellingen.
Selecteer Toevoegen in de sectie Toepassingsinstellingen.
Voer een naam in het tekstvak voor het veld Naam in.
Bepaal de geheime waarde in het tekstvak voor het veld Waarde .
De geheime waarde is een combinatie van enkele verschillende waarden. In de volgende sjabloon ziet u hoe de uiteindelijke tekenreeks wordt gebouwd.
@Microsoft.KeyVault(SecretUri=<YOUR_KEY_VAULT_SECRET_URI>)
Een uiteindelijke tekenreeks ziet er bijvoorbeeld uit zoals in het volgende voorbeeld:
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)
U kunt ook het volgende doen:
@Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret)
Gebruik de volgende stappen om de volledige geheime waarde te bouwen.
Kopieer de sjabloon van hierboven en plak deze in een teksteditor.
Vervang
<YOUR_KEY_VAULT_SECRET_URI>
door de sleutelkluis-URI-waarde die u eerder hebt gereserveerd.Kopieer de nieuwe volledige tekenreekswaarde.
Plak de waarde in het tekstvak voor het veld Waarde .
Selecteer OK.
Selecteer Opslaan boven aan de werkbalk Toepassingsinstellingen .
Wanneer uw aangepaste verificatieconfiguratie nu verwijst naar de zojuist gemaakte toepassingsinstelling, wordt de waarde geëxtraheerd uit Azure Key Vault met behulp van de identiteit van uw statische web-app.