Kontrolowanie dostępu do zasobów

Możesz udostępniać zasoby lub limity obliczeniowe projektu z włączonym Earth Engine innym użytkownikom Earth Engine na poziomie projektu. Zasoby lub moc obliczeniową Earth Engine można udostępnić innemu użytkownikowi lub grupie użytkowników. Jeśli chcesz udostępnić projekt grupie użytkowników, utwórz nową grupę dyskusyjną Google i zapisz jej adres e-mail (dostępny w linku Informacje na stronie grupy). Na tej stronie dowiesz się, jak przyznać dostęp do zasobów osobie lub grupie oraz jakie role i uprawnienia są wymagane do wykonywania różnych działań.

Ustawianie wykorzystania usługi Earth Engine

Aby używać interfejsu Earth Engine API w projekcie w chmurze, interfejs ten musi być włączony w projekcie, a użytkownik musi mieć co najmniej uprawnienia roli Przeglądający zasoby Earth Engine (dowiedz się więcej o wstępnie zdefiniowanych rolach uprawnień Earth Engine). Oprócz tego użytkownik musi mieć w projekcie co najmniej uprawnienia serviceusage.services.use. To uprawnienie można uzyskać za pomocą roli Właściciel lub Edytujący projektu albo za pomocą roli konsument Wykorzystania usług. Jeśli użytkownik nie ma wymaganych uprawnień Earth Engine i uprawnień do korzystania z usługi w wybranym projekcie, pojawi się błąd.

Ustawianie uprawnień do zasobów

Ustawianie uprawnień na poziomie zasobu

Istnieje kilka opcji aktualizowania uprawnień na poziomie zasobu.

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

Ustawianie uprawnień do zasobów na poziomie projektu

Udostępnianie na poziomie projektu powoduje jednoczesne ustawienie uprawnień do wszystkich zasobów w projekcie w chmurze z włączonym Earth Engine.

Zasoby możesz udostępniać na poziomie projektu, przypisując odpowiednią rolę Identity and Access Management (IAM) na stronie administratora uprawnień projektu. Do udostępniania zasobów Earth Engine służą wstępnie zdefiniowane role uprawnień Earth Engine. Ogólne informacje o rolach uprawnień znajdziesz w artykule Informacje o rolach.

Gdy inny użytkownik pró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 (czyli nie ma dostępu), uprawnienia zostaną sprawdzone na poziomie projektu.

Ustawianie uprawnień na poziomie projektu

Aby ustawić uprawnienia na poziomie projektu, przypisz rolę uprawnień projektu do użytkownika lub grupy użytkowników:

  1. Otwórz stronę Uprawnienia w konsoli Google Cloud.
    Otwórz stronę Uprawnienia
    Możesz też najechać wskaźnikiem na nazwę projektu na karcie Zasoby w edytorze kodu i kliknąć ikonę .
  2. Kliknij Wybierz projekt i wybierz swój projekt (powinien być już otwarty, jeśli strona Uprawnienia została otwarta z edytora kodu).
  3. Kliknij DODAJ u góry i dodaj adres e-mail osoby lub grupy jako nowego użytkownika albo kliknij ikonę  obok istniejącego użytkownika w projekcie.
  4. W menu Rola wyszukaj rolę zasobu Earth Engine, którą chcesz przyznać. Więcej informacji znajdziesz w artykule Wstępnie zdefiniowane role uprawnień 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 zabezpieczać 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 dla zasobów wiąże się z pewnymi 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 obrębie granicy usługi. 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 na Dysk Google nie jest obsługiwane przez Ustawienia usługi VPC.
Aplikacje Earth Engine nie są obsługiwane w przypadku zasobów i klientów w obrębie granicy usługi. Nie ma dostępnego obejścia.

Korzystanie z Earth Engine z zasobami w zabezpieczonej granicy usługi VPC jest dostępne tylko w przypadku abonamentów Professional i Premium. Próba użycia interfejsu Earth Engine API z projektem zabezpieczonym przez VPC-SC 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 opisano 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 projekcie Google Cloud znajdziesz w dokumentacji Google Cloud.

Wstępnie zdefiniowane role uprawnień Earth Engine

Earth Engine udostępnia role zdefiniowane, które umożliwiają różne poziomy 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 zasobów i zadań oraz ich listy.
roles/earthengine.writer Zapisujący zasoby usługi Earth Engine Zapewnia uprawnienia do odczytu, tworzenia, modyfikowania i usuwania zasobów, importowania obrazów i tabel, odczytu i aktualizowania zadań, wykonywania interaktywnych obliczeń 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 Zezwala na utworzenie konta usługi do użycia z aplikacją Earth Engine. Zezwala też na edytowanie i usuwanie aplikacji należących do właściciela 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ć rolę podstawową lub niestandardową. Zestaw uprawnień powiązanych z każdą rolą możesz zobaczyć na stronie Role uprawnień, filtrując według konkretnej roli i klikając ją.

Włączanie interfejsu Earth Engine API

Aby włączyć Earth Engine API w projekcie w chmurze, użytkownik musi mieć rolę administratora wykorzystania usługi (roles/serviceusage.serviceUsageAdmin) lub inną rolę, która obejmuje uprawnienie serviceusage.services.enable (np. właściciel projektu lub edytujący).

Wymagane uprawnienia
  • serviceusage.services.enable
  • serviceusage.services.get
