Kiểm soát quyền truy cập vào tài nguyên

Bạn có thể chia sẻ tài sản hoặc hạn mức điện toán của dự án đã bật Earth Engine với những người dùng Earth Engine khác ở cấp dự án. Bạn có thể chia sẻ tài sản hoặc tài nguyên điện toán của Earth Engine với một người dùng hoặc nhóm người dùng khác. Nếu bạn muốn chia sẻ với một nhóm người dùng, hãy Tạo một Nhóm Google mới và ghi lại email của nhóm đó (có trong đường liên kết Giới thiệu trên trang của nhóm). Trang này mô tả cách cấp quyền truy cập vào tài nguyên cho một cá nhân hoặc nhóm, cũng như Vai trò và quyền cần thiết cho các hoạt động khác nhau.

Đặt mức sử dụng dịch vụ Earth Engine

Để sử dụng Earth Engine API trên một dự án trên Google Cloud, bạn phải bật API này trên dự án và người dùng phải có ít nhất các quyền trong vai trò Trình xem tài nguyên Earth Engine (tìm hiểu thêm về các vai trò IAM được xác định trước của Earth Engine). Ngoài ra, người dùng phải có ít nhất quyền serviceusage.services.use đối với dự án. Bạn có thể cấp quyền đó thông qua vai trò Chủ sở hữu hoặc Người chỉnh sửa của dự án, hoặc thông qua vai trò Người dùng sử dụng dịch vụ cụ thể. Hệ thống sẽ gửi thông báo lỗi nếu người dùng không có quyền cần thiết đối với Earth Engine và quyền sử dụng dịch vụ trên dự án đã chọn.

Thiết lập quyền đối với tài sản

Thiết lập quyền ở cấp tài sản

Có một số cách để cập nhật quyền ở cấp tài sản.

  • Sử dụng Trình quản lý tài sản trong Trình soạn thảo mã.
  • Sử dụng dòng lệnh Earth Engine.
  • Sử dụng thư viện ứng dụng, ví dụ: ee.data.setAssetAcl().
  • Hoặc gọi trực tiếp API REST.

Đặt quyền đối với tài sản ở cấp dự án

Việc chia sẻ ở cấp dự án sẽ đặt quyền cho tất cả tài sản trong dự án trên đám mây đã bật Earth Engine cùng một lúc.

Bạn có thể chia sẻ tài sản ở cấp dự án bằng cách chỉ định vai trò Quản lý danh tính và quyền truy cập (IAM) phù hợp trên trang quản trị IAM của dự án. Có Vai trò IAM được xác định trước của Earth Engine để chia sẻ tài sản và tài nguyên của Earth Engine. Hãy xem bài viết Tìm hiểu về các vai trò để biết thông tin tổng quan hơn về các vai trò IAM.

Khi một người dùng khác cố gắng truy cập vào một trong các tài sản của bạn, quyền truy cập sẽ được kiểm tra trước tiên ở cấp tài sản. Nếu quyền chưa được đặt ở cấp tài sản hoặc quy trình kiểm tra không thành công (tức là không có quyền truy cập), thì quyền sẽ được kiểm tra ở cấp dự án.

Đặt quyền ở cấp dự án

Để đặt quyền ở cấp dự án, hãy chỉ định vai trò IAM của dự án cho một người dùng hoặc nhóm người dùng:

  1. Mở trang IAM trong Google Cloud Console
    Mở trang IAM
    Hoặc di chuột qua tên dự án trên thẻ Assets (Tài sản) của Trình soạn thảo mã rồi nhấp vào biểu tượng .
  2. Nhấp vào chọn một dự án rồi chọn dự án của bạn (bạn sẽ thấy dự án này nếu đã mở trang IAM từ Trình soạn thảo mã).
  3. Nhấp vào ADD (THÊM) ở trên cùng rồi thêm email của cá nhân hoặc nhóm làm thành viên mới, hoặc nhấp vào biểu tượng bên cạnh thành viên hiện có trong dự án.
  4. Trong trình đơn thả xuống Vai trò, hãy tìm vai trò Tài nguyên Earth Engine mà bạn muốn cấp. Xem Vai trò IAM được xác định trước của Earth Engine để biết thông tin chi tiết.
  5. Nhấp vào nút LƯU.

