Kontrolowanie dostępu do zasobów

Możesz udostępniać zasoby lub limit obliczeniowy projektu z włączoną usługą Earth Engine innym użytkownikom Earth Engine na poziomie projektu. Zasoby Earth Engine lub moc obliczeniową można udostępniać innym użytkownikom lub grupom użytkowników. Jeśli chcesz udostępniać treści grupie użytkowników, utwórz nową grupę Google i zanotuj jej adres e-mail (dostępny po kliknięciu linku „O grupie” na stronie grupy). Na tej stronie dowiesz się, jak przyznawać dostęp do zasobów poszczególnym osobom lub grupom oraz jakie role i uprawnienia są wymagane w przypadku różnych działań.

Ustawianie wykorzystania usługi Earth Engine

Aby używać interfejsu Earth Engine API w projekcie Cloud, musi on być włączony w projekcie, a użytkownik musi mieć co najmniej uprawnienia w roli Wyświetlający zasoby Earth Engine (więcej informacji o wstępnie zdefiniowanych rolach Earth Engine IAM). Użytkownik musi też mieć w projekcie uprawnienie serviceusage.services.use. To uprawnienie można przyznać za pomocą ról Właściciel lub Edytujący w projekcie albo za pomocą konkretnej roli Użytkownik usług. Jeśli użytkownik nie ma wymaganych uprawnień do Earth Engine i uprawnień do korzystania z usług w wybranym projekcie, pojawi się błąd.

Ustawianie uprawnień do zasobu

Ustawianie uprawnień na poziomie zasobu

Uprawnienia na poziomie zasobu można aktualizować na kilka sposobów.

  • Użyj Menedżera zasobów w edytorze kodu.
  • Użyj wiersza poleceń Earth Engine.
  • Użyj biblioteki klienta, np. ee.data.setAssetAcl().
  • Możesz też bezpośrednio wywołać interfejs API REST.

Ustawianie uprawnień do zasobów na poziomie projektu

Udostępnianie na poziomie projektu ustawia uprawnienia do wszystkich zasobów w projekcie w chmurze z włączoną usługą Earth Engine jednocześnie.

Możesz udostępniać zasoby na poziomie projektu, przypisując odpowiednią rolę Identity and Access Management (IAM) na stronie administracyjnej IAM projektu. Istnieją wstępnie zdefiniowane role IAM Earth Engine do udostępniania zasobów Earth Engine. Ogólne informacje o rolach uprawnień znajdziesz w artykule Informacje o rolach.

Gdy inny użytkownik spróbuje uzyskać dostęp do jednego z Twoich zasobów, uprawnienia są najpierw sprawdzane na poziomie zasobu. Jeśli uprawnienia nie zostały ustawione na poziomie zasobu lub sprawdzenie się nie powiedzie (np. brak dostępu), uprawnienia zostaną sprawdzone na poziomie projektu.

Ustawianie uprawnień na poziomie projektu

Aby ustawić uprawnienia na poziomie projektu, przypisz rolę uprawnień w projekcie użytkownikowi lub grupie użytkowników:

  1. Otwórz stronę Uprawnienia w konsoli Google Cloud.
    Otwórz stronę Uprawnienia
    Możesz też najechać wskaźnikiem myszy na nazwę projektu na karcie Zasoby w edytorze kodu i kliknąć ikonę .
  2. Kliknij Wybierz projekt i wybierz projekt (jeśli otworzysz stronę Uprawnienia z edytora kodu, powinna się już wyświetlać).
  3. U góry kliknij DODAJ i dodaj adres e-mail osoby lub grupy jako nowego członka lub kliknij ikonę  obok istniejącego członka projektu.
  4. W menu Rola wyszukaj rolę Zasób Earth Engine, którą chcesz przyznać. Szczegółowe informacje znajdziesz w sekcji Predefined Earth Engine IAM Roles (Wstępnie zdefiniowane role IAM Earth Engine).
  5. Kliknij przycisk ZAPISZ.

Ustawienia usługi VPC

Earth Engine obsługuje ustawienia usługi VPC, czyli funkcję zabezpieczeń Google Cloud, która pomaga użytkownikom chronić zasoby i ograniczać ryzyko wydobycia danych. Dodanie zasobów do granicy usług VPC umożliwia większą kontrolę nad operacjami odczytu i zapisu danych.

