共用與協作

這份文件說明了常見的資料共用及協作情境,包含如何設定您的專案及值區身分與存取權管理 (IAM) 政策,以便在各種情境中進行實作。

儲存與維護私人資料

在這個情境中,一間公司的行銷分析師想要使用 Cloud Storage 備份收益預測與銷售預測等機密資料,並且要確保只有行銷分析師能存取這些資料。公司的 IT 部門負責監督與管理公司的 Cloud Storage 帳戶,他們的主要管理職責包含建立及共用值區,以便讓全公司各個部門都能存取 Cloud Storage。

如要滿足行銷分析師對機密性及隱私權的需求,您所設定的值區與物件權限必須讓 IT 人員能夠維護儲存試算表的值區,但無法檢視/下載儲存於值區中的資料。為此,您需要建立名為 finance-marketing 的 bucket,並為指定主體授予下列角色給列出的資源

角色 資源 主體 說明
Storage 舊版值區擁有者 值區 finance-marketing IT 人員 將值區的「Storage 舊版值區擁有者」角色指派給 IT 人員,讓他們可以執行一般的值區管理工作,例如刪除物件與變更值區的 IAM 政策。IT 人員也可透過這項權限列出 finance-marketing 值區的內容,但是無法檢視或下載任何內容。
Storage 物件使用者 值區 finance-marketing 行銷分析師 將值區的「Storage Object User」角色指派給行銷分析師後,她就能上傳、檢視、更新及刪除值區內的物件。

指派上述角色後,就能確保只有行銷分析師能夠檢視或下載值區中的物件。讓 IT 人員不但能夠列出 finance-marketing 值區的內容,還能在有需要時刪除與取代儲存於值區中的檔案。

實作這個情境

您的動作

請採取下列行動,以便在這種情境下進行實作:

  1. 建立名為 finance-marketing 的 bucket。如需逐步操作說明,請參閱建立值區

  2. 為每位 IT 人員指派值區的「Storage 舊版值區擁有者」角色。如需逐步操作說明,請參閱新增主體至值區層級政策

IT 人員應採取的行動

IT 人員應採取下列行動,以便在這種情境下進行實作:

  1. 將值區的 Storage 物件使用者角色指派給行銷分析師。如需逐步操作說明,請參閱新增主體至值區層級政策

廠商集放箱

在這個情境中,一間建設公司與執行多項建築專案計劃的多間建築設計事務所共事。建設公司想要為廠商設立一個集放箱,讓他們針對不同的專案里程碑上傳建築計劃。集放箱必須確保建設公司客戶的隱私權受到保護;換句話說,集放箱不能讓廠商檢視彼此的工作內容。如要達成這個目標,請為每間建築公司建立個別值區,並將下列角色授予指定主體的列出資源

角色 資源 主體 說明
版主 整體專案 建設公司經理 將專案層級的「擁有者」角色指派給建設公司的經理,讓她為每間廠商建立值區。
Storage 物件檢視者 整體專案 建設公司經理 Storage Object Viewer 角色讓建設公司經理能夠下載廠商上傳的物件。
Storage 舊版值區擁有者 各廠商值區 建設公司經理 Storage Legacy Bucket Owner 角色讓建設公司經理能夠列出所有值區的內容,並在各個專案里程碑達成後刪除物件。
Storage 物件管理員 各廠商值區 與值區相關的廠商 為廠商指派他們自己值區中的儲存空間物件管理員角色後,就能讓他們完全掌控值區內的物件,包括上傳物件、列出值區裡的物件,以及控管可存取每個物件的使用者。這項權限無法讓廠商變更或檢視整體值區的角色等中繼資料,也無法讓他們列出或檢視專案中其他值區,因此可以保障各間廠商的隱私權。

實作這個情境

您的動作

請採取下列行動,以便在這種情境下進行實作:

  1. 將專案的「擁有者」角色和「Storage 物件檢視者」角色指派給建設公司經理。如需逐步操作說明,請參閱「授予單一角色」一文。

建設公司經理應採取的行動

建設公司經理應採取下列行動,以便在這種情境下進行實作:

  1. 為各間廠商分別建立不同值區。如需逐步操作說明,請參閱建立值區

    因為建設公司經理具備「擁有者」角色,所以針對她所建立的每個值區,她都會自動取得「Storage 舊版值區擁有者」角色。

  2. 為廠商指派他們自己值區中的「Storage Object Admin」(Storage 物件管理員) 角色。如需逐步操作說明,請參閱新增主體至值區層級政策

  3. 如有任何廠商想要使用 Google Cloud 主控台,只要將他們自己值區的連結提供給他們即可,格式如下:

    https://console.cloud.google.com/storage/browser/BUCKET_NAME

    其中 BUCKET_NAME 是指該廠商值區的名稱。

廠商應採取的行動

每間廠商皆須採取下列行動,以便在這種情境下進行實作:

  1. 將物件上傳至指派給他們的值區;最簡單的做法是直接透過 Google Cloud 主控台執行,如要使用 Google Cloud CLI 等其他方法,則必須先進行其他設定。如需逐步操作說明,請參閱上傳物件

已驗證的瀏覽器下載作業

