您可以在專案層級,與其他 Earth Engine 使用者共用啟用 Earth Engine 的專案的資產或運算配額。Earth Engine 資產或運算資源可與其他使用者或使用者群組共用。如要與一群使用者分享,請建立新的 Google 群組,並記下群組的電子郵件地址 (可透過群組頁面上的「關於」連結取得)。本頁面說明如何為個人或群組提供資源存取權,以及不同活動所需的角色和權限。
設定 Earth Engine 服務用量
如要在 Cloud 專案中使用 Earth Engine API,必須在專案中啟用 API,且使用者至少要有 Earth Engine 資源檢視器角色的權限 (進一步瞭解 預先定義的 Earth Engine IAM 角色)。此外,使用者必須至少擁有專案的 serviceusage.services.use
權限。您可以透過專案的擁有者或編輯者角色,或是透過特定的服務使用情形消費者角色提供這項權限。如果使用者對所選專案沒有必要的 Earth Engine 權限和服務使用情形權限,系統會擲回錯誤。
設定資產權限
設定資產層級權限
您可以透過多種方式更新素材資源層級的權限。
- 在 Code Editor 中使用 Assets Manager。
- 使用 Earth Engine 指令列。
- 使用用戶端程式庫,例如
ee.data.setAssetAcl()
。 - 或者,您也可以直接呼叫 REST API。
設定專案層級素材資源權限
在專案層級共用時,系統會一次設定 Earth Engine 支援的 Cloud 專案中所有資產的權限。
您可以在專案的 IAM 管理員頁面中指派適當的身分與存取權管理 (IAM) 角色,以便在專案層級分享資產。預先定義的 Earth Engine IAM 角色可用於共用 Earth Engine 資產和資源。如要進一步瞭解 IAM 角色,請參閱「瞭解角色」一文。
當其他使用者嘗試存取您的某項資產時,系統會先在資產層級檢查權限。如果未在素材資源層級設定權限,或是檢查失敗 (即沒有存取權),系統會在專案層級檢查權限。
設定專案層級權限
如要在專案層級設定權限,請為使用者或使用者群組指派專案 IAM 角色:
- 在 Google Cloud 控制台中開啟「IAM」頁面
開啟「IAM」頁面
或者,將游標懸停在程式碼編輯器的「Assets」分頁中專案名稱上,然後點選 圖示。 - 按一下「選取專案」,然後選擇專案 (如果您是透過程式碼編輯器開啟 IAM 頁面,應該已經在該頁面中)。
- 按一下頂端的「新增」,然後將個人或群組電子郵件新增為新成員,或是按一下專案中現有成員旁的 圖示。
- 在「角色」下拉式選單中,搜尋要授予的 Earth Engine 資源角色。詳情請參閱「預先定義的 Earth Engine 身分與存取權管理角色」。
- 按一下「儲存」按鈕。
VPC Service Controls
Earth Engine 支援 VPC Service Controls,這是 Google Cloud 的安全性功能,可協助使用者保護資源,並降低資料竊取風險。將資源新增至 VPC 服務範圍,可進一步控管資料的讀取和寫入作業。
進一步瞭解 VPC-SC 功能和設定。
限制
為資源啟用 VPC Service Controls 時,會有一些限制,我們提供一些因應措施範例:
限制 | 替代方案範例 |
---|---|
系統不支援Code Editor,且 VPC Service Controls 不允許在服務範圍內的資源和用戶端使用 Code Editor。 |
請搭配使用
Earth Engine Python API 和
geemap 程式庫。 |
Legacy 資產不會受到 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 權限。 |
商業專案註冊
下列權限與註冊付費使用專案相關。
必須授予權限 | |
---|---|
帳單帳戶 | 如果帳單帳戶已訂閱 Earth Engine 方案,則不需要帳單帳戶權限。否則:
|
Cloud 專案 |
|
建議的角色 | |
帳單帳戶 | 如果帳單帳戶已訂閱 Earth Engine 方案,則不需要帳單帳戶權限。否則:
|
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 )
|