Sugerowane role
  • administrator korzystania z usług (roles/serviceusage.serviceUsageAdmin) LUB
  • Owner (roles/owner) LUB
  • Edytujący (roles/editor)

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
  • Uruchamianie obliczeń zbiorczych (eksportów)
  • uzyskiwanie interaktywnych wyników (mapy online, miniatury, wykresy 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 Wykorzystania usług (roles/serviceusage.serviceUsageConsumer) ORAZ jedna z tych ról:
    • 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 przez środowisko notatnika i korzystają z uwierzytelniania notatnika. Więcej informacji znajdziesz w artykule na temat uwierzytelniania w notatniku Colab lub JupyterLab.
Uwagi Google Cloud wymaga roli konsumenta Wykorzystania usług, aby używać projektu jako aktywnego podczas wywoływania interfejsów API. Bez tego uprawnienia w projekcie X usługa ee.Initialize(project=X) nie będzie działać. Możesz też wybrać ten projekt w konsoli Cloud, aby wyświetlić wykorzystanie zasobów.

Tylko udostępnianie zasobów

Przyznaj użytkownikowi jedną ze wstępnie zdefiniowanych ról uprawnień Earth Engine z minimalnymi uprawnieniami do wykonywania potrzebnych działań. Pamiętaj, że użytkownicy nie będą mogli korzystać z zasobów projektu bez odpowiednich uprawnień serviceusage.

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)
Sugerowane role
  • Przeglądający (roles/viewer) LUB
    Wyświetlający zasoby usługi Earth Engine (roles/earthengine.viewer) w odpowiednich projektach LUB
    Przeglądający (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ło to jeszcze zrobione, do przeprowadzenia konfiguracji potrzebne będą te role.

  • 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
    Konsument Wykorzystania usług (roles/serviceusage.serviceUsageConsumer)
Dodatkowe role (jeśli projekt nie został wcześniej skonfigurowany)
  • Edytujący (roles/editor) LUB
  • Przenoszący projekt (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 projekt (roles/resourcemanager.projectMover) ORAZ
    Twórca projektu (roles/resourcemanager.projectCreator) ORAZ
    Administrator korzystania z usług (roles/serviceusage.serviceUsageAdmin)
Uwagi Twoja organizacja może nie przyznać Ci roli Edytujący, więc mogą być potrzebne bardziej szczegółowe role. Rola Przenoszący projekt jest potrzebna, aby przyznać uprawnienie projects.update.

Wybór poziomu niekomercyjnego

Te uprawnienia i sugerowane role dotyczą konfiguracji poziomu niekomercyjnego.

Wybór typu
Wymagane uprawnienia
  • earthengine.config.update
Sugerowane role
  • Zapisujący zasoby usługi Earth Engine (roles/earthengine.writer)
Powiązanie konta rozliczeniowego z projektem

Poziom Współtwórca wymaga prawidłowego konta rozliczeniowego powiązanego z projektem. Więcej informacji o uprawnieniach i rolach związanych z rozliczeniami znajdziesz na stronie dotyczącej dostępu do Rozliczeń usługi Google Cloud.

Wymagane uprawnienia
Konto rozliczeniowe
  • billing.resourceAssociations.create
Projekt Cloud
  • resourcemanager.projects.createBillingAssignment
Sugerowane role
Konto rozliczeniowe
  • Użytkownik konta rozliczeniowego (roles/billing.user)
Projekt Cloud
  • Menedżer rozliczeń projektu (roles/billing.projectManager)

Rejestracja projektu komercyjnego

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

Wymagane uprawnienia
Konto rozliczeniowe
  • billing.accounts.get
  • billing.subscriptions.list
Dodatkowo:
  • billing.subscriptions.create (w przypadku tworzenia nowego abonamentu Basic lub Professional)
Projekt Cloud
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
Sugerowane role
Konto rozliczeniowe
  • Wyświetlający konto rozliczeniowe (roles/billing.viewer) – do utworzenia nowego abonamentu Limited.
  • Administrator konta rozliczeniowego (roles/billing.admin) – do utworzenia nowego abonamentu 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 niezbędne
na koncie rozliczeniowym
  • billing.accounts.get
  • billing.subscriptions.list
Dodatkowo:
  • billing.subscriptions.create (w przypadku przejścia z abonamentu Limited na Basic lub Professional)
  • billing.subscriptions.update (w przypadku przełączania się między abonamentami Basic i Professional lub przechodzenia z abonamentu Basic lub Professional na Limited)
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ć abonament Earth Engine;

Zarządzanie zadaniami wsadowymi

Te uprawnienia dotyczą konfigurowania limitów równoczesności zadań wsadowych na projekt. Ta funkcja jest dostępna tylko dla użytkowników komercyjnych Earth Engine.

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

Uprawnienia niezbędne
na koncie Cloud
earthengine.config.get

Ustawianie limitów zadań wsadowych na poziomie projektu

Uprawnienia niezbędne
na koncie Cloud
earthengine.config.update
Uwaga: to uprawnienie obejmuje też wyświetlanie limitów na poziomie abonamentu, które są skonfigurowane na koncie rozliczeniowym.
Uprawnienia niezbędne
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 (mniej powszechne).
Sugerowane role Przeglądający (roles/viewer) LUB
Wydawca aplikacji Earth Engine (roles/earthengine.appsPublisher)

Publikowanie/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 innego (rzadki przypadek);
Sugerowane role Wydawca aplikacji Earth Engine (roles/earthengine.appsPublisher) LUB
Administrator kont 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 dodawane są 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 dyskusyjna 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 kont usługi (roles/iam.serviceAccountAdmin)