共用方式為


適用于 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 PowerShellAzure 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

曝光數