連線到您的 Azure 儲存體帳戶

已完成

您已將必要的用戶端程式庫新增到應用程式,並已準備好連線至 Azure 儲存體帳戶。

若要使用儲存體帳戶中的資料,您的應用程式需要兩組資料:

  • 存取金鑰
  • REST API 端點

安全性存取金鑰

每個儲存體帳戶都有用來保護儲存體帳戶的獨特「存取金鑰」。 如果您的應用程式需要連線至多個儲存體帳戶,您的應用程式將需要每個儲存體帳戶的存取金鑰。

An illustration showing an application connected to two different storage accounts in the cloud. Each storage account is accessible with a unique key.

REST API 端點

除了可供驗證儲存體帳戶的存取金鑰之外,您的應用程式還必須知道儲存體服務端點,才能發出 REST 要求。

REST 端點是您的儲存體帳戶名稱、資料類型以及已知網域的組合。 例如:

資料類型 範例端點
Blob https://[name].blob.core.windows.net/
佇列 https://[name].queue.core.windows.net/
Table https://[name].table.core.windows.net/
Files https://[name].file.core.windows.net/

如果您有繫結至 Azure 的自訂網域,則也可以建立端點的自訂網域 URL。

連接字串

處理應用程式內存取金鑰和端點 URL 的最簡單方式,就是使用儲存體帳戶連接字串。 連接字串會在單一文字字串中提供所有的連線資訊。

Azure 儲存體連接字串看起來類似下列範例,但具有您特定儲存體帳戶的存取金鑰和帳戶名稱:

DefaultEndpointsProtocol=https;AccountName={your-storage};
   AccountKey={your-access-key};
   EndpointSuffix=core.windows.net

安全性

存取金鑰對於存取儲存體帳戶而言很重要;因此,您不應該提供給不想讓其存取您儲存體帳戶的任何系統或人員。 存取金鑰,相當於存取您電腦用的使用者名稱與密碼。

一般而言,儲存體帳戶的連線資訊會儲存在環境變數、資料庫或設定檔內。

重要

如果您將該檔案包含在原始檔控制,並將它儲存在公用存放庫,則將此資訊儲存在設定檔中可能會有危險。 這是常見的錯誤,表示任何人都可以瀏覽您公用存放庫中的原始程式碼,並查看您的儲存體帳戶連線資訊。

每個儲存體帳戶有兩個存取金鑰。 這是為了要定期允許輪替 (重新產生) 金鑰,以作為保護儲存體帳戶安全的安全性部分最佳做法。 您可以從Azure 入口網站或 Azure CLI/PowerShell 命令列工具執行這項操作。

輪替金鑰會使原始金鑰值立即失效,並且會撤銷不當取得金鑰者的存取權。 有了對兩個金鑰的支援,您可以輪替金鑰,而不會在使用它們的應用程式中造成停機時間。 在另一個金鑰重新產生時,您的應用程式可以切換成使用替代的存取金鑰。 如果您有多個應用程式使用此儲存體帳戶,它們應該都使用相同的金鑰來支援這項技術。 基本概念如下:

  1. 更新應用程式程式碼中的連接字串,以參考儲存體帳戶的次要存取金鑰。
  2. 使用 Azure 入口網站或命令列工具,重新產生儲存體帳戶的主要存取金鑰。
  3. 更新程式碼中的連接字串,以參考新的主要存取金鑰。
  4. 以同樣的方式重新產生次要存取金鑰。

提示

強烈建議您定期輪替存取金鑰,以確保它們保持私密,就像變更您的密碼一樣。 如果您在伺服器應用程式中使用此金鑰,您可以使用 Azure Key Vault 為您儲存存取金鑰。 Key Vault 包含直接同步到儲存體帳戶,以及自動定期輪替金鑰的支援。 使用 Key Vault 可提供額外一層安全性,因此您的應用程式永遠都不需要直接使用存取金鑰。

共用存取簽章 (SAS)

存取金鑰是驗證儲存體帳戶存取權的最簡單方法。 不過,它們可提供儲存體帳戶中任何項目的完整存取權,類似於電腦上的根密碼。

儲存體帳戶提供一個不同的驗證機制,稱為「共用存取簽章」,它針對您需要授與有限存取的情況,能夠支援到期日和有限的權限。 當允許其他使用者讀取資料並寫入儲存體帳戶時,您應該使用這種方法。 您可以在本單元的結尾找到此進階主題的相關文件連結。