Compute Engine 可直接從 Artifact Registry 存放區提取容器,因此您可以在虛擬機器 (VM) 執行個體上執行容器化工作負載。您可以設定服務帳戶角色和存取權範圍,控管 VM 跨專案存取或上傳構件的方式。
所需權限
Compute Engine 服務帳戶必須有 Artifact Registry 的存取權,才能提取容器映像檔。
視機構政策設定而定,預設服務帳戶可能會自動獲得專案的編輯者角色。強烈建議您
強制執行 iam.automaticIamGrantsForDefaultServiceAccounts 機構政策限制,停用自動角色授予功能。如果組織是在 2024 年 5 月 3 日後建立,系統預設會強制執行這項限制。
停用此功能後,您必須決定要將哪些角色授予預設服務帳戶,然後自行授予這些角色。
如果預設服務帳戶已具備「編輯者」角色,建議您將「編輯者」角色替換為權限較少的角色。如要安全修改服務帳戶的角色,請使用 Policy Simulator 查看變更會造成的影響,然後授予及撤銷適當的角色。
以下列舉不同情境所需的存取範圍和角色:
- 如要從 Artifact Registry 存放區提取容器映像檔,您必須將 Artifact Registry 讀取者角色 (
roles/artifactregistry.reader) 授予 Compute Engine 服務帳戶。此外,請確保已為 Cloud Storage 儲存空間 bucket 設定read-only存取範圍。 - 您希望 VM 執行個體上傳至存放區。在這種情況下,您必須設定存取範圍,並授予儲存空間寫入權限:
read-write、cloud-platform或full-control。 - VM 執行個體與您要存取的存放區位於不同專案。在含有存放區的專案中,授予執行個體服務帳戶必要權限。
- 這些存放區位於同一個專案中,但您不希望預設服務帳戶在所有存放區中擁有相同的存取層級。在這種情況下,您必須在存放區層級授予適當的權限,並在專案層級撤銷 Artifact Registry 權限。
- VM 與自訂服務帳戶相關聯。請確認服務帳戶具備必要的權限和存取權範圍。
- 您使用自訂角色授予權限,但自訂角色未包含必要的 Artifact Registry 權限。為角色新增必要的權限。