Dowiedz się więcej o funkcjach i konfiguracji VPC-SC.

Ograniczenia

Włączenie ustawień usługi VPC w przypadku zasobów wiąże się z kilkoma ograniczeniami, dla których podaliśmy przykładowe obejścia:

Ograniczenie Przykładowa alternatywa
Edytor kodu nie jest obsługiwany, a Ustawienia usługi VPC nie zezwalają na używanie go z zasobami i klientami w granicach usługi. Używaj interfejsu Earth Engine Python API razem z  biblioteką geemap.
Starsze zasoby nie są chronione przez ustawienia usługi VPC. Używaj zasobów przechowywanych w projektach w chmurze.
Eksportowanie do Google Drive nie jest obsługiwane przez ustawienia usługi VPC.
Aplikacje Earth Engine nie są obsługiwane w przypadku zasobów i klientów w granicach usługi. Brak dostępnego rozwiązania.

Korzystanie z Earth Engine z zasobami w zabezpieczonej granicy usługi VPC jest możliwe tylko w przypadku abonamentów Professional i Premium. Próba użycia interfejsu Earth Engine API w projekcie zabezpieczonym za pomocą ustawień usługi VPC powiązanym z abonamentem Basic spowoduje błąd. Więcej informacji o cenach Earth Engine znajdziesz w oficjalnej dokumentacji.

Więcej informacji o ustawieniach usługi VPC i ich ograniczeniach znajdziesz w artykule Obsługiwane usługi i ograniczenia.

Role i uprawnienia

W sekcjach poniżej opisujemy uprawnienia i role wymagane do wykonywania działań i uzyskiwania dostępu do zasobów Earth Engine. Więcej informacji o uprawnieniach i rolach w projektach Cloud znajdziesz w dokumentacji Google Cloud.

Gotowe role uprawnień Earth Engine

Earth Engine udostępnia predefiniowane role, które umożliwiają różny stopień kontroli nad zasobami Earth Engine w projekcie. Są to:

Rola Tytuł Opis
roles/earthengine.viewer Wyświetlający zasoby usługi Earth Engine Zapewnia uprawnienia do wyświetlania i wyświetlania listy zasobów i zadań.
roles/earthengine.writer Zapisujący zasoby usługi Earth Engine Zapewnia uprawnienia do odczytywania, tworzenia, modyfikowania i usuwania zasobów, importowania obrazów i tabel, odczytywania i aktualizowania zadań, wykonywania obliczeń interaktywnych oraz tworzenia długotrwałych zadań eksportu.
roles/earthengine.admin Administrator Earth Engine Zapewnia uprawnienia do wszystkich zasobów Earth Engine, w tym do zmiany kontroli dostępu do zasobów Earth Engine.
roles/earthengine.appsPublisher Publikujący aplikacje Earth Engine Umożliwia utworzenie konta usługi do używania z aplikacją Earth Engine. Przyznaje też uprawnienia do edytowania i usuwania aplikacji należących do projektu w ramach projektu w chmurze.

Pamiętaj, że jeśli wstępnie zdefiniowane role Earth Engine nie spełniają Twoich potrzeb, możesz ustawić podstawową lub niestandardową rolę. Zestaw uprawnień powiązanych z każdą rolą możesz sprawdzić na stronie Role uprawnień. Wystarczy, że odfiltrujesz konkretną rolę i klikniesz ją.

Pełny dostęp do interfejsu Earth Engine API

Aby zapewnić użytkownikom pełny dostęp do usługi Earth Engine bezpośrednio przez interfejs API REST, edytor kodu lub bibliotekę klienta, użytkownicy muszą mieć uprawnienia do wykonywania operacji takich jak:

  • Wykonywanie wyrażeń Earth Engine
  • Wykonywanie obliczeń zbiorczych (eksportów)
  • Uzyskiwanie interaktywnych wyników (map online, miniatur, wykresów itp.)
  • Tworzenie i usuwanie zasobów Earth Engine
  • Uwierzytelnianie OAuth za pomocą biblioteki klienta w celu połączenia się z Earth Engine
Wymagane uprawnienia
  • 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
