Leer en inglés

Compartir a través de


Tutorial: Administración de credenciales de servidor flexible en Azure Database for MySQL en Azure Key Vault

Puede almacenar la cadena de conexión del servidor flexible de Azure Database for MySQL en Azure Key Vault para asegurarse de que la información confidencial se administra de forma segura y a la que solo acceden usuarios o aplicaciones autorizados. Además, los cambios en la cadena de conexión se pueden actualizar fácilmente en el Key Vault sin modificar el código de la aplicación.

Prerrequisitos

  • Necesita una suscripción de Azure. Si todavía no tiene una suscripción, cree una cuenta gratuita antes de empezar.
  • Todo acceso a los secretos tiene lugar a través de Azure Key Vault. Para este inicio rápido, cree un almacén de claves mediante Azure Portal, la CLI de Azure o Azure PowerShell. Asegúrese de que tiene los permisos necesarios para administrar y acceder al Key Vault.
  • Instale .NET, Java, PHP o Python en función del marco que usa para la aplicación.

Incorporación de un secreto a Key Vault

Para agregar un secreto al almacén, siga estos pasos:

  1. Vaya al nuevo almacén de claves en Azure Portal.
  2. En las páginas de configuración de Key Vault, seleccione Secretos.
  3. Seleccione Generar/Importar.
  4. En la página Crear un secreto, proporcione la información siguiente:
    • Opciones de carga: Manual.
    • Name: Escriba un nombre para el secreto. El nombre del secreto debe ser único en Key Vault. El nombre debe ser una cadena de entre 1 y 127 caracteres que solo contenga 0-9, a-z, A-Z y -. Para más información sobre la nomenclatura, consulte Objetos, identificadores y control de versiones de Key Vault.
    • Valor: Escriba un valor para el secreto. Las API de Key Vault aceptan y devuelven los valores de secreto como cadenas.
    • Deje las restantes opciones con sus valores predeterminados. Seleccione Crear.

Una vez que reciba el mensaje que el secreto se ha creado correctamente, puede seleccionarlo en la lista.

Para obtener más información, consulte Acerca de los secretos de Azure Key Vault

Configuración de directivas de acceso

En la configuración de Key Vault, configure las directivas de acceso adecuadas para conceder acceso a los usuarios o aplicaciones que necesitan recuperar la cadena de conexión del servidor flexible de Azure Database for MySQL desde Key Vault. Asegúrese de que se conceden los permisos necesarios para las operaciones "Get" en secretos.

  1. En Azure Portal, vaya al recurso Key Vault.
  2. Seleccione Directivas de acceso y, luego, Crear.
  3. Seleccione los permisos que quiera en Permisos de las claves, Permisos de los secretos y Permisos de los certificados.
  4. En el panel de selección Principal, escriba el nombre del usuario, la aplicación o entidad de servicio en el campo de búsqueda y seleccione el resultado adecuado. Si usa una identidad administrada para la aplicación, busque y seleccione el nombre de la propia aplicación
  5. Revise los cambios de la directiva de acceso y seleccione Crear para guardar la directiva de acceso.
  6. De nuevo en la página Directivas de acceso, compruebe que aparece la directiva de acceso.

Recuperar la cadena de conexión del servidor flexible de Azure Database for MySQL

En la aplicación o script, use el SDK o las bibliotecas cliente de Azure Key Vault para autenticar y recuperar la cadena de conexión del servidor flexible de Azure Database for MySQL desde Key Vault. Debe proporcionar las credenciales de autenticación adecuadas y los permisos de acceso para acceder al Key Vault. Una vez que haya recuperado la cadena de conexión del servidor flexible de Azure Database for MySQL desde Azure Key Vault, puede usarla en la aplicación para establecer una conexión a la base de datos del servidor flexible de Azure Database for MySQL. Pase la cadena de conexión recuperada como parámetro al código de conexión de la base de datos.

Ejemplos de código para recuperar la cadena de conexión

Estos son algunos ejemplos de código para recuperar la cadena de conexión del secreto del almacén de claves.

En este código, usamos el SDK de Azure para .NET. Definimos el URI de nuestro Key Vault y el nombre del secreto (cadena de conexión) que queremos recuperar. A continuación, creamos un nuevo objeto DefaultAzureCredential, que representa la información de autenticación de la aplicación para acceder al Key Vault.

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

Paso siguiente