Almacén de claves de blobs de Azure Storage para Microsoft.AspNetCore.DataProtection
El Azure.Extensions.AspNetCore.DataProtection.Blobs
paquete permite almacenar ASP.NET Core claves DataProtection en Azure Blob Storage. Las claves se pueden compartir entre varias instancias de una aplicación web. Las aplicaciones pueden compartir cookies de autenticación o protección CSRF en varios servidores.
Introducción
Instalar el paquete
Instale el paquete con NuGet:
dotnet add package Azure.Extensions.AspNetCore.DataProtection.Blobs
Prerrequisitos
Necesita una suscripción de Azure, una cuenta de almacenamiento y un contenedor de almacenamiento para usar este paquete.
Para crear una cuenta de almacenamiento, puede usar Azure Portal, Azure PowerShell o la CLI de Azure. A continuación se facilita un ejemplo mediante el uso de la CLI de Azure:
az storage account create --name <storage-account> --resource-group <resource-group> --location westus --sku Standard_LRS
az storage container create --account-name <storage-account> -n <container>
# Give write access to a user
az role assignment create --role "Storage Blob Data Contributor" --assignee <your_email> --scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>"
# OR give write access to a service principal (application)
az role assignment create --role "Storage Blob Data Contributor" --assignee-object-id <application_id> --scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>"
Conceptos clave
Seguridad para subprocesos
Garantizamos que todos los métodos de instancia de cliente sean seguros para subprocesos e independientes entre sí (guía). Esto garantiza que la recomendación de reutilizar instancias de cliente siempre es segura, incluso entre subprocesos.
Conceptos adicionales
Opciones | de cliente Acceso a la respuesta | Operaciones | de larga duraciónControl de errores | Diagnóstico | Burla | Duración del cliente
Ejemplos
Para habilitar las claves persistentes para Azure Blob Storage llame al PersistKeysToAzureBlobStorage
método . El Uri
proporcionado debe ser un URI de blob con el formato https://{storage_account}.blob.core.windows.net/{container}/{blob}
siguiente.
public void ConfigureServices(IServiceCollection services)
{
services
.AddDataProtection()
.PersistKeysToAzureBlobStorage(new Uri("<full-blob-URI>"), new DefaultAzureCredential());
}
La biblioteca de identidades de Azure proporciona compatibilidad sencilla con Azure Active Directory para la autenticación.
Autenticación mediante una cadena de conexión
public void ConfigureServices(IServiceCollection services)
{
services
.AddDataProtection()
.PersistKeysToAzureBlobStorage("<connection string>", "<container name>", "<blob name>");
}
Pasos siguientes
Obtenga más información sobre DataProtection en ASP.NET Core.
Contribuciones
Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para obtener más información, visite cla.microsoft.com.
Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.
Azure SDK for .NET