如要授予 Google Cloud Managed Lustre 作業的存取權,請將 Identity and Access Management (IAM) 角色授予使用者。
IAM 權限只能控管 Google Cloud Managed Lustre 作業的存取權,例如建立 Google Cloud Managed Lustre 執行個體。如要控管執行個體上檔案系統作業的存取權 (例如讀取或寫入檔案),請使用 POSIX 檔案權限。
權限與角色
Managed Lustre 會使用下列權限:
| 權限 | 說明 |
|---|---|
lustre.instances.create |
建立新執行個體 |
lustre.instances.delete |
刪除執行個體 |
lustre.instances.update |
更新執行個體。不允許刪除 |
lustre.instances.get |
描述執行個體 |
lustre.instances.list |
列出所有執行個體 |
lustre.instances.exportData
|
將資料從 Managed Lustre 匯出至 Cloud Storage |
lustre.instances.importData
|
將資料從 Cloud Storage 匯入 Managed Lustre |
lustre.locations.get |
取得位置 |
lustre.locations.list |
列出所有支援的位置 |
lustre.mirrors.create |
建立新的鏡像 |
lustre.mirrors.delete |
刪除鏡像 |
lustre.mirrors.update |
更新鏡像 |
lustre.mirrors.get |
描述鏡子 |
lustre.mirrors.list |
列出鏡像 |
lustre.operations.list |
列出作業 |
lustre.operations.get |
取得作業 |
lustre.operations.cancel |
取消作業 |
lustre.operations.delete |
刪除作業 |
Google Cloud 不支援直接授予個別權限,您必須授予包含權限的角色。Managed Lustre 的預先定義角色如下:
- Managed Lustre 管理員 (
roles/lustre.admin) - Managed Lustre 檢視者 (
roles/lustre.viewer)
下表列出 Managed Lustre 預先定義的角色和基本編輯者角色授予的權限:
| 功能 | 編輯者 (roles/editor) |
Managed Lustre (roles/lustre.*)
|
|
|---|---|---|---|
管理員 (roles/lustre.admin) |
檢視者 (roles/lustre.viewer) |
||
| 建立執行個體 | |||
| 刪除執行個體 | |||
| 更新執行個體 | |||
| 取得執行個體 | |||
| 列出執行個體 | |||
| 從 Cloud Storage 匯入資料/將資料匯出至 Cloud Storage | |||
| 設定 Cloud Storage 鏡像 | |||
| 取得位置 | |||
| 列出支援的位置 | |||
| 列出長時間執行的作業 | |||
| 取得作業 | |||
| 取消作業 | |||
| 刪除作業 | |||
自訂角色
如果現有的預先定義的角色不符合貴組織的存取權需求,您可以建立並套用自訂 IAM 角色。
建立自訂角色時,建議結合預先定義的角色,確保正確的權限一併納入。
Managed Lustre 服務代理
Managed Lustre 會使用服務代理存取其他 Google Cloud 資源,並代表您執行操作。服務代理是由 Google 代管的服務帳戶,會在您首次於專案中建立 Managed Lustre 執行個體時自動建立。也可以手動建立。
只有在使用特定選用功能時,才需要將權限授予服務代理。如要建立標準執行個體和執行檔案系統作業,但不需要這些功能,則不必設定服務代理。
需要服務代理權限的功能
下列功能需要將 IAM 角色授予服務代理:
| 功能 | 必要角色 | 目標資源 | 說明 |
|---|---|---|---|
| 客戶自行管理的加密金鑰 (CMEK) | roles/cloudkms.cryptoKeyEncrypterDecrypter |
Cloud KMS 金鑰 | 允許服務代理使用您的金鑰,加密及解密靜態資料。 |
| Cloud Storage 鏡像 | 授予 storage.buckets.get、storage.buckets.update、storage.objects.get 和 storage.objects.list 的自訂角色 |
Cloud Storage bucket | 允許服務代理建立 Pub/Sub 通知,並將 bucket 中的物件鏡像至執行個體。 |
| 從 Cloud Storage 移轉資料 | roles/storage.objectViewer |
Cloud Storage bucket | 允許服務代理讀取 bucket 中的物件,並匯入至執行個體。 |
| 將資料移轉至 Cloud Storage 或從中移出 | roles/storage.objectUser |
Cloud Storage bucket | 允許服務代理在匯入和匯出作業期間讀取及寫入物件。 |
如果您未使用上述任何功能,可以略過本節的其餘步驟。
建立或擷取服務代理身分
如要將權限授予服務代理,您必須取得其身分。服務代理程式的格式如下:
service-PROJECT_NUMBER@gcp-sa-lustre.
請使用下列其中一種方法,建立或判斷服務代理身分:
如果您尚未建立 Managed Lustre 執行個體:請執行
services identity create指令,手動建立服務代理:gcloud beta services identity create \ --service=lustre.googleapis.com \ --project=PROJECT_NUMBER_OR_ID將 PROJECT_NUMBER_OR_ID 替換為要建立 Managed Lustre 執行個體的專案編號或 ID。指令會傳回類似以下內容的輸出結果:
Service identity created: service-1234567890@gcp-sa-lustre.如果您已建立 Managed Lustre 執行個體:請使用
gcloud projects describe指令擷取專案編號,建構服務代理身分:gcloud projects describe PROJECT_ID --format="value(projectNumber)"將 PROJECT_ID 替換為專案 ID。然後,替換服務代理電子郵件地址中的 PROJECT_NUMBER:
service-PROJECT_NUMBER@gcp-sa-lustre.
將權限授予服務代理
取得服務代理身分後,請參閱下列說明文件,為功能授予必要角色:
其他必要 Google Cloud 權限
除了lustre權限外,您可能還需要其他Google Cloud 服務的權限,才能執行特定工作:
| 工作 | 權限 |
|---|---|
| 建立虛擬私有雲網路 | 請參閱「設定虛擬私有雲網路」的「必要權限」一節 |
| 建立 Compute Engine VM | Compute 執行個體管理員 (v1)。(roles/compute.instanceAdmin.v1)
詳情請參閱 Compute Engine 說明文件。 |
| 建立及管理 Google Kubernetes Engine 叢集 | Container 管理員。(roles/container.admin)
詳情請參閱 Google Kubernetes Engine 說明文件。 |