連線到您的 Azure 儲存體帳戶
您已將必要的用戶端程式庫新增到應用程式,並已準備好連線至 Azure 儲存體帳戶。
若要使用儲存體帳戶中的資料,您的應用程式需要兩組資料:
- 存取金鑰
- REST API 端點
安全性存取金鑰
每個儲存體帳戶都有用來保護儲存體帳戶的獨特「存取金鑰」。 如果您的應用程式需要連線至多個儲存體帳戶,您的應用程式將需要每個儲存體帳戶的存取金鑰。
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 命令列工具執行這項操作。
輪替金鑰會使原始金鑰值立即失效,並且會撤銷不當取得金鑰者的存取權。 有了對兩個金鑰的支援,您可以輪替金鑰,而不會在使用它們的應用程式中造成停機時間。 在另一個金鑰重新產生時,您的應用程式可以切換成使用替代的存取金鑰。 如果您有多個應用程式使用此儲存體帳戶,它們應該都使用相同的金鑰來支援這項技術。 基本概念如下:
- 更新應用程式程式碼中的連接字串,以參考儲存體帳戶的次要存取金鑰。
- 使用 Azure 入口網站或命令列工具,重新產生儲存體帳戶的主要存取金鑰。
- 更新程式碼中的連接字串,以參考新的主要存取金鑰。
- 以同樣的方式重新產生次要存取金鑰。
提示
強烈建議您定期輪替存取金鑰,以確保它們保持私密,就像變更您的密碼一樣。 如果您在伺服器應用程式中使用此金鑰,您可以使用 Azure Key Vault 為您儲存存取金鑰。 Key Vault 包含直接同步到儲存體帳戶,以及自動定期輪替金鑰的支援。 使用 Key Vault 可提供額外一層安全性,因此您的應用程式永遠都不需要直接使用存取金鑰。
共用存取簽章 (SAS)
存取金鑰是驗證儲存體帳戶存取權的最簡單方法。 不過,它們可提供儲存體帳戶中任何項目的完整存取權,類似於電腦上的根密碼。
儲存體帳戶提供一個不同的驗證機制,稱為「共用存取簽章」,它針對您需要授與有限存取的情況,能夠支援到期日和有限的權限。 當允許其他使用者讀取資料並寫入儲存體帳戶時,您應該使用這種方法。 您可以在本單元的結尾找到此進階主題的相關文件連結。