本頁面說明 Google Cloud 專案與 Cloud Storage 資源之間的關係。如要進一步瞭解 Google Cloud 控制台專案,請參閱 Google Cloud中的「專案」一文。
什麼是專案?
專案可整理您所有 Google Cloud 資源。Cloud Storage 中的所有資料都屬於專案。專案包含一組使用者、一組 API,以及這些 API 的計費、驗證和監控設定。舉例來說,所有 Cloud Storage bucket 和物件,以及存取這些項目的使用者授權,都位於專案中。您可以建立一個專案,也可以建立多個專案,並使用這些專案將 Google Cloud 資源 (包括 Cloud Storage 資料) 整理成邏輯群組。
指定專案的時機
在 Cloud Storage 中執行動作時,您通常不需要指定專案,但在下列情況中,請加入專案 ID 或專案編號:
控制台
透過 Google Cloud 控制台使用 Cloud Storage 時,系統會自動將您與專案建立關聯。您可以使用 Google Cloud 控制台視窗頂端的下拉式選單變更專案。
首次存取已啟用要求者付費功能的值區時,系統會提示您選取要求計費的專案。隨後您可以使用值區中物件清單上方的 [Change project] (變更專案) 按鈕來變更計費專案。
指令列
下列指令會使用 Google Cloud CLI 設定中設定的 project 屬性,除非您在指令中使用 global --project 旗標指定其他專案:
storage buckets createstorage ls(列出 bucket 時) 和storage buckets liststorage service-agentstorage hmac create和storage hmac list
使用全域 --billing-project 旗標和專案 ID,指出要支付 bucket 存取費用的專案。存取已啟用要求者付費功能的 bucket 時,必須提供這項資訊,否則為選用。
用戶端程式庫
Cloud Storage 用戶端程式庫必須在與 JSON API 相同的情況下指定專案。
JSON API
下列方法需要指定專案:
專案會以要求網址中的參數形式傳送,如以下範例所示:
GET https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER
如要指定要為 bucket 存取權付費的專案,請使用「userProject」查詢參數和專案 ID,如以下範例所示:
GET https://storage.googleapis.com/storage/v1/b?userProject=PROJECT_IDENTIFIER
存取已啟用要求者付費功能的值區時,必須提供這項查詢參數,否則可不提供。
XML API
除非您已設定互通存取的預設專案,否則下列要求需要您指定專案:
與這些 XML API 要求相關聯的專案,是在 x-goog-project-id HTTP 標頭中指定,如以下範例所示:
x-goog-project-id: PROJECT_ID
其他 XML API 要求則可選擇是否加入標頭。
如要指示值區存取的計費專案,請使用「x-goog-user-project」標頭和專案 ID,如下列範例所示:
x-goog-user-project: PROJECT_ID
如要存取的值區已啟用要求者付費功能,您必須使用這個標頭;如要存取的值區未啟用該功能,則這個標記為選用。
專案和權限
您可以使用 Identity and Access Management (IAM),授予各項專案的管理和操作權限。將 IAM 角色授予主體 (例如使用者帳戶) 時,該主體會取得特定權限,可執行相關動作。在專案層級授予角色時,該角色提供的存取權會套用至專案中的每個值區和物件。或者,如果您為個別 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 啟用虛刪除功能,保護資料:
刪除專案後,任何啟用虛刪除功能的 bucket 都會保留,保留時間為虛刪除保留時間或Google Cloud 專案復原時間範圍,以較短者為準。過了這段時間範圍後,儲存空間就會永久刪除。
如果還原已刪除的專案,系統會將 bucket 還原至專案刪除時的狀態。舉例來說,專案刪除時仍在使用中的 bucket,會還原為使用中的 bucket。
如果 bucket 未受虛刪除功能保護,可能會在專案刪除時立即刪除,且可能無法還原。
我們也建議您採取下列策略,避免資料因專案刪除而遺失:
如要限制專案層級的刪除作業,請對專案設定防刪除鎖定。
將重要業務資料備份至其他專案的值區。
如要進一步瞭解保護及復原資料的選項,請參閱「資料保護、備份和復原選項」。
後續步驟
- 完成其中一個 Cloud Storage 快速入門導覽課程。
- 瞭解如何建立新專案及管理現有專案。
- 瞭解如何使用 Google Cloud 控制台管理資料。
- 管理專案的服務帳戶。