Azure Storage Blob Key Store für Microsoft.AspNetCore.DataProtection
Das Azure.Extensions.AspNetCore.DataProtection.Blobs
Paket ermöglicht das Speichern ASP.NET Core DataProtection-Schlüssel in Azure Blob Storage. Schlüssel können für mehrere Instanzen einer Web-App freigegeben werden. Apps können Authentifizierungscookies oder CSRF-Schutz auf mehreren Servern freigeben.
Erste Schritte
Installieren des Pakets
Installieren Sie das Paket mit NuGet:
dotnet add package Azure.Extensions.AspNetCore.DataProtection.Blobs
Voraussetzungen
Sie benötigen ein Azure-Abonnement, ein Speicherkonto und einen Speichercontainer , um dieses Paket verwenden zu können.
Zum Erstellen eines neuen Speicherkontos können Sie das Azure-Portal, Azure PowerShell oder die Azure CLI verwenden. Beispiel für die Verwendung der Azure-Befehlszeilenschnittstelle:
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>"
Wichtige Begriffe
Threadsicherheit
Wir garantieren, dass alle Client-instance Methoden threadsicher und voneinander unabhängig sind (Richtlinie). Dadurch wird sichergestellt, dass die Empfehlung, Clientinstanzen wiederzuverwenden, immer sicher ist, auch über Threads hinweg.
Zusätzliche Konzepte
Clientoptionen | Zugreifen auf die Antwort | Vorgänge | mit langer AusführungsdauerBehandeln von Fehlern | Diagnose | Spott | Clientlebensdauer
Beispiele
Um das Beibehalten von Schlüsseln für Azure Blob Storage rufen Sie die PersistKeysToAzureBlobStorage
-Methode auf. Der Uri
bereitgestellte muss ein Blob-URI im folgenden Format https://{storage_account}.blob.core.windows.net/{container}/{blob}
sein.
public void ConfigureServices(IServiceCollection services)
{
services
.AddDataProtection()
.PersistKeysToAzureBlobStorage(new Uri("<full-blob-URI>"), new DefaultAzureCredential());
}
Die Azure Identity-Bibliothek bietet einfache Azure Active Directory-Unterstützung für die Authentifizierung.
Authentifizieren mithilfe einer Verbindungszeichenfolge
public void ConfigureServices(IServiceCollection services)
{
services
.AddDataProtection()
.PersistKeysToAzureBlobStorage("<connection string>", "<container name>", "<blob name>");
}
Nächste Schritte
Erfahren Sie mehr über DataProtection in ASP.NET Core.
Mitwirken
Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Weitere Informationen finden Sie unter cla.microsoft.com.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.
Azure SDK for .NET