Udostępnij za pośrednictwem


Magazyn kluczy obiektów blob usługi Azure Storage dla programu Microsoft.AspNetCore.DataProtection

Pakiet Azure.Extensions.AspNetCore.DataProtection.Blobs umożliwia przechowywanie kluczy ASP.NET Core DataProtection w Azure Blob Storage. Klucze można udostępniać w kilku wystąpieniach aplikacji internetowej. Aplikacje mogą udostępniać pliki cookie uwierzytelniania lub ochronę CSRF na wielu serwerach.

Wprowadzenie

Instalowanie pakietu

Zainstaluj pakiet za pomocą narzędzia NuGet:

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

Wymagania wstępne

Do korzystania z tego pakietu potrzebna jest subskrypcja platformy Azure, konto magazynu i kontener magazynu .

Aby utworzyć nowe konto magazynu, możesz użyć witryny Azure Portal, Azure PowerShell lub interfejsu wiersza polecenia platformy Azure. Oto przykład użycia interfejsu wiersza polecenia platformy 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>"

Kluczowe pojęcia

Bezpieczeństwo wątkowe

Gwarantujemy, że wszystkie metody wystąpienia klienta są bezpieczne wątkowo i niezależne od siebie (wytyczne). Dzięki temu zalecenie ponownego instalowania wystąpień klienta jest zawsze bezpieczne, nawet w wątkach.

Dodatkowe pojęcia

Opcje | klienta Uzyskiwanie dostępu do odpowiedzi | Długotrwałe operacje | Obsługa błędów | Diagnostyka | Szyderczy | Okres istnienia klienta

Przykłady

Aby włączyć utrwalanie kluczy, aby Azure Blob Storage wywołać metodę PersistKeysToAzureBlobStorage . Podany Uri identyfikator URI musi być identyfikatorem URI obiektu blob w następującym formularzu https://{storage_account}.blob.core.windows.net/{container}/{blob}.

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

Biblioteka tożsamości platformy Azure zapewnia łatwą obsługę usługi Azure Active Directory na potrzeby uwierzytelniania.

Uwierzytelnianie przy użyciu parametrów połączenia

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

Następne kroki

Przeczytaj więcej na temat funkcji DataProtection w ASP.NET Core.

Współtworzenie

W tym projekcie zachęcamy do współtworzenia i zgłaszania sugestii. Współtworzenie w większości przypadków wymaga zgody na umowę licencyjną dotyczącą współautorów (CLA, Contributor License Agreement), zgodnie z którą współautor ma prawo udzielić i faktycznie udziela nam praw do używania wytworzonej przez siebie zawartości. Aby uzyskać szczegółowe informacje, odwiedź stronę cla.microsoft.com.

W tym projekcie przyjęto Kodeks postępowania oprogramowania Open Source firmy Microsoft. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące kodeksu postępowania lub skontaktuj się z opencode@microsoft.com dodatkowymi pytaniami lub komentarzami.

Wrażenia