App Optimize API 使用 Identity and Access Management (IAM) 控管資源存取權,例如報表和作業。IAM 可讓您對特定 App Optimize API 資源授予精細的存取權,協助預防其他資源遭到存取。
本文說明適用於 App Optimize API 的 IAM 權限和角色。
權限總覽
擁有權限的使用者才能對 App Optimize API 資源執行特定操作。下表列出 App Optimize API 的權限:
| 權限 | 說明 |
|---|---|
appoptimize.operations.cancel |
取消長時間執行的作業。 |
appoptimize.operations.delete |
刪除一個長時間執行的作業。 |
appoptimize.operations.get |
取得長時間執行的作業狀態。 |
appoptimize.operations.list |
列出長時間執行的作業。 |
appoptimize.reports.create |
建立 App Optimize API 報表資源。 |
appoptimize.reports.delete |
刪除 App Optimize API 報表資源。 |
appoptimize.reports.get |
讀取 App Optimize API 報表資源的設定中繼資料。但無法存取報表資料。 |
appoptimize.reports.getData |
讀取 App Optimize API 報表中的資料。 |
appoptimize.reports.list |
列出專案中的 App Optimize API 報表資源。 |
預先定義的角色
IAM 提供預先定義的角色,可授予一組相關權限。App Optimize API 提供下列角色,詳情請參閱下列小節:
| 角色 | 名稱 | 說明 |
|---|---|---|
roles/appoptimize.admin |
App Optimize 管理員 | 全面掌控 App Optimize API 報表和作業。 |
roles/appoptimize.viewer |
App Optimize 檢視者 | 具備 App Optimize API 報表中繼資料、報表資料和作業的讀取權限。 |
由於 App Optimize API 處於預先發布階段,這些角色可能不會顯示在 Google Cloud 控制台中。 如要授予這些角色,請使用 Google Cloud CLI。如果尚未安裝,請安裝並初始化 Google Cloud CLI。
如要將「應用程式最佳化管理員」角色 (roles/appoptimize.admin) 授予使用者,請執行下列指令:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/appoptimize.admin"
如要將 App Optimize 檢視者角色 (roles/appoptimize.viewer) 授予使用者,請執行下列指令:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/appoptimize.viewer"
更改下列內容:
PROJECT_ID:擁有報表資源的 Google Cloud 專案 ID。USER_EMAIL:要授予角色的使用者電子郵件地址。
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
App Optimize 管理員
具備 App Optimize API 資源的完整控制權,並包含授予 App Optimize 檢視者的權限。
- 角色名稱:
roles/appoptimize.admin - 包含的權限:
appoptimize.operations.*appoptimize.reports.*
App Optimize 檢視者
授予讀取 App Optimize API 報表、中繼資料和作業的權限。
- 角色名稱:
roles/appoptimize.viewer - 包含的權限:
appoptimize.operations.getappoptimize.operations.listappoptimize.reports.getappoptimize.reports.getDataappoptimize.reports.list
建立報表的權限
如要建立報表,使用者、服務帳戶或其他主體必須具備下列條件:
專案的
appoptimize.reports.create權限 (通常由應用程式最佳化管理員 (roles/appoptimize.admin) 角色授予),用於建立報表資源。報表範圍內所有專案的
billing.resourceCosts.get權限。「帳單帳戶檢視者」角色 (roles/billing.viewer) 或基本「檢視者」角色 (roles/viewer) 均提供這項權限。存取報表範圍、維度和指標所涵蓋資料來源的權限。App Optimize API 會在建立報表時檢查這些權限。可授予這項資料來源存取權的角色包括:
如要查看 CPU 和記憶體使用率指標,您必須具備範圍內資源的 Monitoring 檢視者 (
roles/monitoring.viewer) 角色。如要查看 App Hub 應用程式範圍和維度,您必須在應用程式的 App Hub 主專案中,具備 App Management Viewer (
roles/apphub.appManagementViewer) 角色。
如果您要產生應用程式中心應用程式的報表 (這類應用程式可能由多個專案組成),您必須擁有所有相關聯專案的必要監控和帳單權限,才能建立報表。
讀取報表資料的權限
成功建立報表後,主體只需要下列權限,即可讀取產生的資料:
appoptimize.reports.getData專案 (報表是在該專案中建立) 或報表本身。此權限包含在roles/appoptimize.viewer角色中。
後續步驟
- 進一步瞭解 IAM 角色和權限。
- 瞭解如何製作報表。
- 參閱 App Optimize API 總覽。