Compartilhar via


Repositório de Chaves de Blob de Armazenamento do Azure para Microsoft.AspNetCore.DataProtection

O Azure.Extensions.AspNetCore.DataProtection.Blobs pacote permite armazenar chaves ASP.NET Core DataProtection em Armazenamento de Blobs do Azure. As chaves podem ser compartilhadas em várias instâncias de um aplicativo Web. Os aplicativos podem compartilhar cookies de autenticação ou proteção CSRF em vários servidores.

Introdução

Instalar o pacote

Instale o pacote com o NuGet:

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

Pré-requisitos

Você precisa de uma assinatura do Azure, conta de armazenamento e contêiner de armazenamento para usar esse pacote.

Para criar uma conta de armazenamento, você pode usar o Portal do Azure, Azure PowerShell ou a CLI do Azure. Aqui, está um exemplo usando a CLI do 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>"

Principais conceitos

Acesso thread-safe

Garantimos que todos os métodos de instância do cliente sejam thread-safe e independentes uns dos outros (diretriz). Isso garante que a recomendação de reutilize instâncias de cliente seja sempre segura, mesmo entre threads.

Conceitos adicionais

Opções do | cliente Acessando a resposta | Operações de execução longa | Tratamento de falhas | Diagnostics | Zombando | Tempo de vida do cliente

Exemplos

Para habilitar chaves persistentes para Armazenamento de Blobs do Azure chame o PersistKeysToAzureBlobStorage método . O Uri fornecido deve ser um URI de blob no formato a seguir https://{storage_account}.blob.core.windows.net/{container}/{blob}.

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

A biblioteca de Identidade do Azure fornece suporte fácil ao Azure Active Directory para autenticação.

Autenticação usando uma cadeia de conexão

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

Próximas etapas

Leia mais sobre o DataProtection no ASP.NET Core.

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite cla.microsoft.com.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.

Impressões