Úložiště klíčů objektů blob služby Azure Storage pro Microsoft.AspNetCore.DataProtection

Balíček Azure.Extensions.AspNetCore.DataProtection.Blobs umožňuje ukládání klíčů ASP.NET Core DataProtection do Azure Blob Storage. Klíče je možné sdílet napříč několika instancemi webové aplikace. Aplikace můžou sdílet ověřovací soubory cookie nebo ochranu CSRF na více serverech.

Začínáme

Instalace balíčku

Nainstalujte balíček pomocí NuGetu:

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

Požadavky

K použití tohoto balíčku potřebujete předplatné Azure, účet úložiště a kontejner úložiště .

K vytvoření nového účtu úložiště můžete použít Azure Portal, Azure PowerShell nebo Azure CLI. Tady je příklad použití 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>"

Klíčové koncepty

Bezpečnost vlákna

Zaručujeme, že všechny metody instance klienta jsou bezpečné pro přístup z více vláken a nezávislé na sobě (pokyny). Tím se zajistí, že doporučení opakovaného použití instancí klienta bude vždy bezpečné, a to i napříč vlákny.

Další koncepty

Možnosti | klienta Přístup k odpovědi | Dlouhotrvající operace | Zpracování selhání | Diagnostika | Zesměšňovat | Životnost klienta

Příklady

Pokud chcete povolit trvalé klíče pro Azure Blob Storage zavolejte metoduPersistKeysToAzureBlobStorage. Zadaným Uri identifikátorem musí být identifikátor URI objektu blob v následujícím formátu https://{storage_account}.blob.core.windows.net/{container}/{blob}.

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

Knihovna identit Azure poskytuje snadnou podporu ověřování v Azure Active Directory.

Ověřování pomocí připojovacího řetězce

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

Další kroky

Přečtěte si další informace o ochraně dat v ASP.NET Core.

Přispívání

Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje souhlas s licenční smlouvou s přispěvatelem (CLA), která stanoví, že máte právo udělit nám práva k používání vašeho příspěvku a skutečně tak činíte. Podrobnosti najdete na cla.microsoft.com.

Tento projekt přijal pravidla chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k pravidlům chování nebo se obraťte na opencode@microsoft.com případné další dotazy nebo komentáře.

Imprese