在這個情境中,客戶想讓特定使用者透過簡單的瀏覽器下載作業取得某些檔案。您可以使用 Cloud Storage Cookie 型驗證達成這個目標。如要下載物件,使用者必須登入有效帳戶進行驗證,包括 Google Workspace、Cloud Identity、Gmail 和員工身分聯盟。通過驗證的使用者必須符合下列條件,才能下載物件:

其他使用者會收到 403 Forbidden (access denied) 錯誤。

如要使用這項功能,請先將物件的存取權授予使用者,然後將用於存取物件的特殊網址交給他們。如果使用者在尚未登入自己帳戶的情況下點選這個網址,Cloud Storage 會顯示提示,要求他們登入,之後他們就能將物件下載至自己的電腦。

實作這個情境

您可以透過下列四個一般步驟實作 Cookie 型驗證:

  1. 建立值區。如需逐步操作說明,請參閱建立值區

    假如您在自己擁有的專案中建立了值區,您會自動取得相關權限,讓您能夠將物件上傳至該值區,以及變更擁有該值區存取權的使用者。

  2. 上傳要共用的物件。如需逐步操作說明,請參閱上傳物件

  3. 將物件存取權授予使用者。常見做法是修改值區的 IAM 政策,將 Storage 物件檢視者角色指派給特定使用者;這項變更會套用至值區中所有物件。如需逐步操作說明,請參閱新增主體至值區層級政策

  4. 將用於存取物件的特殊網址提供給使用者。

    已驗證的瀏覽器下載作業會透過特定網址端點存取 Cloud Storage。請使用下列網址:

    https://storage.cloud.google.com/BUCKET_NAME/OBJECT_NAME

    其中:

    • BUCKET_NAME 是包含所需物件的值區名稱。例如:my-bucket
    • OBJECT_NAME 是所需物件的名稱。 例如:pets/dog.png

    只有具備適當存取權限的使用者可以檢視這個網址,所以您用哪種方式提供網址都沒有關係;您可以將網址直接傳送給使用者,或是張貼在網頁上。

使用群組控制存取權

在這個情境中,您想要將物件提供給特定使用者,例如受邀試用新軟體的使用者。此外,雖然您想邀請許多使用者,但不想一一為每位使用者設定權限,也不想將物件設為可公開讀取,再將物件存取連結傳送給受邀客戶,因為對方有可能會將這些連結傳送給其他未受邀的使用者。

在這個情境中,您可以採取的其中一種做法是使用 Google 網上論壇。 只要先建立群組,僅將受邀使用者加入群組,然後將物件的完整存取權授予該群組即可:

角色 資源 主體 說明
Storage 物件檢視者 您的 bucket Google 群組 將值區的 Storage 物件檢視者角色指派給 Google 群組後,屬於該 Google 群組成員的客戶就能檢視值區內的物件。非該群組成員的使用者均無法存取這些物件。

實作這個情境

  1. 建立一個 Google 群組,然後將客戶加入其中。如需逐步操作說明,請參閱建立群組

  2. 建立值區。如需逐步操作說明,請參閱建立值區

  3. 將物件上傳至值區。如需逐步操作說明,請參閱上傳物件

  4. 將物件存取權授予該 Google 群組。

    • 您可以使用 IAM 角色 storage.objectViewer 將值區中所有物件的檢視權限授予群組。如需逐步操作說明,請參閱新增主體至值區層級政策

    • 如果您只想將值區中部分物件的存取權授予群組,請針對這些個別物件設定「讀取者」ACL。如需逐步操作說明,請參閱「設定 ACL」。

  5. 與群組分享適當的要求端點,讓他們知道存取物件的位置。

    舉例來說,使用 Google Cloud 主控台時,網址 https://console.cloud.google.com/storage/browser/BUCKET_NAME 會將您帶往值區 BUCKET_NAME 中的物件清單。

使用代管資料夾控管存取權

在這個情境中,您有多位客戶,每位客戶都有一個包含自訂圖片的專屬網站。您希望顧客只能將圖片上傳至自家網站,但不能上傳至其他網站。客戶取消帳戶時,您想停用網站上圖片的公開存取權,但為了避免客戶日後想重新啟用帳戶,您不想刪除圖片。

在這種情況下,您可以採取的其中一種做法是使用受管理資料夾。您可以在值區中建立多個代管資料夾,並使用 IAM 控制客戶和客戶使用者對個別代管資料夾的存取權。

實作這個情境

  1. 建立值區

  2. 在每個客戶網站的值區中建立受管理資料夾

  3. 針對每個代管資料夾設定 IAM 政策,授予客戶 Storage Object User (roles/storage.objectUser) 角色,讓客戶可以將物件上傳至代管資料夾,以及從代管資料夾移除物件。

  4. 針對所有代管資料夾,設定 IAM 政策,將「Storage 物件檢視者」角色 (roles/storage.objectViewer) 授予主體 allUsers,讓公眾可以查看代管資料夾中的圖片物件。

    或者,您也可以授予具有 allUsers storage.objects.get IAM 權限的自訂角色

  5. 客戶取消帳戶時,請移除 IAM 政策,該政策會授予客戶相關聯受管理資料夾的 Storage 物件使用者 (roles/storage.objectUser) 角色。如要停用對該受管理資料夾中物件的公開存取權,請移除授予 allUsers「Storage 物件檢視者」角色 (roles/storage.objectViewer) 的 IAM 政策。