適用于 Microsoft.AspNetCore.DataProtection 的 Azure 儲存體 Blob 金鑰存放區
此 Azure.Extensions.AspNetCore.DataProtection.Blobs
套件允許在 Azure Blob 儲存體 中儲存 ASP.NET Core DataProtection 金鑰。 金鑰可以在 Web 應用程式的數個實例之間共用。 應用程式可以跨多部伺服器共用驗證 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>"
重要概念
執行緒安全
我們保證所有用戶端實例方法都是安全線程,且彼此獨立 (指導方針) 。 這可確保重複使用用戶端實例的建議一律是安全的,即使是跨執行緒也一樣。
其他概念
用戶端選項 | 存取回應 | 長時間執行的作業 | 處理失敗 | 診斷 | 嘲笑 | 用戶端存留期
範例
若要啟用保存金鑰以Azure Blob 儲存體呼叫 PersistKeysToAzureBlobStorage
方法。 提供的 Uri
必須是下列形式的 https://{storage_account}.blob.core.windows.net/{container}/{blob}
Blob URI。
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>");
}
下一步
深入瞭解ASP.NET Core 中的 DataProtection。
參與
此專案歡迎參與和提供建議。 大部分的參與都要求您同意「參與者授權合約 (CLA)」,宣告您有權且確實授與我們使用投稿的權利。 如需詳細資訊,請造訪 cla.microsoft.com。
此專案採用 Microsoft Open Source Code of Conduct (Microsoft 開放原始碼管理辦法)。 如需詳細資訊,請參閱管理辦法常見問題集,如有任何其他問題或意見請連絡 opencode@microsoft.com。