Arquivo de Chaves de Blobs 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 partilhadas em várias instâncias de uma aplicação Web. As aplicações podem partilhar 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

Precisa de uma subscrição do Azure, uma Conta de Armazenamento e um Contentor de Armazenamento para utilizar este pacote.

Para criar uma nova Conta de Armazenamento, pode utilizar o Portal do Azure, Azure PowerShell ou a CLI do Azure. Eis um exemplo com 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>"

Conceitos-chave

Segurança de threads

Garantimos que todos os métodos de instância de cliente são seguros para threads e independentes uns dos outros (orientação). Isto garante que a recomendação de reutilização de instâncias de cliente é sempre segura, mesmo entre threads.

Conceitos adicionais

Opções de | cliente Aceder à resposta | Operações de execução prolongada | Lidar com falhas | Diagnósticos | A gozar | Duração do cliente

Exemplos

Para ativar as chaves persistentes para Armazenamento de Blobs do Azure chamar o PersistKeysToAzureBlobStorage método. O Uri fornecido tem de ser um URI de blobs no seguinte formulário 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 do Azure Active Directory para autenticação.

Autenticar com uma cadeia de ligação

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

Passos seguintes

Leia mais sobre a Proteção de Dados no ASP.NET Core.

Contribuir

Agradecemos todas as contribuições e sugestões para este projeto. A maioria das contribuições requerem que celebre um Contrato de Licença de Contribuição (CLA) no qual se declare que tem o direito de conceder e que, na verdade, concede-nos os direitos para utilizar a sua contribuição. Para obter detalhes, visite cla.microsoft.com.

Este projeto adotou o Microsoft Open Source Code of Conduct (Código de Conduta do Microsoft Open Source). Para obter mais informações, consulte as FAQ do Código de Conduta ou o contacto opencode@microsoft.com com quaisquer perguntas ou comentários adicionais.

Impressões