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.
Azure SDK for .NET