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 tính toán của dự án có 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ẻ các tài sản hoặc hoạt động tính toán trên 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 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 Cloud, bạn phải bật API trên dự án và người dùng phải có ít nhất các quyền trong vai trò Earth Engine Resource Viewer (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 dịch vụ cụ thể. Lỗi sẽ xảy ra nếu người dùng không có cá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.

Đặt quyền đối với tài sản

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

một số lựa chọn để 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 chỉnh sửa mã.
  • Sử dụng dòng lệnh Earth Engine.
  • Sử dụng một thư viện ứng dụng, chẳng hạn như 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 Cloud có 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) thích hợp trên trang quản trị IAM của dự án. Có Cá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 chung 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, trước tiên, quyền sẽ được kiểm tra ở cấp tài sản. Nếu bạn chưa đặt quyền ở 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 một vai trò IAM dự án cho 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 chuyển con trỏ lên tên dự án của bạn trên thẻ Tài sản của Trình chỉnh sửa 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ếu đã mở trang IAM từ Trình chỉnh sửa mã).
  3. Nhấp vào 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. Hãy xem Các 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 một ranh giới dịch vụ VPC giúp bạn kiểm soát tốt hơn 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 sẽ có một số hạn chế. Chúng tôi đã cung cấp các giải pháp thay thế ví dụ cho những hạn chế này:

Hạn chế Ví dụ về giải pháp thay thế
Trình chỉnh sửa mã không được hỗ trợ và giải pháp VPC Service Controls sẽ không cho phép sử dụng trình chỉnh sửa này với các tài nguyên và máy khách bên trong một ranh giới dịch vụ. Sử dụng Earth Engine Python API cùng với geemap library.
Tài sản cũ không được VPC Service Controls bảo vệ. Sử dụng thành phần được lưu trữ trong các dự án trên Cloud.
VPC Service Controls không hỗ trợ tính năng Xuất sang Google Drive.
Các ứ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 một chu vi dịch vụ. Không có giải pháp nào.

Bạn chỉ có thể sử dụng Earth Engine với các tài nguyên bên trong một ranh giới dịch vụ VPC được bảo mật cho các gói giá Chuyên nghiệp và Cao cấp. Nếu 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á Cơ bản, bạn 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 tính năng này trong phần Các sản phẩm được hỗ trợ và hạn chế.

Vai trò và quyền

Các phần sau đây mô tả những quyền và vai trò cần thiết để thực hiện các 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ềnvai trò của dự án trên Cloud.

Các vai trò IAM được xác định trước của Earth Engine

Earth Engine cung cấp các vai trò được xác định trước, cho phép bạn kiểm soát các tài nguyên của Earth Engine ở nhiều mức độ trong một dự án. Các vai trò này là:

Vai trò Tiêu đề Mô tả
roles/earthengine.viewer Trình xem tài nguyên Earth Engine Cấp quyền xem và liệt kê Nội dung và việc cần làm.
roles/earthengine.writer Earth Engine Resource Writer 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 các tác vụ, thực hiện các phép tính tương tác và tạo các tác vụ xuất chạy trong thời gian dài.
roles/earthengine.admin Quản trị viên Earth Engine Cấp quyền cho tất cả tài nguyên Earth Engine, bao gồm cả việc thay đổi quyền kiểm soát truy cập đối với các tài sản trên 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 Dự án trong Dự án trên Cloud.

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

Có toàn quyền truy cập vào Earth Engine API

Để có toàn quyền truy cập vào dịch vụ Earth Engine, thông qua REST API trực tiếp, thông qua Trình chỉnh sửa mã hoặc thông qua một 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
Các 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
    • Earth Engine Resource Writer (roles/earthengine.writer) HOẶC
    • Quản trị viên tài nguyên Earth Engine (roles/earthengine.admin)
  • Ngoài ra, 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 cũng cần có Trình chỉnh sửa cấu hình OAuth (roles/oauthconfig.editor). Hãy xem phần Xác thực sổ tay 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 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 trên dự án X. Ngoài ra, sau đó, bạn có thể chọn dự án này trong Cloud Console để hiển thị việc sử dụng tài nguyê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 các 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 các 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)