VPC Service Controls

Earth Engine hỗ trợ VPC Service Controls, một tính năng bảo mật của Google Cloud giúp người dùng bảo mật tài nguyên và giảm thiểu rủi ro rò rỉ dữ liệu. Việc thêm tài nguyên vào ranh giới dịch vụ VPC cho phép kiểm soát nhiều hơn đối với các thao tác đọc và ghi dữ liệu.

Tìm hiểu thêm về các tính năng và cấu hình của VPC-SC.

Các điểm hạn chế

Việc bật VPC Service Controls cho tài nguyên của bạn có một số hạn chế, và chúng tôi đã cung cấp các giải pháp thay thế mẫu:

Giới hạn Ví dụ về giải pháp thay thế
Trình soạn thảo mã không được hỗ trợ và VPC Service Controls sẽ không cho phép sử dụng trình soạn thảo mã với các tài nguyên và ứng dụng khách bên trong một vành đai dịch vụ. Sử dụng Earth Engine Python API cùng với thư viện geemap.
Các thành phần cũ không được VPC Service Controls bảo vệ. Sử dụng các thành phần được lưu trữ trong dự án trên đám mây.
Tính năng Xuất sang Google Drive không được VPC Service Controls hỗ trợ.
Ứng dụng Earth Engine không được hỗ trợ cho các tài nguyên và ứng dụng khách bên trong vành đai dịch vụ. Không có giải pháp.

Bạn chỉ có thể sử dụng Earth Engine với các tài nguyên bên trong ranh giới dịch vụ VPC bảo mật cho các gói giá Professional và Premium. Nếu bạn cố gắng sử dụng Earth Engine API với một dự án được bảo mật bằng VPC-SC liên kết với gói giá Basic, thì sẽ gặp lỗi. Để tìm hiểu thêm về giá của Earth Engine, hãy xem tài liệu chính thức.

Bạn có thể tìm thêm thông tin về VPC Service Controls và các hạn chế của dịch vụ này trong phần Sản phẩm và hạn chế được hỗ trợ.

Vai trò và quyền

Các phần sau đây mô tả các quyền và vai trò cần thiết để thực hiện hoạt động và truy cập vào tài nguyên Earth Engine. Hãy xem tài liệu của Google Cloud để tìm hiểu thêm về quyền và vai trò trong dự án trên đám mây.

Vai trò IAM được xác định trước trong Earth Engine

Earth Engine cung cấp các vai trò được xác định trước, cho phép nhiều mức độ kiểm soát đối với tài nguyên Earth Engine trong một dự án. Các vai trò này bao gồm:

Vai trò Tiêu đề Mô tả
roles/earthengine.viewer Trình xem tài nguyên Earth Engine Cung cấp quyền xem và liệt kê Tài sản cũng như nhiệm vụ.
roles/earthengine.writer Earth Engine Resource Writer Cung cấp quyền đọc, tạo, sửa đổi và xoá tài sản, nhập hình ảnh và bảng, đọc và cập nhật tác vụ, thực hiện các phép tính tương tác và tạo tác vụ xuất chạy trong thời gian dài.
roles/earthengine.admin Quản trị viên Earth Engine Cung cấp quyền cho tất cả tài nguyên của Earth Engine, bao gồm cả việc thay đổi quyền kiểm soát truy cập cho các tài sản của Earth Engine.
roles/earthengine.appsPublisher Nhà xuất bản ứng dụng Earth Engine Cấp quyền tạo tài khoản dịch vụ để sử dụng với một ứng dụng Earth Engine. Đồng thời, cấp quyền chỉnh sửa và xoá các ứng dụng thuộc sở hữu của Dự án trong Dự án trên đám mây.

