Хранилище ключей BLOB-объектов службы хранилища Azure для Microsoft.AspNetCore.DataProtection

Пакет Azure.Extensions.AspNetCore.DataProtection.Blobs позволяет хранить ASP.NET Core ключи DataProtection в Хранилище BLOB-объектов Azure. Ключи можно совместно использовать в нескольких экземплярах веб-приложения. Приложения могут совместно использовать файлы cookie проверки подлинности или защиту CSRF на нескольких серверах.

Начало работы

Установка пакета

Установите пакет с помощью NuGet:

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

Предварительные требования

Для использования этого пакета вам потребуется подписка Azure, учетная запись хранения и контейнер хранилища .

Чтобы создать учетную запись хранения, можно использовать портал Azure, Azure PowerShell или Azure CLI. Ниже приведен пример с использованием 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>"

Основные понятия

Потокобезопасность

Мы гарантируем, что все методы экземпляра клиента являются потокобезопасны и независимы друг от друга (руководство). Это гарантирует, что рекомендации по повторному использованию экземпляров клиента всегда будут безопасными, даже в разных потоках.

Дополнительные понятия

Параметры | клиента Доступ к ответу | Длительные операции | Обработка сбоев | Диагностики | Насмешливый | Время существования клиента

Примеры

Чтобы включить сохранение ключей для Хранилище BLOB-объектов Azure вызовите PersistKeysToAzureBlobStorage метод . Предоставленный Uri объект должен быть универсальным кодом ресурса (URI) большого двоичного объекта в следующей форме 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 обеспечивает простую поддержку проверки подлинности в Azure Active Directory.

Проверка подлинности с помощью строки подключения

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

Дальнейшие действия

Дополнительные сведения о DataProtection в ASP.NET Core.

Участие

На этом проекте приветствуются публикации и предложения. Для участия в большинстве процессов по разработке документации необходимо принять лицензионное соглашение участника (CLA), в котором указывается, что вы предоставляете нам права на использование ваших публикаций. Дополнительные сведения см . на странице cla.microsoft.com.

В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения см. в разделе часто задаваемых вопросов о правилах поведения или обратитесь к opencode@microsoft.com с любыми дополнительными вопросами или комментариями.

Просмотры