Earth Engine 対応プロジェクトのアセットまたはコンピューティング割り当ては、プロジェクト レベルで他の Earth Engine ユーザーと共有できます。Earth Engine のアセットまたはコンピューティングは、他のユーザーまたはユーザー グループと共有できます。ユーザーのグループと共有する場合は、新しい Google グループを作成し、そのメールアドレスをメモします(グループ ページの [概要] リンクから確認できます)。このページでは、個人またはグループにリソースへのアクセス権を付与する方法と、さまざまなアクティビティに必要なロールと権限について説明します。
Earth Engine サービスの使用量を設定する
Cloud プロジェクトで Earth Engine API を使用するには、API がプロジェクトで有効になっており、ユーザーに Earth Engine リソース閲覧者ロールの権限が少なくとも付与されている必要があります(事前定義された Earth Engine IAM ロールの詳細をご覧ください)。また、プロジェクトに対する serviceusage.services.use
権限以上が必要です。この権限は、プロジェクトのオーナーまたは編集者のロール、または特定のService Usage コンシューマロールによって付与できます。選択したプロジェクトに対する必要な Earth Engine 権限と Service Usage 権限がユーザーにない場合、エラーがスローされます。
アセットの権限を設定する
アセットレベルの権限を設定する
アセットレベルで権限を更新する方法はいくつかあります。
- コードエディタのアセット マネージャーを使用する。
- Earth Engine コマンドラインを使用する。
- クライアント ライブラリ(
ee.data.setAssetAcl()
など)を使用する。 - または、REST API を直接呼び出します。
プロジェクト レベルのアセット権限を設定する
プロジェクト レベルで共有すると、Earth Engine 対応の Cloud プロジェクト内のすべてのアセットに対する権限が一度に設定されます。
プロジェクト レベルでアセットを共有するには、プロジェクトの IAM 管理ページで適切な Identity and Access Management(IAM)ロールを割り当てます。Earth Engine アセットとリソースを共有するための事前定義された Earth Engine IAM ロールがあります。IAM ロールの概要については、ロールについてをご覧ください。
別のユーザーがアセットにアクセスしようとすると、まずアセットレベルで権限がチェックされます。アセットレベルで権限が設定されていない場合や、チェックが失敗した場合(アクセス権がない)、権限はプロジェクト レベルでチェックされます。
プロジェクト レベルの権限を設定する
プロジェクト レベルで権限を設定するには、プロジェクト IAM ロールをユーザーまたはユーザー グループに割り当てます。
- Google Cloud コンソールで IAM ページを開きます。
IAM ページを開く
または、Code Editor の [アセット] タブでプロジェクト名の上にポインタを置き、 アイコンをクリックします。 - [プロジェクトを選択] をクリックしてプロジェクトを選択します(Code Editor から IAM ページを開いた場合は、すでにプロジェクトが表示されているはずです)。
- 上部の [追加] をクリックし、個人またはグループのメールアドレスを新しいメンバーとして追加するか、プロジェクト内の既存のメンバーの横にある アイコンをクリックします。
- [ロール] プルダウンで、付与する Earth Engine リソースロールを検索します。詳細については、事前定義された Earth Engine IAM ロールをご覧ください。
- [保存] ボタンをクリックします。
VPC Service Controls
Earth Engine は、VPC Service Controls をサポートしています。これは、ユーザーがリソースを保護し、データ漏洩のリスクを軽減するのに役立つ Google Cloud セキュリティ機能です。VPC サービス境界にリソースを追加すると、データの読み取りオペレーションと書き込みオペレーションをより細かく制御できます。
VPC-SC の機能と構成の詳細を確認する。
制限事項
リソースで VPC Service Controls を有効にすると、いくつかの制限が適用されます。回避策の例を以下に示します。
制約事項 | 代替案の例 |
---|---|
コードエディタはサポートされておらず、VPC Service Controls では、サービス境界内のリソースおよびクライアントでコードエディタを使用することはできません。 |
Earth Engine Python API と
geemap ライブラリを使用します。 |
以前のアセットは VPC Service Controls で保護されません。 | Cloud プロジェクトに保存されているアセットを使用します。 |
Google ドライブへのエクスポートは、VPC Service Controls ではサポートされていません。 |
|
Earth Engine アプリは、サービス境界内のリソースとクライアントではサポートされていません。 | 回避策はありません。 |
安全な VPC サービス境界内のリソースで Earth Engine を使用することは、Professional と Premium の料金プランでのみ可能です。Basic 料金プランに関連付けられた VPC-SC で保護されたプロジェクトで Earth Engine API を使用すると、エラーが発生します。Earth Engine の料金の詳細については、公式ドキュメントをご覧ください。
VPC Service Controls とその制限事項の詳細については、サポートされているプロダクトと制限事項をご覧ください。
ロールと権限
以降のセクションでは、アクティビティの実行と Earth Engine リソースへのアクセスに必要な権限とロールについて説明します。Cloud プロジェクトの権限とロールの詳細については、Google 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 を直接、Code Editor を介して、またはクライアント ライブラリを介して Earth Engine サービスに完全アクセスできるようにするには、ユーザーに次のようなオペレーションを実行する権限が必要です。
- Earth Engine 式の実行
- バッチ計算(エクスポート)の実行
- インタラクティブな結果の取得(オンライン地図、サムネイル、チャートなど)
- Earth Engine アセットの作成と削除
- クライアント ライブラリを介した OAuth 認証を使用して Earth Engine に接続する
必要な権限 |
|
推奨されるロール |
|
メモ |
Google Cloud では、API を呼び出すときにプロジェクトをアクティブなプロジェクトとして使用するには、Service Usage コンシューマのロールが必須です。プロジェクト X に対するこの権限がないと、ee.Initialize(project=X) |
アセットの共有のみ
必要なアクティビティを実行するための最小限の権限を持つ 事前定義された Earth Engine IAM ロールのいずれかをユーザーに付与します。必要な serviceusage
権限がないと、ユーザーはプロジェクト リソースを使用できません。
プロジェクト管理
使用可能なプロジェクトを一覧表示する
これは、Code Editor を使用して利用可能なプロジェクトを参照しているときに発生します。
必要な権限 |
|
推奨されるロール |
|
コードエディタで使用するプロジェクトを選択する
必要な権限 |
プロジェクトが以前に設定されていない場合Code Editor でプロジェクトを初めて選択すると、プロジェクトが初期化され、Earth Engine で使用できるようになります。まだ行っていない場合は、これらのロールが必要になります。
|
推奨されるロール |
追加ロール(プロジェクトが以前に設定されていない場合)
|
Code Editor でプロジェクトを作成する
必要な権限 |
|
推奨されるロール |
|
注 |
組織で編集者ロールが付与されていない場合は、より細かいロールが必要になることがあります。projects.update 権限をカバーするには、プロジェクト ムーバーが必要です。 |
商用プロジェクトの登録
次の権限は、有料の使用のためにプロジェクトを登録することに関連しています。
必要な権限 | |
---|---|
請求先アカウント |
|
Cloud プロジェクト |
|
推奨されるロール | |
請求先アカウント |
|
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 )
|