Sugerowane role
  • Konsument korzystający z usług (roles/serviceusage.serviceUsageConsumer) ORAZ jeden z tych elementów:
    • Wyświetlający zasoby usługi Earth Engine (roles/earthengine.viewer) LUB
    • Zapisujący zasoby usługi Earth Engine (roles/earthengine.writer) LUB
    • Administrator zasobów Earth Engine (roles/earthengine.admin)
  • Edytujący konfigurację OAuth (roles/oauthconfig.editor) jest dodatkowo wymagany w przypadku użytkowników, którzy uzyskują dostęp do Earth Engine w środowisku notatnika i korzystają z uwierzytelniania w notatniku. Więcej informacji znajdziesz w  artykule o uwierzytelnianiu w notatniku Colab lub JupyterLab.
Uwagi Google Cloud wymaga roli Konsument usługi, aby używać projektu jako aktywnego projektu podczas wywoływania interfejsów API. Bez tego uprawnienia w projekcie X wywołanie ee.Initialize(project=X) zakończy się niepowodzeniem. Możesz też wybrać ten projekt w konsoli Google Cloud, aby wyświetlić wykorzystanie zasobów.

Tylko udostępnianie komponentów

Przyznaj użytkownikowi jedną z predefiniowanych ról IAM Earth Engine z minimalnymi uprawnieniami do wykonania potrzebnej czynności. Pamiętaj, że użytkownicy nie będą mogli korzystać z zasobów projektu bez odpowiednich serviceusageuprawnień.

Zarządzanie projektami

Wyświetlanie listy dostępnych projektów

Dzieje się tak, gdy używasz edytora kodu do przeglądania dostępnych projektów.

Wymagane uprawnienia
  • resourcemanager.projects.get
  • resourcemanager.folders.list
  • resourcemanager.folders.get
  • resourcemanager.organizations.get (rzadko spotykane)
Sugerowane role
  • Przeglądający (roles/viewer) LUB
    Wyświetlający zasoby usługi Earth Engine (roles/earthengine.viewer) w odpowiednich projektach LUB
    Przeglądarka (roles/browser, zalecane w przypadku zaawansowanych organizacji)
  • Wyświetlający folder (roles/resourcemanager.folderViewer) w odpowiednich folderach

Wybieranie projektu do użycia w edytorze kodu

Wymagane uprawnienia
  • resourcemanager.projects.get
  • serviceusage.services.get
Jeśli projekt nie został wcześniej skonfigurowany

Po pierwszym wybraniu projektu w edytorze kodu projekt jest inicjowany do użycia z Earth Engine. Jeśli nie zostały jeszcze przyznane, musisz je mieć, aby konfiguracja się powiodła.

  • resourcemanager.projects.update ORAZ
  • serviceusage.services.enable
Sugerowane role
  • Przeglądający (roles/viewer) LUB
  • Wyświetlający zasoby usługi Earth Engine (roles/earthengine.viewer) ORAZ
    użytkownik korzystania z usług (roles/serviceusage.serviceUsageConsumer)
Dodatkowe role (jeśli projekt nie został wcześniej skonfigurowany)
  • Edytujący (roles/editor) LUB
  • Przenoszący projekty (roles/resourcemanager.projectMover) ORAZ
    administrator uprawnień projektu (roles/resourcemanager.projectIamAdmin) ORAZ
    administrator korzystania z usług (roles/serviceusage.serviceUsageAdmin).

Tworzenie projektu w edytorze kodu

Wymagane uprawnienia
  • resourcemanager.projects.get
  • resourcemanager.projects.create
  • resourcemanager.projects.update
  • serviceusage.services.get
  • serviceusage.services.enable
Sugerowane role
  • Edytujący (roles/editor) LUB
  • Przenoszący projekty (roles/resourcemanager.projectMover) ORAZ
    Twórca projektów (roles/resourcemanager.projectCreator) ORAZ
    Administrator korzystania z usług (roles/serviceusage.serviceUsageAdmin)
Uwagi Twoja organizacja może nie przyznać Ci roli Edytujący, dlatego mogą być potrzebne bardziej szczegółowe role. Aby uzyskać uprawnienie projects.update, musisz mieć rolę Przenoszący projekty.

Wybór poziomu niekomercyjnego

Poniższe uprawnienia i sugerowane role dotyczą konfiguracji wersji niekomercyjnej.

Wybór poziomu
Wymagane uprawnienia
  • earthengine.config.update
Sugerowane role
  • Zapisujący zasoby usługi Earth Engine (roles/earthengine.writer)
Dodaj konto rozliczeniowe

Poziom Współtwórca wymaga prawidłowego konta rozliczeniowego w projekcie.

