Delen via


Zelfstudie: Azure Database for MySQL - Flexibele serverreferenties beheren in Azure Key Vault

VAN TOEPASSING OP: Azure Database for MySQL - Flexibele server

U kunt de flexibele Azure Database for MySQL-server opslaan verbindingsreeks in Azure Key Vault om ervoor te zorgen dat gevoelige informatie veilig wordt beheerd en alleen toegankelijk is voor geautoriseerde gebruikers of toepassingen. Daarnaast kunnen eventuele wijzigingen in de verbindingsreeks eenvoudig worden bijgewerkt in Key Vault zonder de toepassingscode te wijzigen.

Vereisten

  • U hebt een Azure-abonnement nodig. Als u nog geen abonnement hebt, maakt u een gratis account voordat u begint.
  • Alle toegang tot geheimen vindt plaats via Azure Key Vault. Voor deze snelstart gaat u een sleutelkluis maken met de Azure Portal, Azure CLI of Azure PowerShell. Zorg ervoor dat u over de benodigde machtigingen beschikt om de Sleutelkluis te beheren en te openen.
  • Installeer .NET of Java of PHP of Python op basis van het framework dat u voor uw toepassing gebruikt.

Een geheim toevoegen aan Key Vault

Volg de stappen om een geheim toe te voegen aan de kluis:

  1. Navigeer in het Azure Portal naar uw nieuwe sleutelkluis.
  2. Selecteer op de Key Vault-instellingspagina Geheimen.
  3. Selecteer Genereren/Importeren.
  4. Geef op de pagina Een geheim maken de volgende informatie op:
    • Uploadopties: Handmatig.
    • Naam: Typ een naam voor het geheim. De geheime naam moet uniek zijn binnen een Key Vault. De naam moet een reeks van 1-127 tekens zijn die begint met een letter en alleen 0-9, a-z, A-Z en - bevat. Zie voor meer informatie over naamgeving Key Vault-objecten, -id's en -versiebeheer
    • Waarde: Typ een waarde voor het geheim. Key Vault-API's accepteert en retourneert waarden als tekenreeksen.
    • Houd voor de overige waarden de standaardwaarden aan. Selecteer Maken.

Zodra u het bericht ontvangt dat het geheim is gemaakt, kunt u dit selecteren in de lijst.

Zie Voor meer informatie over Azure Key Vault-geheimen

Toegangsbeleid configureren

Configureer in de Key Vault-instellingen het juiste toegangsbeleid om toegang te verlenen aan de gebruikers of toepassingen die de flexibele Azure Database for MySQL-server moeten ophalen verbindingsreeks uit de Key Vault. Zorg ervoor dat de benodigde machtigingen worden verleend voor 'Get'-bewerkingen voor geheimen.

  1. Navigeer in Azure Portal naar de Key Vault-resource.
  2. Selecteer Toegangsbeleid en selecteer vervolgens Maken.
  3. Selecteer de gewenste machtigingen onder Sleutelmachtigingen, Geheime machtigingen en Certificaatmachtigingen.
  4. Voer in het selectiedeelvenster Principal de naam in van de gebruiker, app of service-principal in het zoekveld en selecteer het juiste resultaat. Als u een beheerde identiteit voor de app gebruikt, zoekt en selecteert u de naam van de app zelf.
  5. Controleer de wijzigingen in het toegangsbeleid en selecteer Maken om het toegangsbeleid op te slaan.
  6. Controleer op de pagina Toegangsbeleid of uw toegangsbeleid wordt vermeld.

De flexibele Azure Database for MySQL-server ophalen verbindingsreeks

Gebruik in uw toepassing of script de Azure Key Vault SDK of clientbibliotheken om de flexibele Azure Database for MySQL-server te verifiëren en op te halen verbindingsreeks uit Key Vault. U moet de juiste verificatiereferenties en toegangsmachtigingen opgeven voor toegang tot de Key Vault. Zodra u de flexibele Azure Database for MySQL-server hebt opgehaald verbindingsreeks uit Azure Key Vault, kunt u deze in uw toepassing gebruiken om een verbinding tot stand te brengen met de flexibele Azure Database for MySQL-serverdatabase. Geef de opgehaalde verbindingsreeks door als parameter aan uw databaseverbindingscode.

Codevoorbeelden voor het ophalen van verbindingsreeks

Hier volgen enkele codevoorbeelden om de verbindingsreeks op te halen uit het sleutelkluisgeheim.

In deze code gebruiken we Azure SDK voor .NET. We definiëren de URI van onze Sleutelkluis en de naam van het geheim (verbindingsreeks) die we willen ophalen. Vervolgens maken we een nieuw DefaultAzureCredential-object, dat de verificatiegegevens voor onze toepassing vertegenwoordigt voor toegang tot de Key Vault.

using System;
using System.Threading.Tasks;
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;

namespace KeyVaultDemo
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var kvUri = "https://my-key-vault.vault.azure.net/";
            var secretName = "my-db-conn-string";
            
            var credential = new DefaultAzureCredential();
            var client = new SecretClient(new Uri(kvUri), credential);

            var secret = await client.GetSecretAsync(secretName);
            var connString = secret.Value;

            Console.WriteLine($"Connection string retrieved: {connString}");
        }
    }
}

Volgende stappen

Azure Key Vault-clientbibliotheken