Các vai trò được đề xuất
  • Người xem (roles/viewer) HOẶC
    Trình xem tài nguyên Earth Engine (roles/earthengine.viewer) trong 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) trên các thư mục có liên quan

Chọn một dự án để sử dụng trong Trình chỉnh sửa 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 chỉnh sửa mã, dự án đó sẽ được khởi tạo để sử dụng với Earth Engine. Nếu chưa thực hiện việc này trước đây, bạn sẽ cần những vai trò này để thiết lập thành công.

  • resourcemanager.projects.update
  • serviceusage.services.enable
Các vai trò được đề 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ò bổ sung (nếu dự án chưa được thiết lập trước đó)
  • Người chỉnh sửa (roles/editor) HOẶC
  • Project Mover (roles/resourcemanager.projectMover) VÀ
    Project IAM Admin (roles/resourcemanager.projectIamAdmin) VÀ
    Service Usage Admin (roles/serviceusage.serviceUsageAdmin)

Tạo dự án thông qua Trình chỉnh sửa mã

Cần cấp quyền
  • resourcemanager.projects.get
  • resourcemanager.projects.create
  • resourcemanager.projects.update
  • serviceusage.services.get
  • serviceusage.services.enable
Các vai trò được đề 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ó Người di chuyển dự án để có quyền projects.update.

Chọn cấp bậc phi thương mại

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

Chọn cấp
Cần cấp quyền
  • earthengine.config.update
Các vai trò được đề xuất
  • Earth Engine Resource Writer (roles/earthengine.writer)
Thêm tài khoản thanh toán

Cấp độ Cộng tác viên yêu cầu dự án phải có một tài khoản thanh toán hợp lệ.

Cần cấp quyền
  • billing.accounts.get
Các vai trò được đề xuất
  • Người xem tài khoản thanh toán (roles/billing.viewer)

Đă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ó trả phí.

Cần cấp quyền
Tài khoản thanh toán
  • billing.subscriptions.list
Ngoài ra:
  • billing.accounts.get (để tạo gói mới có giới hạn)
  • billing.subscriptions.create (để tạo gói Cơ bản hoặc gói Chuyên nghiệp mới)
Dự án trên đám mây
  • earthengine.computations.create
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
Các vai trò được đề 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 Limited mới
  • Quản trị viên tài khoản thanh toán (roles/billing.admin), để tạo gói Basic hoặc Professional mới
Dự án trên đám mây
  • Earth Engine Resource Writer (roles/earthengine.writer)
  • Quản trị viên sử dụng dịch vụ (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.subscriptions.create (để thay đổi gói Earth Engine)
  • billing.subscriptions.list (để xem gói Earth Engine hiện tại)
Vai trò được đề xuất
trong 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ý công việc theo lô

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

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

Quyền cần thiết
đối với tài khoản trên đám mây
earthengine.config.get

Đặt giới hạn cho tác vụ hàng loạt ở cấp dự án

Quyền cần thiết
đối với tài khoản trên đám mây
earthengine.config.update
Lưu ý: Quyền này cũng bao gồm quyền xem các hạn mức ở cấp kế hoạch được thiết lập 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 về ứ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 gặp)
Các vai trò được đề 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 (trường hợp hiếm gặp)
Các vai trò được đề xuất Nhà 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 tự xác định với các máy chủ Earth Engine bằng cách xuất trình mã truy cập OAuth. Do đó, một số danh tính được thêm trong quá trình tạo ứng dụng dưới dạng Trình tạo mã thông báo tài khoản dịch vụ (roles/iam.serviceAccountTokenCreator) trên các tài khoản dịch vụ.
  • Trong trường hợp là một ứ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 là ứng dụng bị hạn chế, danh tính là Nhóm hạn chế truy cập trên Google 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
Các vai trò được đề xuất Nhà 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)