Share via


Azure Storage Blob Key Store för Microsoft.AspNetCore.DataProtection

Paketet Azure.Extensions.AspNetCore.DataProtection.Blobs gör det möjligt att lagra ASP.NET Core DataProtection-nycklar i Azure Blob Storage. Nycklar kan delas mellan flera instanser av en webbapp. Appar kan dela autentiseringscookies eller CSRF-skydd över flera servrar.

Komma igång

Installera paketet

Installera paketet med NuGet:

dotnet add package Azure.Extensions.AspNetCore.DataProtection.Blobs

Förutsättningar

Du behöver en Azure-prenumeration, ett lagringskonto och en lagringscontainer för att kunna använda det här paketet.

Om du vill skapa ett nytt lagringskonto kan du använda Azure Portal, Azure PowerShell eller Azure CLI. Här är ett exempel med Hjälp av Azure CLI:

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>"

Viktiga begrepp

Trådsäkerhet

Vi garanterar att alla klientinstansmetoder är trådsäkra och oberoende av varandra (riktlinje). Detta säkerställer att rekommendationen att återanvända klientinstanser alltid är säker, även över trådar.

Ytterligare begrepp

Klientalternativ | Åtkomst till svaret | Långvariga åtgärder | Hantera fel | Diagnostik | Gäckande | Klientlivslängd

Exempel

Om du vill aktivera kvarstående nycklar för att Azure Blob Storage anropa PersistKeysToAzureBlobStorage metoden. Den Uri angivna måste vara en blob-URI i följande formulär https://{storage_account}.blob.core.windows.net/{container}/{blob}.

public void ConfigureServices(IServiceCollection services)
{
    services
        .AddDataProtection()
        .PersistKeysToAzureBlobStorage(new Uri("<full-blob-URI>"), new DefaultAzureCredential());
}

Azure Identity-biblioteket ger enkelt Azure Active Directory-stöd för autentisering.

Autentisera med hjälp av en anslutningssträng

public void ConfigureServices(IServiceCollection services)
{
    services
        .AddDataProtection()
        .PersistKeysToAzureBlobStorage("<connection string>", "<container name>", "<blob name>");
}

Nästa steg

Läs mer om DataProtection i ASP.NET Core.

Bidra

Det här projektet välkomnar bidrag och förslag. Merparten av bidragen kräver att du godkänner ett licensavtal för bidrag, där du deklarerar att du har behörighet att bevilja oss rättigheten att använda ditt bidrag, och att du dessutom uttryckligen gör så. Mer information finns i cla.microsoft.com.

Det här projektet använder sig av Microsofts uppförandekod för öppen källkod. Mer information finns i Vanliga frågor och svar om uppförandekod eller kontakt opencode@microsoft.com med ytterligare frågor eller kommentarer.

Visningar