本頁面說明 Google Cloud 專案和 Cloud Storage 資源之間的關係。如要進一步瞭解 Google Cloud 主控台專案 的一般資訊,請參閱 Google Cloud的「專案」一文。
什麼是專案?
專案可整理您所有 Google Cloud 資源。Cloud Storage 中的所有資料都屬於專案內容。專案是由一組使用者、一組 API,以及這些 API 的計費、驗證和監控設定組成。因此,舉例來說,您的所有 Cloud Storage 值區和物件,以及存取這些物件的使用者權限全都位於專案中。您可以使用一個專案,也可以建立多個專案,並使用這些專案將 Google Cloud 資源 (包括 Cloud Storage 資料) 區分為邏輯群組。
指定專案的時機
在多數情況下,於 Cloud Storage 中執行動作時不需要指定專案;但以下情況必須提供專案 ID 或專案編號:
控制台
將 Cloud Storage 搭配 Google Cloud 控制台使用時,您會自動與專案建立關聯。您可以使用 Google Cloud 控制台視窗頂端的下拉式選單來變更專案。
首次存取已啟用要求者付費功能的值區時,系統會提示您選取要求計費的專案。隨後您可以使用值區中物件清單上方的 [Change project] (變更專案) 按鈕來變更計費專案。
指令列
下列指令會使用 Google Cloud CLI 設定中設定的 project 屬性,除非您在指令中使用全域 --project 旗標指定其他專案:
storage buckets createstorage ls(列出值區時) 和storage buckets liststorage service-agentstorage hmac create和storage hmac list
使用全域 --billing-project 標記和專案 ID,指示值區存取的計費專案。如要存取的值區已啟用要求者付費功能,您必須使用這個標記;如要存取的值區未啟用該功能,則這個標記為選用。
用戶端程式庫
Cloud Storage 用戶端程式庫與 JSON API 的情況相同,都需要指定專案。
JSON API
下列方法需要指定專案:
專案會做為要求網址的參數傳送,如下列範例所示:
GET https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER
如要指示值區存取的計費專案,請使用「userProject」查詢參數和專案 ID,如下列範例所示:
GET https://storage.googleapis.com/storage/v1/b?userProject=PROJECT_IDENTIFIER
如要存取的值區已啟用要求者付費功能,您必須使用這個查詢參數;如要存取的值區未啟用該功能,則這個標記為選用。
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 角色授予主體 (例如使用者帳戶) 時,該主體會取得特定權限,可執行動作。在專案層級授予角色時,角色提供的存取權會套用至專案中的每個值區和物件。或者,當您為個別 bucket 授予角色時,角色提供的存取權僅限於該 bucket 和 bucket 包含的物件。
如需 Cloud Storage 適用的角色清單,以及如何將一組稱為基本角色的特殊角色套用至 Cloud Storage,請參閱「Cloud Storage IAM 角色」一文。
如需瞭解如何在 bucket 和專案層級查看、授予及撤銷主體的角色,請參閱「對專案使用 IAM」。
服務帳戶
服務帳戶可讓應用程式驗證及存取Google Cloud 資源和服務。舉例來說,您可以建立服務帳戶,供 Compute Engine 執行個體用來存取儲存在 Cloud Storage bucket 中的物件。系統會在專案中建立服務帳戶,且隨附可供識別的專屬電子郵件地址。
以下是與 Cloud Storage 相關的動作範例,通常是由您建立及管理的服務帳戶執行:
- 執行 Storage 移轉服務的移轉作業。
- 將資料移入和移出 Cloud SQL 執行個體。
- 建立已簽署的網址。
服務代理
服務代理程式是特殊的服務帳戶類型,可代表 Google Cloud 服務執行動作。Cloud Storage 會使用服務代理程式執行下列功能:
建立專案初期無法使用 Cloud Storage 服務代理。相反地,服務代理會在首次存取時自動啟用,例如透過上述其中一項功能,或當您要求服務代理的名稱時。必須先啟用服務代理,才能為其指派權限。
以下是與專案編號 123456789876 相關聯的 Cloud Storage 服務代理電子郵件地址範例:
service-123456789876@gs-project-accounts.iam.gserviceaccount.com
刪除專案
刪除 (關閉) 專案時,系統也會刪除 Cloud Storage 值區和其中的物件,除非這些物件受到軟刪除保護。為保護資料,避免專案遭到誤刪或惡意刪除,建議您在 bucket 上啟用虛刪除功能:
如果您刪除專案,系統會保留啟用虛刪除功能的 bucket,保留時間為虛刪除保留時長或Google Cloud 專案復原期限,以較短者為準。過了這段時間後,系統就會永久刪除值區。
還原已刪除的專案時,系統會將 bucket 還原至專案刪除時的狀態。舉例來說,專案刪除時仍在使用中的 bucket,還原後會繼續處於使用中狀態。
如果 bucket 未受虛刪除功能保護,專案刪除後,bucket 可能會立即遭到刪除,且無法還原。
此外,我們也建議採取下列策略,防止資料因專案刪除而遺失:
如要限制專案層級的刪除作業,請對專案設定防刪除鎖定。
將業務關鍵資料備份至其他專案中的 bucket。
如要進一步瞭解如何保護及復原資料,請參閱「資料保護、備份及復原選項」。
後續步驟
- 完成其中一個 Cloud Storage 快速入門導覽課程。
- 瞭解如何建立新專案及管理現有專案。
- 瞭解如何使用 Google Cloud 控制台管理資料。
- 管理專案的服務帳戶。