Xin lưu ý rằng bạn có thể đặt vai trò nguyên gốc hoặc tuỳ chỉnh nếu các vai trò Earth Engine được xác định trước không đáp ứng nhu cầu của bạn. Bạn có thể xem gói quyền liên kết với từng vai trò trên trang Vai trò IAM bằng cách lọc ra một vai trò cụ thể rồi nhấp vào vai trò đó.

Bật Earth Engine API

Để bật Earth Engine API trên một dự án trên đám mây, người dùng cần có vai trò Quản trị viên sử dụng dịch vụ (roles/serviceusage.serviceUsageAdmin) hoặc một vai trò khác có quyền serviceusage.services.enable (chẳng hạn như Chủ sở hữu hoặc Người chỉnh sửa dự án).

Cần cấp quyền
  • serviceusage.services.enable
  • serviceusage.services.get
Vai trò đề xuất
  • Quản trị viên sử dụng dịch vụ (roles/serviceusage.serviceUsageAdmin) HOẶC
  • Chủ sở hữu (roles/owner) HOẶC
  • Người chỉnh sửa (roles/editor)

Toàn quyền truy cập vào Earth Engine API

Để cấp cho người dùng quyền truy cập đầy đủ vào dịch vụ Earth Engine, trực tiếp thông qua API REST, thông qua Trình soạn thảo mã hoặc thông qua thư viện ứng dụng, người dùng sẽ cần có quyền thực hiện các thao tác như:

Cần cấp quyền
  • clientauthconfig.clients.listWithSecrets
  • earthengine.assets.get
  • earthengine.assets.getIamPolicy
  • earthengine.assets.list
  • earthengine.computations.create
  • earthengine.operations.get
  • earthengine.operations.list
  • monitoring.timeSeries.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.operations.get
  • serviceusage.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • serviceusage.services.use
Vai trò được đề xuất
  • Người dùng dịch vụ (roles/serviceusage.serviceUsageConsumer) VÀ một trong các vai trò sau:
    • Earth Engine Resource Viewer (roles/earthengine.viewer) HOẶC
    • Người ghi tài nguyên Earth Engine (roles/earthengine.writer) HOẶC
    • Quản trị viên tài nguyên Earth Engine (roles/earthengine.admin)
  • OAuth Config Editor (roles/oauthconfig.editor) cũng cần thiết cho những người dùng truy cập vào Earth Engine thông qua môi trường sổ tay và sử dụng Trình xác thực sổ tay. Hãy xem phần Xác thực sổ ghi chú Colab hoặc JupyterLab để biết thêm thông tin chi tiết.
Ghi chú Google Cloud yêu cầu vai trò Người dùng sử dụng dịch vụ để sử dụng dự án làm dự án đang hoạt động khi gọi API, và ee.Initialize(project=X) sẽ không thành công nếu không có quyền này đối với dự án X. Ngoài ra, bạn có thể chọn dự án này trong Cloud Console để hiển thị mức sử dụng tài nguyên của bạn.

Chỉ chia sẻ thành phần

Cấp cho người dùng một trong các Vai trò IAM được xác định trước của Earth Engine với quyền tối thiểu để thực hiện hoạt động cần thiết. Xin lưu ý rằng người dùng sẽ không thể sử dụng tài nguyên của dự án nếu không có các quyền serviceusage cần thiết.

Quản lý dự án

Liệt kê và hiển thị các dự án hiện có

Điều này xảy ra khi bạn sử dụng Trình soạn thảo mã để duyệt xem các dự án hiện có.

Cần cấp quyền
  • resourcemanager.projects.get
  • resourcemanager.folders.list
  • resourcemanager.folders.get
  • resourcemanager.organizations.get (không phổ biến)
Vai trò đề xuất
  • Người xem (roles/viewer) HOẶC
    Người xem tài nguyên Earth Engine (roles/earthengine.viewer) trên các dự án có liên quan HOẶC
    Trình duyệt (roles/browser, nên dùng cho các trường hợp tổ chức nâng cao)
  • Người xem thư mục (roles/resourcemanager.folderViewer) đối với các thư mục có liên quan

