選擇如何在 Azure 入口網站授與 Blob 資料的存取權
當您使用 Azure 入口網站存取 BLOb 資料時,入口網站會在背景中向 Azure 儲存體發出要求。 使用 Microsoft Entra 帳戶或儲存體帳戶存取金鑰,即可對 Azure 儲存體所提出的要求進行授權。 入口網站會指出您所使用的方法,如果您有適當的權限,即可讓您在兩者之間切換。
您也可以指定如何在 Azure 入口網站中授權個別的 blob 上傳作業。 根據預設,入口網站會使用您已使用哪一種方法來授權 Blob 上傳作業,但您可以選擇在上傳 Blob 時變更此設定。
存取 Blob 資料的必要使用權限
視您想要如何授權存取 Azure 入口網站 中的 Blob 資料而定,您需要特定許可權。 在大部分情況下,這些權限均會透過 Azure 角色型存取控制 (Azure RBAC) 來提供。 如需有關 Azure RBAC 的詳細資訊,請參閱什麼是 Azure 角色型存取控制 (Azure RBAC)?。
使用帳戶存取金鑰
若要使用帳戶存取金鑰來存取 blob 資料,您必須擁有指派給您的 Azure 角色,其中包含 Azure RBAC 動作Microsoft.Storage/storageAccounts/listkeys/action。 此 Azure 角色可以是內建或自定義角色。 支援 Microsoft.Storage/storageAccounts/listkeys/action 的內建角色包括下列各項,依最低到最高權限的順序排列:
- 讀取者及資料存取角色
- 儲存體帳戶參與者角色
- Azure Resource Manager 參與者角色
- Azure Resource Manager 擁有者角色
當您嘗試在 Azure 入口網站中存取 blob 資料時,入口網站會先檢查系統是否已指派您角色使用 Microsoft.Storage/storageAccounts/listkeys/action。 如果系統已指派您可以使用此動作的角色,則入口網站會使用帳戶金鑰來存取 blob 資料。 如果您未獲指派為具有此動作的角色,則入口網站會嘗試使用您的 Microsoft Entra 帳戶來存取資料。
重要
使用 Azure Resource Manager ReadOnly 鎖定來鎖住儲存體帳戶時,不允許該儲存體帳戶執行列出金鑰作業。 List Keys 是一個 POST 作業,而在帳戶設定了 ReadOnly 鎖定時,所有 POST 作業都無法執行。 因此,使用 ReadOnly 鎖定來鎖定帳戶時,使用者必須使用 Microsoft Entra 認證來存取入口網站中的 Blob 資料。 如需使用 Microsoft Entra ID 存取入口網站中 Blob 資料的詳細資訊,請參閱使用您的 Microsoft Entra 帳戶。
注意
傳統訂用帳戶管理員角色「服務管理員」和「共同管理員」含有 Azure Resource Manager 擁有者角色的相等權限。 擁有者角色包含所有動作,包括 Microsoft.Storage/storageAccounts/listkeys/action,所以具備其中一項管理員角色的使用者也可以使用帳戶金鑰來存取 blob 資料。 如需詳細資訊,請參閱 Azure 角色、Microsoft Entra 角色和傳統訂用帳戶管理員角色。
使用您的 Microsoft Entra 帳戶
若要使用您的 Microsoft Entra 帳戶從 Azure 入口網站存取 Blob 資料,您必須符合下列這兩個條件:
- 系統會指派內建或自定義角色,以提供 Blob 數據的存取權。
- 您至少會獲指派 Azure Resource Manager 讀取者 角色,範圍設定為記憶體帳戶層級或更高層級。 讀者角色會授與最受限制的權限,但也可以接受另一個 Azure Resource Manager 角色來授與儲存體帳戶管理資源的存取權。
Azure Resource Manager 讀者角色允許使用者檢視儲存體帳戶資源,但無權修改。 此角色不會提供 Azure 儲存體中資料的讀取權限,而只會提供帳戶管理資源的讀取權限。 使用者需要具備讀取者角色,才能瀏覽至 Azure 入口網站中的 blob 容器。
如需支援存取 blob 資料的內建角色相關詳細資訊,請參閱使用 Microsoft Entra ID 授權存取 blob。
自訂角色可以支援內建角色提供的相同權限所組成的各種組合。 如需建立 Azure 自訂角色的詳細資訊,請參閱 Azure 自訂角色及了解 Azure 資源的角色定義。
瀏覽至 Azure 入口網站中的 blob
若要在入口網站中檢視 Blob 數據,請瀏覽至記憶體帳戶的 [概觀],然後選取 Blob 的連結。 或者,您也可以瀏覽至功能表中的 [容器] 區段。
決定目前的驗證方法
當您流覽至容器時,Azure 入口網站 會指出您目前使用的是帳戶存取密鑰或Microsoft Entra 帳戶進行驗證。
使用帳戶存取金鑰進行驗證
如果您使用帳戶存取金鑰進行驗證,您會在入口網站中看到 指定為驗證方法的存取金鑰 :
若要切換至使用 Microsoft Entra 帳戶,請選取影像中反白顯示的連結。 如果您已透過指派給您的 Azure 角色擁有適當的許可權,您可以繼續進行。 不過,如果您缺少正確的許可權,您會看到如下的錯誤訊息:
請注意,如果您的 Microsoft Entra 帳戶缺少檢視 Blob 的權限,則清單中不會出現任何 Blob。 選取 [ 切換至存取金鑰 ] 連結,以再次使用存取密鑰進行驗證。
使用您的 Microsoft Entra 帳戶進行驗證
如果您使用 Microsoft Entra 帳戶進行驗證,您會看到 Microsoft Entra 使用者帳戶 在入口網站中指定為驗證方法:
若要切換至使用帳戶存取密鑰,請選取影像中醒目提示的連結。 如果您有帳戶密鑰的存取權,則可以繼續進行。 不過,如果您缺少帳戶密鑰的存取權,您會看到如下的錯誤訊息:
請注意,如果您沒有帳戶密鑰的存取權,清單中就不會顯示任何 Blob。 選取 [ 切換至 Microsoft Entra 使用者帳戶 ] 連結,以再次使用您的 Microsoft Entra 帳戶進行驗證。
指定如何授權 blob 上傳作業
當您從 Azure 入口網站上傳 blob 時,可以指定是否要使用帳戶存取金鑰或您的 Microsoft Entra 認證來驗證和授權該作業。 根據預設,入口網站會使用目前的驗證方法,如決定目前的驗證方法所示。
若要指定如何授權 blob 上傳作業,請遵循下列步驟:
在 Azure 入口網站中,瀏覽至您要上傳 blob 的容器。
選取上傳按鈕。
展開 [進階] 區段,以顯示 blob 的進階屬性。
在 [驗證類型] 欄位中,指出您是想要使用 Microsoft Entra 帳戶還是帳戶存取金鑰來授權上傳作業,如下圖所示:
在 Azure 入口網站中預設為 Microsoft Entra 授權
當您建立新的記憶體帳戶時,您可以指定當使用者流覽至 Blob 數據時,Azure 入口網站 預設為使用 Microsoft Entra 識別碼進行授權。 您也可以為現有的儲存體帳戶指定此設定。 這項設定只會指定預設授權方法,因此請記住,使用者可以覆寫此設定,並選擇使用帳戶金鑰來授權資料存取。
若要指定入口網站在建立記憶體帳戶時,默認應該使用 Microsoft Entra 授權來進行數據存取,請遵循下列步驟:
建立新的儲存體帳戶,請依照建立儲存體帳戶中的指示進行。
在 [進階] 索引標籤的 [安全性] 區段中,勾選 [在 Azure 入口網站中預設為 Microsoft Entra 授權] 旁的方塊。
選取 [檢閱 + 建立] 按鈕,以執行驗證並建立帳戶。
若要針對現有儲存體帳戶更新此設定,請遵循下列步驟:
瀏覽至 Azure 入口網站中的帳戶概觀。
在 [設定] 底下,選取 [設定]。
將 [在 Azure 入口網站中預設為 Microsoft Entra 授權] 設為 [已啟用]。
儲存體帳戶的 defaultToOAuthAuthentication 屬性預設不會設定,而且在您明確設定之前不會傳回值。