您可以為使用者授予 Identity and Access Management (IAM) 角色,讓使用者可存取 Google Cloud Managed Lustre 作業。
身分與存取權管理權限只會控制對 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.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.*)
|
|
|---|---|---|---|
admin |
viewer |
||
| 建立執行個體 | |||
| 刪除執行個體 | |||
| 更新執行個體 | |||
| 取得執行個體 | |||
| 列出執行個體 | |||
| 從 Cloud Storage 匯入/匯出資料 | |||
| 取得位置資訊 | |||
| 列出支援的地區 | |||
| 列出長時間執行的作業 | |||
| 取得作業 | |||
| 取消作業 | |||
| 刪除作業 | |||
自訂角色
如果可用的預先定義角色不符合貴機構的存取權需求,您可以建立及套用自訂 IAM 角色。
建立自訂角色時,建議使用預先定義的角色組合,確保包含正確的權限。
Managed Lustre 服務代理
Managed Lustre 會使用服務代理存取其他 Google Cloud 資源,並代表您執行動作。服務代理程式是由 Google 代管的服務帳戶,首次在專案中建立 Managed Lustre 執行個體時,系統會自動建立該帳戶。您也可以手動建立。
只有在使用特定選用功能時,才需要授予服務代理權限。如要建立標準執行個體及執行檔案系統作業,但不需要這些功能,則無須設定服務代理程式。
需要服務代理權限的功能
如要使用下列功能,必須將 IAM 角色授予服務代理:
| 功能 | 必要角色 | 目標資源 | 說明 |
|---|---|---|---|
| 客戶自行管理的加密金鑰 (CMEK) | roles/cloudkms.cryptoKeyEncrypterDecrypter |
Cloud KMS 金鑰 | 允許服務代理程式使用您的金鑰加密及解密靜態資料。 |
| 從 Cloud Storage 移轉資料 | roles/storage.objectViewer |
Cloud Storage bucket | 允許服務代理從值區讀取物件並匯入執行個體。 |
| 將資料移轉至 Cloud Storage,或從 Cloud Storage 移轉資料 | roles/storage.objectUser |
Cloud Storage bucket | 允許服務代理程式在匯入和匯出作業期間讀取及寫入物件。 |
如果您未使用任何這些功能,可以略過本節的其餘步驟。
建立或擷取服務代理身分
如要將權限授予服務代理,必須取得其身分。服務代理程式會使用下列格式:
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com
請使用下列其中一個選項,建立或判斷服務代理程式身分:
如果您尚未建立 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.iam.gserviceaccount.com如果已建立 Managed Lustre 執行個體: 如要建構服務代理程式身分,請使用
gcloud projects describe指令擷取專案編號:gcloud projects describe PROJECT_ID --format="value(projectNumber)"將 PROJECT_ID 替換為專案 ID。然後,在服務代理電子郵件地址中,將 PROJECT_NUMBER 替換為:
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com
將權限授予服務代理
取得服務代理身分後,請參閱下列文件,為您的功能授予必要角色:
其他必要 Google Cloud 權限
除了 lustre 權限,您可能還需要其他Google Cloud 服務的權限才能執行特定工作:
| 工作 | 權限 |
|---|---|
| 建立虛擬私有雲網路 | 請參閱「設定虛擬私有雲網路」一文的「必要權限」一節 |
| 建立 Compute Engine VM | Compute 執行個體管理員 (v1)。(roles/compute.instanceAdmin.v1)
詳情請參閱 Compute Engine 說明文件。 |
| 建立及管理 Google Kubernetes Engine 叢集 | 容器管理員。
(roles/container.admin)
詳情請參閱 Google Kubernetes Engine 說明文件。 |