Chọn một dự án để sử dụng trong Trình soạn thảo mã

Cần cấp quyền
  • resourcemanager.projects.get
  • serviceusage.services.get
Nếu dự án chưa được thiết lập trước đó

Khi bạn chọn một dự án lần đầu tiên thông qua Trình soạn thảo mã, dự án đó sẽ được khởi chạy để sử dụng với Earth Engine. Nếu chưa từng thực hiện việc này, bạn sẽ cần có các vai trò này để thiết lập thành công.

  • resourcemanager.projects.update VÀ
  • serviceusage.services.enable
Vai trò đề xuất
  • Người xem (roles/viewer) HOẶC
  • Earth Engine Resource Viewer (roles/earthengine.viewer) VÀ
    Service Usage Consumer (roles/serviceusage.serviceUsageConsumer)
Các vai trò khác (nếu dự án chưa được thiết lập trước đó)
  • Người chỉnh sửa (roles/editor) HOẶC
  • Người di chuyển dự án (roles/resourcemanager.projectMover) VÀ
    Quản trị viên IAM của dự án (roles/resourcemanager.projectIamAdmin) VÀ
    Quản trị viên sử dụng dịch vụ (roles/serviceusage.serviceUsageAdmin)

Tạo dự án thông qua Trình soạn thảo mã

Cần cấp quyền
  • resourcemanager.projects.get
  • resourcemanager.projects.create
  • resourcemanager.projects.update
  • serviceusage.services.get
  • serviceusage.services.enable
Vai trò đề xuất
  • Người chỉnh sửa (roles/editor) HOẶC
  • Người di chuyển dự án (roles/resourcemanager.projectMover) VÀ
    Người tạo dự án (roles/resourcemanager.projectCreator) VÀ
    Quản trị viên sử dụng dịch vụ (roles/serviceusage.serviceUsageAdmin)
Ghi chú Tổ chức của bạn có thể không cấp cho bạn vai trò Người chỉnh sửa, vì vậy, bạn có thể cần các vai trò chi tiết hơn. Bạn cần có vai trò Người di chuyển dự án để có quyền projects.update.

Lựa chọn cấp phi thương mại

Các quyền và vai trò đề xuất sau đây liên quan đến cấu hình cấp phi thương mại.

Chọn cấp
Cần cấp quyền
  • earthengine.config.update
Vai trò đề xuất
  • Người ghi tài nguyên Earth Engine (roles/earthengine.writer)
Liên kết tài khoản thanh toán với dự án

Cấp Người đóng góp yêu cầu một tài khoản thanh toán hợp lệ được liên kết với dự án. Để biết thêm thông tin về các quyền và vai trò thanh toán, hãy xem trang Quyền truy cập vào Cloud Billing.

Cần cấp quyền
Tài khoản thanh toán
  • billing.resourceAssociations.create
Dự án trên đám mây
  • resourcemanager.projects.createBillingAssignment
Vai trò đề xuất
Tài khoản thanh toán
  • Người dùng tài khoản thanh toán (roles/billing.user)
Dự án trên đám mây
  • Người quản lý thanh toán dự án (roles/billing.projectManager)

Đăng ký dự án thương mại

Các quyền sau đây liên quan đến việc đăng ký dự án để sử dụng có tính phí.

Cần cấp quyền
Tài khoản thanh toán
  • billing.accounts.get
  • billing.subscriptions.list
Ngoài ra:
  • billing.subscriptions.create (để tạo gói Cơ bản hoặc Chuyên nghiệp mới)
Dự án trên đám mây
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
Vai trò đề xuất
Tài khoản thanh toán
  • Người xem tài khoản thanh toán (roles/billing.viewer), để tạo gói Giới hạn mới
  • Quản trị viên tài khoản thanh toán (roles/billing.admin), để tạo gói Cơ bản hoặc Chuyên nghiệp mới
