Azure 儲存體的授權選項

已完成

在增強公司的患者診斷影像 Web 應用程式之前,您想要先了解所有安全存取的選項。 共用存取簽章 (SAS) 提供授與用戶端資源存取權的安全方式。 但這不是授與存取權的唯一方法。 在某些情況下,其他選項可能是對組織更好的選擇。

公司可能不只使用 SAS 驗證方法。

在此單元中,您會看到如何以不同方式驗證 Azure 儲存體中所儲存檔案的存取權。

存取 Azure 儲存體

用戶端會透過 HTTP/HTTPS 存取儲存在 Azure 儲存體中的檔案。 Azure 會檢查每個用戶端的存取預存資料授權要求。 存取 Blob 儲存體有四個選項可供使用:

  • 公用存取
  • Microsoft Entra ID
  • 共用金鑰
  • 共用存取簽章 (SAS)

公用存取

公用存取也稱為容器和 Blob 的匿名公用讀取存取。

有兩個不同的設定會影響公用存取:

  • 儲存體帳戶。 設定儲存體帳戶,並設定 AllowBlobPublicAccess 屬性以允許公用存取。 設定為 True 時,只有在同時設定容器的公用存取設定時,Blob 資料才能用於公用存取。

  • 容器。 只有在儲存體帳戶允許匿名存取時,您才能啟用匿名存取。 容器有兩個可能的公用存取設定:「Blob 的公用讀取存取」或「容器和其 Blob 的公用讀取存取」。 匿名存取是在容器層級而不是在個別的 Blob 受到控制。 因此,如果您想要保護某些檔案,則必須將其放在不允許公用讀取存取的個別容器中。

若要啟用匿名公用存取,需要儲存體帳戶和容器設定。 這種方法的優點是您無須與需要存取您檔案的用戶端共用金鑰。 您也不需要管理 SAS。

Microsoft Entra ID

使用 Microsoft Entra 選項可安全存取 Azure 儲存體,而不需要在程式碼中儲存任何認證。 AD 授權採用兩步驟方法。 首先,要驗證在成功時傳回 OAuth 2.0 權杖的安全性主體。 然後,此權杖會傳遞至 Azure 儲存體,以啟用所要求資源的授權。

如果您是以受控識別來執行應用程式,或使用安全性主體,請使用這種驗證形式。

共用金鑰

Azure 儲存體會為所建立的每個儲存體帳戶建立兩組 512 位元存取金鑰。 您會共用這些金鑰,以將儲存體帳戶的存取權授與用戶端。 這些金鑰會將相當於根存取權的儲存體存取權授與任何人。

建議您使用 Azure Key Vault 來管理儲存體金鑰,因為可以依照定期排程輕鬆輪替金鑰,以保護您儲存體帳戶的安全。

共用存取簽章

SAS 可讓您授與 Azure 儲存體中檔案的細微存取權 (例如,唯讀或讀寫存取、到期時間),之後 SAS 就不會再讓用戶端存取所選擇的資源。 共用存取簽章是授與儲存體資源權限的金鑰,應該以保護帳戶金鑰的相同方式來保護共用存取簽章。

Azure 儲存體支援三種類型的共用存取簽章:

  • 使用者委派 SAS:只能用於 blob 儲存體,並使用 Microsoft Entra 認證加以保護。
  • 服務 SAS:服務 SAS 會使用儲存體帳戶金鑰加以保護。 服務 SAS 會將存取權委派給下列任一 Azure 儲存體服務 (共四個) 中的資源:Blob、佇列、資料表或檔案。
  • 帳戶 SAS:帳戶 SAS 會使用儲存體帳戶金鑰加以保護。 帳戶 SAS 具有與服務 SAS 相同的控制措施,但也可以控制服務層級作業的存取,例如取得服務統計資料。

您可以指定所有需要控制的選項 (包括開始時間、到期時間和權限),以建立 SAS 臨機操作。

如果您打算建立服務 SAS,則還有另一個選項可以建立其與預存存取原則的關聯。 預存存取原則最多可以與五個使用中 SAS 相關聯。 您可以在預存存取原則層級控制存取權和到期時間。 如果您需要細微控制來變更到期日,或撤銷 SAS,這個方法非常好。 撤銷或變更臨機操作 SAS 的唯一方法是變更儲存體帳戶金鑰。

檢定您的知識

1.

組織有內部系統可共用患者的約診資訊和注意事項。 您可以根據使用者在 Microsoft Entra 群組中的成員資格,保護使用者的存取權。 哪種類型的授權最能支援這種情況?為什麼?

2.

您對外公開的靜態網站會將其所有公用 UI 影像儲存在 Blob 儲存體中。 網站不需要任何類型的授權,就能顯示圖形。 哪個是最佳選項?