您可以在專案層級,與其他 Earth Engine 使用者共用已啟用 Earth Engine 的專案資產或運算配額。您可以與其他使用者或使用者群組共用 Earth Engine 資產或運算資源。如要與一群使用者共用,請建立新的 Google 群組,並記下該群組的電子郵件地址 (可透過群組頁面上的「關於」連結取得)。本頁面說明如何為個人或群組提供資源存取權,以及不同活動所需的角色和權限。
設定 Earth Engine 服務用量
如要在 Cloud 專案中使用 Earth Engine API,必須在專案中啟用 API,且使用者至少須具備「Earth Engine 資源檢視者」角色中的權限 (進一步瞭解預先定義的 Earth Engine IAM 角色)。此外,使用者必須擁有該專案的至少 serviceusage.services.use 權限。您可以透過專案擁有者或編輯者角色,或透過特定的服務使用情形消費者角色授予這項權限。如果使用者在所選專案中沒有必要的 Earth Engine 權限和服務使用權限,系統就會擲回錯誤。
設定資產權限
設定資產層級權限
您有幾種方式可以更新資產層級的權限。
- 在程式碼編輯器中使用資產管理工具。
- 使用 Earth Engine 指令列。
- 使用用戶端程式庫,例如
ee.data.setAssetAcl()。 - 或直接呼叫 REST API。
設定專案層級的資產權限
在專案層級共用時,系統會一次設定所有已啟用 Earth Engine 的 Cloud 專案資產權限。
如要在專案層級共用資產,請在專案的 IAM 管理員頁面指派適當的身分與存取權管理 (IAM) 角色。您可以透過預先定義的 Earth Engine IAM 角色,共用 Earth Engine 資產和資源。如要進一步瞭解 IAM 角色,請參閱「瞭解角色」一文。
其他使用者嘗試存取您的資產時,系統會先檢查資產層級的權限。如果未在資產層級設定權限或檢查失敗 (即沒有存取權),系統會在專案層級檢查權限。
設定專案層級權限
如要設定專案層級的權限,請將專案 IAM 角色指派給使用者或使用者群組:
- 在 Google Cloud 控制台中開啟「IAM」頁面
開啟「IAM」頁面
或者,將指標懸停在 Code Editor 的「資產」分頁標籤上,然後點選 圖示。 - 按一下「選取專案」,然後選擇您的專案 (如果您是從程式碼編輯器開啟 IAM 頁面,應該已經在該專案中)。
- 按一下頂端的「新增」,然後新增個人或群組電子郵件地址做為新成員,或按一下專案中現有成員旁的 圖示。
- 在「角色」下拉式選單中,搜尋要授予的「Earth Engine 資源」角色。詳情請參閱預先定義的 Earth Engine IAM 角色。
- 按一下「儲存」按鈕。
VPC Service Controls
Earth Engine 支援 VPC Service Controls,這項 Google Cloud 安全性功能可協助使用者保護資源,並降低資料竊取風險。將資源新增至 VPC 服務範圍,可進一步控管資料讀取和寫入作業。
進一步瞭解 VPC-SC 功能和設定。
限制
為資源啟用 VPC Service Controls 時,會受到幾項限制,我們已提供範例解決方法:
| 限制 | 替代方案範例 |
|---|---|
| 程式碼編輯器不支援 VPC Service Controls,因此無法搭配使用,也無法存取服務範圍內的資源和用戶端。 |
搭配
geemap 程式庫使用
Earth Engine Python API。 |
| 舊版資產不會受到 VPC Service Controls 保護。 | 使用 儲存在 Cloud 專案中的資產。 |
| VPC Service Controls 不支援 匯出至 Google 雲端硬碟。 |
|
| 服務範圍內的資源和用戶端不支援 Earth Engine 應用程式。 | 沒有可用的替代方案。 |
只有 Professional 和 Premium 價格方案,才能搭配使用 Earth Engine 和受保護的 VPC 服務範圍內資源。如果嘗試搭配使用 Earth Engine API 和與 Basic 價格方案相關聯的 VPC-SC 保護專案,系統會顯示錯誤。如要進一步瞭解 Earth Engine 定價,請參閱官方文件。
如要進一步瞭解 VPC Service Controls 及其限制,請參閱「支援的產品和限制」。
角色和權限
以下各節說明執行活動和存取 Earth Engine 資源所需的權限和角色。請參閱 Google Cloud 說明文件,進一步瞭解 Cloud 專案的權限和角色。
預先定義的 Earth Engine IAM 角色
Earth Engine 提供預先定義的角色,可讓您在專案中對 Earth Engine 資源進行不同程度的控管。這些角色包括:
| 角色 | 名稱 | 說明 |
|---|---|---|
roles/earthengine.viewer |
Earth Engine 資源檢視者 | 提供查看及列出資產和工作的權限。 |
roles/earthengine.writer |
Earth Engine 資源寫入者 | 提供讀取、建立、修改及刪除資產的權限、匯入圖片和表格、讀取及更新工作、執行互動式運算,以及建立長時間執行的匯出工作。 |
roles/earthengine.admin |
Earth Engine 管理員 | 提供所有 Earth Engine 資源的權限,包括變更 Earth Engine 資產的存取權控管。 |
roles/earthengine.appsPublisher |
Earth Engine 應用程式發布者 | 授予權限,可建立服務帳戶以搭配 Earth Engine 應用程式使用。此外,也授予權限,可編輯及刪除 Cloud 專案中專案擁有的應用程式。 |
請注意,如果預先定義的 Earth Engine 角色不符合您的需求,您可以設定原始或自訂角色。如要查看與每個角色相關聯的權限組合,請前往 IAM 角色頁面,篩選特定角色並點選該角色。
具備 Earth Engine API 的完整存取權
如要讓使用者透過 REST API 直接存取 Earth Engine 服務,或透過程式碼編輯器或用戶端程式庫存取,使用者必須具備執行下列作業的權限:
- 執行 Earth Engine 運算式
- 執行批次計算 (匯出)
- 取得互動式結果 (線上地圖、縮圖、圖表等)
- 建立/刪除 Earth Engine 資產
- 使用用戶端程式庫透過 OAuth 驗證連線至 Earth Engine
| 必須授予權限 |
|
| 建議角色 |
|
| 附註 |
Google Cloud 需要「Service Usage Consumer」角色,才能在呼叫 API 時將專案做為有效專案,如果專案 X 沒有這項權限,ee.Initialize(project=X) |
僅分享資產
授予使用者其中一個預先定義的 Earth Engine IAM 角色,並提供執行必要活動的最低權限。請注意,使用者必須具備必要權限,才能使用專案資源。serviceusage
專案管理
列出並顯示可用的專案
使用程式碼編輯器瀏覽可用專案時,就會發生這種情況。
| 必須授予權限 |
|
| 建議角色 |
|
選取要在程式碼編輯器中使用的專案
| 必須授予權限 |
如果先前未設定專案首次透過程式碼編輯器選取專案時,系統會初始化專案,以供 Earth Engine 使用。如果先前未執行這項操作,您需要這些角色才能順利完成設定。
|
| 建議角色 |
其他角色 (如果專案先前未設定)
|
透過程式碼編輯器建立專案
| 必須授予權限 |
|
| 建議角色 |
|
| 附註 |
貴機構可能不會授予您「編輯者」角色,因此可能需要更精細的角色。需要專案移動者角色,才能涵蓋 projects.update 權限。 |
選取非商業用途級別
下列權限和建議角色與非商業層級設定相關。
選取級別
| 必須授予權限 |
|
| 建議角色 |
|
新增帳單帳戶
專案必須具備有效的帳單帳戶,才能註冊「貢獻者」級別。
| 必須授予權限 |
|
| 建議角色 |
|
商業專案註冊
下列權限與註冊專案以供付費使用相關。
| 必須授予權限 | |
|---|---|
| 帳單帳戶 |
|
| Cloud 專案 |
|
| 建議角色 | |
| 帳單帳戶 |
|
| Cloud 專案 |
|
管理商業 Earth Engine 方案
下列權限與管理 Earth Engine 價格方案有關。
|
帳單帳戶所需權限 |
|
|
帳單帳戶的建議角色 |
|
批次管理工作
下列權限與批次工作並行處理的專案限制設定有關。這項功能僅適用於 Earth Engine 的商業使用者。
查看專案層級的批次工作限制
|
Cloud 帳戶的必要權限 |
earthengine.config.get
|
設定專案層級的批次工作限制
|
Cloud 帳戶的必要權限 |
earthengine.config.update注意:這項權限也包括查看帳單帳戶中設定的方案層級限制。 |
|
帳單帳戶所需權限 |
billing.subscriptions.list
|
管理應用程式
顯示應用程式資訊
| 所需權限 |
|
| 建議角色 |
檢視者 (roles/viewer) 或Earth Engine 應用程式發布者 ( roles/earthengine.appsPublisher)
|
發布/更新應用程式
| 必須授予權限 |
|
| 建議角色 |
Earth Engine 應用程式發布者 (roles/earthengine.appsPublisher) 或服務帳戶管理員 ( roles/iam.serviceAccountAdmin)
|
| 附註 |
|
刪除應用程式
| 必須授予權限 | iam.serviceAccounts.disable |
| 建議角色 |
Earth Engine 應用程式發布者 (roles/earthengine.appsPublisher) 或服務帳戶管理員 ( roles/iam.serviceAccountAdmin)
|