Dự án trên đám mây
  • Người ghi tài nguyên Earth Engine (roles/earthengine.writer)
  • Service Usage Admin (roles/serviceusage.serviceUsageAdmin)

Quản lý gói Earth Engine thương mại

Các quyền sau đây liên quan đến việc quản lý gói giá của Earth Engine.

Quyền cần thiết
đối với tài khoản thanh toán
  • billing.accounts.get
  • billing.subscriptions.list
Ngoài ra:
  • billing.subscriptions.create (để nâng cấp từ gói Limited lên gói Basic hoặc Professional)
  • billing.subscriptions.update (để chuyển đổi giữa gói Cơ bản và gói Chuyên nghiệp, hoặc hạ cấp gói Cơ bản hoặc gói Chuyên nghiệp xuống gói Giới hạn)
Vai trò được đề xuất
trên tài khoản thanh toán
  • Người xem tài khoản thanh toán (roles/billing.viewer), để xem gói Earth Engine hiện tại
  • Quản trị viên tài khoản thanh toán (roles/billing.admin), để thay đổi gói Earth Engine

Quản lý tác vụ theo lô

Các quyền sau đây liên quan đến việc định cấu hình giới hạn theo dự án đối với việc thực thi đồng thời tác vụ hàng loạt. Tính năng này chỉ dành cho người dùng Earth Engine cho mục đích thương mại.

Xem hạn mức tác vụ hàng loạt ở cấp dự án

Cần có quyền
trên tài khoản Cloud
earthengine.config.get

Đặt hạn mức tác vụ hàng loạt ở cấp dự án

Cần có quyền
trên tài khoản Cloud
earthengine.config.update
Lưu ý: Quyền này cũng bao gồm việc xem các hạn mức ở cấp gói được định cấu hình trên tài khoản thanh toán.
Quyền cần thiết
đối với tài khoản thanh toán
billing.subscriptions.list

Quản lý ứng dụng

Hiện thông tin ứng dụng

Cần cấp quyền
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy, nếu ứng dụng bị hạn chế (ít phổ biến hơn)
Vai trò đề xuất Người xem (roles/viewer) HOẶC
Nhà xuất bản ứng dụng Earth Engine (roles/earthengine.appsPublisher)

Xuất bản/Cập nhật ứng dụng

Cần cấp quyền
  • iam.serviceAccounts.get
  • iam.serviceAccounts.create
  • iam.serviceAccounts.enable
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.disable, nếu ứng dụng được chuyển từ dự án này sang dự án khác (không phổ biến)
Vai trò đề xuất Người xuất bản ứng dụng Earth Engine (roles/earthengine.appsPublisher) HOẶC
Quản trị viên tài khoản dịch vụ (roles/iam.serviceAccountAdmin)
Ghi chú
  • Ngoài ra, tài khoản dịch vụ của Ứng dụng Earth Engine sẽ tự nhận dạng với máy chủ Earth Engine bằng cách cung cấp mã truy cập OAuth. Do đó, một số danh tính nhất định sẽ được thêm vào trong quá trình tạo ứng dụng dưới dạng Người tạo mã thông báo tài khoản dịch vụ (roles/iam.serviceAccountTokenCreator) trên tài khoản dịch vụ.
  • Trong trường hợp Ứng dụng Earth Engine công khai, danh tính được cấp vai trò đó là earth-engine-public-apps@appspot.gserviceaccount.com và trong trường hợp ứng dụng bị hạn chế, danh tính là nhóm trên Google Groups có quyền truy cập bị hạn chế do người tạo ứng dụng định cấu hình.

Xoá ứng dụng

Cần cấp quyền iam.serviceAccounts.disable
Vai trò đề xuất Người xuất bản ứng dụng Earth Engine (roles/earthengine.appsPublisher) HOẶC
Quản trị viên tài khoản dịch vụ (roles/iam.serviceAccountAdmin)