Tutorial: Uso de referencias de Key Vault en una aplicación de Python

En este tutorial, aprenderá a implementar referencias de Key Vault en una aplicación de Python mediante App Configuration. Se basa en la aplicación web introducida en el inicio rápido. Antes de continuar, complete primero Crear una aplicación de Python con App Configuration.

En este tutorial aprenderá a:

  • Crear una clave de App Configuration que hace referencia a un valor almacenado en Key Vault.
  • Acceda al valor de esta clave desde una aplicación de Python.

Prerrequisitos

Crear una bóveda de claves

  1. Inicie sesión en Azure Portal y seleccione Crear un recurso.

  2. En el cuadro de búsqueda, escriba Key Vault. En la lista de resultados, seleccione Key Vault.

  3. En la página Key Vault , seleccione Crear.

  4. En la página Crear un almacén de claves , escriba la siguiente información:

    • En Suscripción: seleccione una suscripción.
    • En Grupo de recursos: escriba el nombre de un grupo de recursos existente o seleccione Crear nuevo y escriba un nombre de grupo de recursos.
    • En Nombre del almacén de claves: escriba un nombre único.
    • En Región: seleccione una ubicación.
  5. Para las otras opciones, use los valores predeterminados.

  6. Selecciona Revisar + crear.

  7. Una vez que el sistema valide y muestre las entradas, seleccione Crear.

En este momento, su cuenta de Azure es la única autorizada para acceder a esta nueva bóveda.

Añadir un secreto a Key Vault

Agregue un secreto al almacén para probar la recuperación desde Key Vault. El secreto se denomina Message y su valor es "Hello from Key Vault".

  1. En el menú de recursos de Key Vault, seleccione Secretos de objetos>.

  2. Seleccione Generar o importar.

  3. En el cuadro de diálogo Crear un secreto , escriba los valores siguientes:

    • En Opciones de carga: escriba Manual.
    • En Nombre: escriba el mensaje.
    • En Valor secreto: escriba Hola desde Key Vault.
  4. Para las otras opciones, use los valores predeterminados.

  5. Selecciona Crear.

Incorporación de una referencia de Key Vault a App Configuration

  1. Inicie sesión en Azure Portal. Seleccione Todos los recursos y, a continuación, seleccione el almacén de App Configuration.

  2. Seleccione Explorador de configuración.

  3. Seleccione + Crear>Referencia del almacén de claves y, a continuación, especifique los valores siguientes:

    • Clave: escriba TestApp:Settings:KeyVaultMessage.
    • Etiqueta: deje este valor en blanco.
    • Suscripción, grupo de recursos y Almacén de claves: escriba los valores correspondientes al almacén de claves que creó en la sección anterior.
    • Secreto: seleccione el secreto llamado Message que creó en la sección anterior.

Concede acceso de tu aplicación a Key Vault

La aplicación usa DefaultAzureCredential para autenticarse tanto en App Configuration como en Key Vault. Esta credencial funciona automáticamente con identidades administradas en Azure y con sus credenciales de desarrollador localmente.

  1. Conceda a la identidad acceso a Key Vault. Asigne el rol De usuario secretos de Key Vault a su cuenta de usuario o identidad administrada:

    az role assignment create --role "Key Vault Secrets User" --scope /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.KeyVault/vaults/<KeyVaultName> --assignee <AzureAdUserOrManagedIdentity>
    
  2. Conceda acceso a su identidad en App Configuration. Asigne el rol App Configuration Data Reader:

    az role assignment create --role "App Configuration Data Reader" --scope /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.AppConfiguration/configurationStores/<AppConfigurationStoreName> --assignee <AzureAdUserOrManagedIdentity>
    

Actualización del código para usar una referencia de Key Vault

  1. Instale los paquetes necesarios mediante la ejecución del comando siguiente:

    pip install azure-appconfiguration-provider azure-identity
    
  2. Cree una variable de entorno denominada AZURE_APPCONFIG_ENDPOINT. Establezca su valor en el punto de conexión del almacén de App Configuration. Puede encontrar el punto de conexión en la pestaña Información general en el portal de Azure.

    setx AZURE_APPCONFIG_ENDPOINT "endpoint-of-your-app-configuration-store"
    

    Reinicie el símbolo del sistema para permitir que el cambio surta efecto.

  3. Actualice el archivo de aplicación de Python para cargar las referencias de Key Vault. Cree o actualice un archivo denominado app.py:

    from azure.appconfiguration.provider import load
    from azure.identity import DefaultAzureCredential
    import os
    
    endpoint = os.environ.get("AZURE_APPCONFIG_ENDPOINT")
    credential = DefaultAzureCredential()
    
    # Connect to Azure App Configuration and resolve Key Vault references.
    config = load(
        endpoint=endpoint,
        credential=credential,
        keyvault_credential=credential,
    )
    
    # Access configuration values, including resolved Key Vault references.
    print(config["TestApp:Settings:KeyVaultMessage"])
    

    El keyvault_credential parámetro indica al proveedor que use la credencial especificada al resolver las referencias de Key Vault. La misma DefaultAzureCredential instancia se usa para la autenticación de App Configuration y Key Vault.

    Nota:

    Si las referencias de Key Vault apuntan a varios almacenes de claves que requieren credenciales diferentes, puede usar el keyvault_client_configs parámetro en su lugar para proporcionar credenciales por almacén. Para obtener más información, consulte la referencia del proveedor de Python.

  4. Ejecute la aplicación:

    python app.py
    

    Verá el mensaje que introdujo en App Configuration. También verá el mensaje que escribió en Key Vault, resuelto mediante la referencia de Key Vault.

Limpieza de recursos

Si no quiere seguir usando los recursos que se han creado en este artículo, elimine el grupo de recursos que creó aquí para evitar cargos.

Importante

La eliminación de un grupo de recursos es irreversible. El grupo de recursos y todos los recursos que contiene se eliminan permanentemente. Asegúrese de que no elimina por accidente el grupo de recursos o los recursos equivocados. Si creó los recursos para este artículo en un grupo de recursos que contenga los recursos que desee conservar, elimine cada recurso de forma individual desde su panel respectivo, en lugar de eliminar el grupo de recursos.

  1. Inicie sesión en el portal Azure y seleccione Grupos de recursos.
  2. En el cuadro de texto Filtrar por nombre, escriba el nombre del grupo de recursos.
  3. En la lista resultados, seleccione el nombre del grupo de recursos para ver la información general.
  4. Seleccione Eliminar grupo de recursos.
  5. Se le pedirá que confirme la eliminación del grupo de recursos. Escriba el nombre del grupo de recursos para confirmar y seleccione Eliminar.

Transcurridos unos instantes, el grupo de recursos y todos sus recursos se eliminan.

Pasos siguientes

En este tutorial ha creado una clave de App Configuration que hace referencia a un valor almacenado en Key Vault. Para más información sobre el proveedor de Python para Azure App Configuration, consulte la documentación de referencia del proveedor de Python.