Wymagane uprawnienia
  • billing.accounts.get
Sugerowane role
  • Wyświetlający konto rozliczeniowe (roles/billing.viewer)

Rejestracja projektu komercyjnego

Te uprawnienia dotyczą rejestrowania projektów do płatnego użytku.

Wymagane uprawnienia
Konto rozliczeniowe
  • billing.subscriptions.list
Ponadto:
  • billing.accounts.get (aby utworzyć nowy plan ograniczony)
  • billing.subscriptions.create (aby utworzyć nowy abonament Basic lub Professional)
Projekt Cloud
  • earthengine.computations.create
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
Sugerowane role
Konto rozliczeniowe
  • Przeglądający konto rozliczeniowe (roles/billing.viewer) – do tworzenia nowego planu Limited.
  • Administrator konta rozliczeniowego (roles/billing.admin) – do tworzenia nowego planu Basic lub Professional.
Projekt Cloud
  • Zapisujący zasoby usługi Earth Engine (roles/earthengine.writer)
  • Administrator korzystania z usług (roles/serviceusage.serviceUsageAdmin)

Zarządzanie komercyjnym abonamentem Earth Engine

Te uprawnienia dotyczą zarządzania abonamentami Earth Engine.

Uprawnienia wymagane
na koncie rozliczeniowym
  • billing.subscriptions.create (aby zmienić abonament Earth Engine)
  • billing.subscriptions.list (aby wyświetlić bieżący abonament Earth Engine).
Sugerowane role
na koncie rozliczeniowym
  • Wyświetlający konto rozliczeniowe (roles/billing.viewer) – aby wyświetlić bieżący abonament Earth Engine.
  • Administrator konta rozliczeniowego (roles/billing.admin) – aby zmienić pakiet Earth Engine.

Zarządzanie zadaniami wsadowymi

Poniższe uprawnienia dotyczą konfigurowania limitów współbieżności zadań wsadowych w poszczególnych projektach. Ta funkcja jest dostępna tylko dla użytkowników komercyjnych Earth Engine.

Wyświetlanie limitów zadań wsadowych na poziomie projektu

Wymagane uprawnienia
na koncie Cloud
earthengine.config.get

Ustawianie limitów zadań wsadowych na poziomie projektu

Wymagane uprawnienia
na koncie Cloud
earthengine.config.update
Uwaga: to uprawnienie obejmuje też wyświetlanie limitów na poziomie planu skonfigurowanych na koncie rozliczeniowym.
Uprawnienia wymagane
na koncie rozliczeniowym
billing.subscriptions.list

Zarządzanie aplikacjami

Wyświetlanie informacji o aplikacji

Wymagane uprawnienia
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy, jeśli aplikacja jest objęta ograniczeniami (rzadziej)
Sugerowane role Przeglądający (roles/viewer) LUB
wydawca aplikacji Earth Engine (roles/earthengine.appsPublisher)

Publikowanie lub aktualizowanie aplikacji

Wymagane uprawnienia
  • iam.serviceAccounts.get
  • iam.serviceAccounts.create
  • iam.serviceAccounts.enable
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.disable, jeśli aplikacja zostanie przeniesiona z jednego projektu do drugiego (rzadko się zdarza)
Sugerowane role Wydawca aplikacji Earth Engine (roles/earthengine.appsPublisher) LUB
administrator konta usługi (roles/iam.serviceAccountAdmin)
Uwagi
  • Dodatkowo konta usługi aplikacji Earth Engine identyfikują się na serwerach Earth Engine, przedstawiając token dostępu OAuth. Dlatego podczas tworzenia aplikacji do kont usługi są dodawane określone tożsamości jako Twórca tokenów konta usługi (roles/iam.serviceAccountTokenCreator).
  • W przypadku publicznej aplikacji Earth Engine tożsamość, której przyznano tę rolę, to earth-engine-public-apps@appspot.gserviceaccount.com, a w przypadku aplikacji z ograniczeniami tożsamość to grupa Google z ograniczeniami dostępu skonfigurowana przez twórcę aplikacji.

Usuwanie aplikacji

Wymagane uprawnienia iam.serviceAccounts.disable
Sugerowane role Wydawca aplikacji Earth Engine (roles/earthengine.appsPublisher) LUB
administrator konta usługi (roles/iam.serviceAccountAdmin)