存取權控管總覽

您可以控管有權存取 Cloud Storage 值區和物件的使用者及其存取層級。

選擇統一或細部存取權

建立 bucket 時,請決定要使用「統一」或「精細」存取權套用權限。

  • 統一 (建議)統一值區層級存取權可讓您僅使用 Identity and Access Management (IAM) 管理權限。IAM 會將權限套用至值區內的所有物件,或具有相同名稱前置字串的物件群組。此外,IAM 也提供使用 ACL 時無法使用的功能,例如受管理資料夾IAM 條件網域限制共用員工身分同盟

  • 精細:精細選項可讓您同時使用 IAM 和存取控制清單 (ACL) 管理權限。ACL 是 Cloud Storage 的舊版存取權控制系統,專為與 Amazon S3 互通而設計。您也可以使用 ACL 逐一指定物件的存取權。

    由於細部存取權需要您在兩個不同的存取權控管系統之間協調,因此無意間暴露資料的機率會增加,稽核資源存取權的難度也會提高。特別是如果物件含有個人識別資訊等機密資料,建議您將這類資料儲存在已啟用統一儲存空間層級存取權的儲存空間中。

搭配存取權控制清單使用 IAM 權限

Cloud Storage 提供兩個系統來授予使用者存取值區和物件的權限:IAM 和存取控制清單 (ACL)。這些系統會並行運作,不過只需要其中一個系統授予使用者權限,使用者即可存取 Cloud Storage 資源。舉例來說,如果值區的 IAM 政策只允許少數使用者讀取值區中的物件資料,但值區中的某個物件具有 ACL,可供大眾讀取,則該特定物件就會公開。

在大多數情況下,建議使用 IAM 控制資源存取權。IAM 可控管整個 Google Cloud 的權限,讓您在值區和專案層級授予權限。針對適用於值區中多個物件的權限,您應使用 IAM,以降低意外曝光的風險。如要只使用 IAM,請啟用統一值區層級存取權,禁止所有 Cloud Storage 資源使用 ACL。

ACL 僅控管 Cloud Storage 資源的權限,而且權限選項有限,但可讓您依照個別物件授予權限。在下列情況中,您可能要考慮使用 ACL:

  • 自訂值區中個別物件的存取權。
  • 從 Amazon S3 遷移資料。

其他存取權控管選項

除了 IAM 和 ACL 之外,您也可以使用下列工具控管資源存取權:

已簽署的網址 (查詢字串驗證)

使用已簽署的網址,透過您產生的網址,提供對物件的限時讀取或寫入存取權。任何人只要有該共用網址,無論是否有使用者帳戶,都能在指定的時間內存取物件。

除了 IAM 和 ACL 之外,您也可以使用已簽署網址。舉例來說,您可以使用 IAM 僅授予少數人存取值區的權限,然後建立已簽署的網址,允許其他人存取值區內的特定資源。

瞭解如何產生已簽署的網址:

已簽署的政策文件

使用已簽署的政策文件,指定可上傳至值區的內容。相較於已簽署的網址,政策文件另可進一步控制大小、內容類型及其他上傳特性,網站擁有者可使用這個項目來允許訪客上傳檔案到 Cloud Storage。

除了 IAM 和 ACL 之外,您也可以使用簽署的政策文件。舉例來說,您可以使用 IAM 允許貴機構的使用者上傳任何物件,然後建立已簽署的政策文件,只允許網站訪客上傳符合特定條件的物件。

Firebase 安全性規則

使用 Firebase 安全性規則,透過 Cloud Storage 專用的 Firebase SDK,對行動和網路應用程式進行以屬性為基礎的精細存取權控制。例如,您可以指定誰可以上傳或下載物件、物件的大小上限,或物件可下載的時間。

禁止公開存取

使用禁止公開存取功能,限制值區和物件的公開存取權。啟用「不可公開存取」限制後,透過 allUsersallAuthenticatedUsers 取得存取權的使用者,將無法存取資料。

憑證存取權範圍

使用「憑證存取邊界」,縮減 OAuth 2.0 存取憑證可用的權限。首先,您要定義憑證存取權界線,指定權杖可存取的值區,以及該值區可用的權限上限。接著,您可以建立 OAuth 2.0 存取權杖,並換取符合憑證存取邊界的存取權杖。

Bucket IP 篩選

使用「Bucket IP 篩選」,根據要求的來源 IP 位址限制 Bucket 的存取權。儲存空間 IP 篩選功能可防止未經授權的網路存取儲存空間及其資料,進一步提升安全性。 您可以設定允許的 IP 位址範圍清單,包括公開 IP 位址、公開 IP 位址範圍,以及虛擬私有雲中的 IP 位址。系統會封鎖來自不在清單中的 IP 位址的所有要求。 因此只有獲得授權的使用者才能存取值區。

後續步驟