專案

本頁面說明 Google Cloud Platform 主控台專案和 Cloud Storage 資源之間的關係。如要進一步瞭解 Google Cloud Platform 主控台專案的一般資訊,請參閱 Google Cloud Platform 總覽的專案一文。

什麼是專案?

專案會統整所有 Google Cloud Platform 資源。專案的構成項目包含一組使用者、一組 API,以及這些 API 的帳單、驗證和監控設定。舉例來說,所有 Cloud Storage 值區和物件,以及存取這些項目的使用者權限全都位於專案中。您可以使用一個專案,也可以建立多個專案以將 Google Cloud Platform 資源 (包括 Cloud Storage 資料) 區分為邏輯群組。

指定專案的時機

在多數情況下,於 Cloud Storage 中執行動作時不需要指定專案;但以下情況必須提供專案 ID 或專案編號:

主控台

  • 將 Cloud Storage 搭配 GCP 主控台使用時,您會自動與專案建立關聯。您可以使用 GCP 主控台視窗頂端的下拉式選單來變更專案。

  • 首次存取已啟用要求者付費功能的值區時,系統會提示您選取要求計費的專案。隨後您可以使用值區中物件清單上方的 [Change project] (變更專案) 按鈕來變更計費的專案。

gsutil

  • 使用 gsutil mbgsutil lsgsutil kms 指令時必須指定專案,除非您已設定預設專案。如果您尚未設定預設專案或要使用其他專案,請使用 -p 標記來指定專案。使用其他 gsutil 指令時不需要指定專案。

  • 使用 -u 標記和專案 ID 來指示值區存取的計費專案。如要存取的值區已啟用要求者付費功能,您必須使用這個標記;如要存取的值區未啟用該功能,則這個標記為選用。

JSON API

  • 使用列出值區插入值區方法時,您必須指定專案。專案會做為要求網址的參數傳送,如下列範例所示:

    GET https://www.googleapis.com/storage/v1/b?project=[PROJECT_ID]
  • 如要指示值區存取的計費專案,請使用「userProject」查詢參數和專案 ID,如下列範例所示:

    GET https://www.googleapis.com/storage/v1/b?userProject=[PROJECT_ID]

    如要存取的值區已啟用要求者付費功能,您必須使用這個查詢參數;如要存取的值區未啟用該功能,則這個標記為選用。

XML API

  • 列出值區與插入值區時必須指定專案。x-goog-project-id HTTP 標頭中會指定與這些 XML API 要求相關聯的專案,如下列範例所示:

    x-goog-project-id: [PROJECT_ID]

    如果是其他 XML API 要求,或您已設定預設專案以供互通存取,則此標頭為選用。

  • 如要指示值區存取的計費專案,請使用「x-goog-user-project」標頭和專案 ID,如下列範例所示:

    x-goog-user-project: [PROJECT_ID]

    如要存取的值區已啟用要求者付費功能,您必須使用這個標頭;如要存取的值區未啟用該功能,則這個標記為選用。

專案成員與權限

您可以針對每個專案使用身分與存取權管理 (IAM) 功能來新增可管理及處理專案的小組成員。IAM 可讓您為每位小組成員指定一或多個「角色」:不同的角色權限可讓成員在專案中執行不同的動作。

您可以在專案層級 (可套用至專案中的所有值區) 或值區層級 (只能套用至個別值區) 設定許多 IAM 角色,但有些角色只能套用至專案。這些角色是原始角色。原始角色具備下列 Cloud Storage 屬性:

角色 內建行為 可變更的行為
roles/viewer 具備這個角色的成員可以列出專案中的值區。
  • 系統會為專案中每個值區允許具備這個角色的成員作為群組 roles/storage.legacyBucketReader 角色。
  • 對專案中每個值區而言,具備這個角色的成員是預設存取控制清單 (ACL) 中的 READER
  • 系統會為使用已啟用僅值區政策建立之專案中的任何值區允許具備這個角色的成員作為群組的 roles/storage.legacyObjectReader 角色。
roles/editor 具備這個角色的成員可以列出、建立及刪除專案中的值區。
  • 系統會為專案中每個值區允許具備這個角色的成員作為群組 roles/storage.legacyBucketOwner 角色。
  • 對專案中每個值區而言,具備這個角色的成員是預設物件存取控制清單 (ACL)OWNER
  • 系統會為使用已啟用僅值區政策建立的之專案中的任何值區,允許具備這個角色的成員作為群組的 roles/storage.legacyObjectOwner 角色。
roles/owner 具備這個角色的成員可以列出、建立及刪除專案中的值區。在 Google Cloud Platform 中,通常具有 roles/owner 角色的成員可以執行管理工作,例如變更成員的專案角色,或變更帳單資訊。
  • 系統會為專案中每個值區允許具備這個角色的成員作為群組 roles/storage.legacyBucketOwner 角色。
  • 對專案中每個值區而言,具備這個角色的成員是預設物件存取控制清單 (ACL)OWNER
  • 系統會為使用已啟用僅值區政策建立的之專案中的任何值區,允許具備這個角色的成員作為群組的 roles/storage.legacyObjectOwner 角色。

如需 Cloud Storage 適用的角色清單,請參閱 Cloud Storage IAM 角色相關頁面。

如需瞭解在專案層級新增、查看和移除角色成員的操作說明,請參閱對專案使用 IAM 的說明。

如同上方「可變更的行為」一欄所述,專案小組成員具備的存取權可能會超出 IAM 原始角色授予的內建權限。這類額外的存取權來自以下兩個來源:

  • 套用至值區的 IAM 角色:使用者建立值區時,系統預設會為其套用 IAM 角色。值區建立完成後,您可以編輯這項存取權。

  • 套用至物件的存取控制清單 (ACL):使用者建立物件時,系統會為其套用 ACL。可以明確指定或採用預設套用 ACL。無論您採用哪一種方式,ACL 都會特別針對建立的物件授予存取權。

請注意,在這兩種情況下,您可以為個別使用者和具備原始角色的所有使用者授予存取權。此外,授予的存取權可能會大於使用者一般具備的專案存取權,但不會受到更多限制。

服務帳戶

服務帳戶可讓應用程式驗證及存取 GCP 資源和服務。舉例來說,您可以建立服務帳戶,供 Compute Engine 執行個體用來存取儲存在 Cloud Storage 值區中的物件。

服務帳戶會在專案中建立,且具有可供識別的專屬電子郵件地址。大多數服務帳戶由使用者建立及管理,但有一部分服務帳戶會由 GCP 服務自動建立。Cloud Storage 會建立一個這類服務帳戶,其電子郵件地址採用下列格式:

service-[PROJECT_NUMBER]@gs-project-accounts.iam.gserviceaccount.com

其中 [PROJECT_NUMBER] 是擁有該服務帳戶的專案編號

使用 Cloud Storage

下列功能使用 Cloud Storage 服務帳戶:

非 Cloud Storage 服務帳戶可使用 Cloud Storage 資源採取的動作範例:

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Storage
需要協助嗎?請前往我們的支援網頁