Condividi tramite


Esercitazione: Gestire Database di Azure per MySQL - Credenziali del server flessibile in Azure Key Vault

È possibile archiviare il server flessibile Database di Azure per MySQL stringa di connessione in Azure Key Vault per garantire che le informazioni riservate vengano gestite in modo sicuro e accessibili solo da utenti o applicazioni autorizzati. Inoltre, tutte le modifiche apportate al stringa di connessione possono essere facilmente aggiornate nell'insieme di credenziali delle chiavi senza modificare il codice dell'applicazione.

Prerequisiti

  • È necessaria una sottoscrizione di Azure. Se non si ha già una sottoscrizione, creare un account gratuito prima di iniziare.
  • L'accesso ai segreti avviene interamente tramite Azure Key Vault. Per questa guida di avvio rapido, creare un insieme di credenziali delle chiavi usando il portale di Azure, l'interfaccia della riga di comando di Azure o Azure PowerShell. Assicurarsi di disporre delle autorizzazioni necessarie per gestire e accedere all'insieme di credenziali delle chiavi.
  • Installare .NET o Java o PHP o Python in base al framework usato per l'applicazione.

Aggiungere un segreto all'istanza di Key Vault

Per aggiungere un segreto all'insieme di credenziali, seguire questa procedura:

  1. Nel portale di Azure passare al nuovo insieme di credenziali delle chiavi.
  2. Nella pagina di impostazioni di Key Vault selezionare Segreti.
  3. Seleziona Genera/Importa.
  4. Nella pagina Crea un segreto specificare le informazioni seguenti:
    • Opzioni di caricamento: manuali.
    • Nome: digitare un nome per il segreto. Il nome del segreto deve essere univoco all'interno di un'istanza di Key Vault. Il nome deve essere costituito da una stringa di lunghezza compresa tra 1 e 127 caratteri, che inizia con una lettera e contiene solo i numeri 0-9, i caratteri a-z e A-Z e il trattino -. Per altre informazioni sulla denominazione, vedere Oggetti, identificatori e controllo delle versioni di Key Vault
    • Valore: digitare un valore per il segreto. Le API di Key Vault accettano e restituiscono i valori dei segreti sotto forma di stringhe.
    • Lasciare invariati gli altri valori predefiniti. Selezionare Crea.

Dopo aver ricevuto il messaggio che indica che il segreto è stato creato correttamente, è possibile selezionarlo nell'elenco.

Per altre informazioni, vedere Informazioni sui segreti di Azure Key Vault

Configura criteri di accesso

Nelle impostazioni di Key Vault configurare i criteri di accesso appropriati per concedere l'accesso agli utenti o alle applicazioni che devono recuperare il Database di Azure per MySQL server flessibile stringa di connessione dall'insieme di credenziali delle chiavi. Assicurarsi che vengano concesse le autorizzazioni necessarie per le operazioni "Get" sui segreti.

  1. Nel portale di Azure passare alla risorsa Key Vault.
  2. Selezionare Criteri di accesso, poi selezionare Creare.
  3. Selezionare le autorizzazioni desiderate in Autorizzazioni delle chiavi, Autorizzazioni dei segreti e Autorizzazioni del certificato.
  4. Nel riquadro di selezione Entità di sicurezza immettere il nome dell'utente, dell'app o dell'entità servizio nel campo di ricerca e selezionare il risultato appropriato. Se si usa un'identità gestita per l'app, cercare e selezionare il nome dell'app stessa.
  5. Esaminare le modifiche al criterio di accesso e selezionare Crea per salvarlo.
  6. Tornando alla pagina Criteri di accesso, verificare che il criterio di accesso sia elencato.

Recuperare l'stringa di connessione server flessibile Database di Azure per MySQL

Nell'applicazione o nello script usare Azure Key Vault SDK o le librerie client per autenticare e recuperare il server flessibile Database di Azure per MySQL stringa di connessione dall'insieme di credenziali delle chiavi. È necessario fornire le credenziali di autenticazione appropriate e le autorizzazioni di accesso per accedere all'insieme di credenziali delle chiavi. Dopo aver recuperato il Database di Azure per MySQL server flessibile stringa di connessione da Azure Key Vault, è possibile usarlo nell'applicazione per stabilire una connessione al database del server flessibile Database di Azure per MySQL. Passare il stringa di connessione recuperato come parametro al codice di connessione del database.

Esempi di codice per recuperare stringa di connessione

Ecco alcuni esempi di codice per recuperare il stringa di connessione dal segreto dell'insieme di credenziali delle chiavi.

In questo codice si usa Azure SDK per .NET. Si definisce l'URI dell'insieme di credenziali delle chiavi e il nome del segreto (stringa di connessione) da recuperare. Viene quindi creato un nuovo oggetto DefaultAzureCredential, che rappresenta le informazioni di autenticazione per l'applicazione per accedere all'insieme di credenziali delle chiavi.

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}");
        }
    }
}

Passaggio successivo