Earth Engine 対応プロジェクトのアセットまたはコンピューティング割り当てを、プロジェクト レベルで他の Earth Engine ユーザーと共有できます。Earth Engine のアセットまたはコンピューティングは、別のユーザーまたはユーザーのグループと共有できます。ユーザーのグループと共有する場合は、新しい Google グループを作成し、そのメールアドレス(グループ ページの [概要] リンクから確認できます)をメモします。このページでは、個人またはグループにリソースへのアクセス権を付与する方法と、さまざまなアクティビティに必要なロールと権限について説明します。
Earth Engine サービスの使用量を設定する
Cloud プロジェクトで Earth Engine API を使用するには、API がプロジェクトで有効になっている必要があります。また、ユーザーには Earth Engine リソース閲覧者ロールの権限が少なくとも必要です(事前定義された Earth Engine IAM ロールの詳細をご覧ください)。また、ユーザーにはプロジェクトに対する serviceusage.services.use 権限が必要です。この権限は、プロジェクトのオーナーまたは編集者のロール、または特定のサービス使用量コンシューマーのロールによって付与できます。選択したプロジェクトに対する 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 ページを開く
または、コードエディタの [アセット] タブでプロジェクト名にポインタを合わせて、 アイコンをクリックします。 - [プロジェクトを選択] をクリックしてプロジェクトを選択します(コード エディタから IAM ページを開いた場合は、すでに選択されています)。
- 上部の [追加] をクリックして、個人またはグループのメールアドレスを新しいメンバーとして追加するか、プロジェクト内の既存のメンバーの横にある アイコンをクリックします。
- [ロール] プルダウンで、付与する Earth Engine リソースのロールを検索します。詳細については、事前定義された Earth Engine IAM ロールをご覧ください。
- [保存] ボタンをクリックします。
VPC Service Controls
Earth Engine は、ユーザーがリソースを保護し、データ引き出しのリスクを軽減するのに役立つ Google Cloud セキュリティ機能である VPC Service Controls をサポートしています。リソースを 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 を直接使用するか、コードエディタまたはクライアント ライブラリを介して Earth Engine サービスにフルアクセスできるようにするには、ユーザーが次のオペレーションを実行する権限を持っている必要があります。
- Earth Engine 式の実行
- バッチ計算(エクスポート)の実行
- インタラクティブな結果(オンライン地図、サムネイル、グラフなど)を取得する
- Earth Engine アセットの作成/削除
- クライアント ライブラリを介した OAuth 認証を使用して Earth Engine に接続する
| 必要な権限 |
|
| 推奨されるロール |
|
| メモ |
Google Cloud では、API を呼び出すときにプロジェクトをアクティブ プロジェクトとして使用するために、サービス使用量コンシューマー ロールが必要です。プロジェクト X にこの権限がない場合、ee.Initialize(project=X) |
アセット共有のみ
必要なアクティビティを実行するための最小限の権限を持つ事前定義された Earth Engine IAM ロールのいずれかをユーザーに付与します。必要な serviceusage 権限がないと、プロジェクト リソースを使用できません。
プロジェクト管理
使用可能なプロジェクトを一覧表示する
これは、コードエディタを使用して利用可能なプロジェクトを閲覧するときに発生します。
| 必要な権限 |
|
| 推奨されるロール |
|
コードエディタで使用するプロジェクトを選択する
| 必要な権限 |
プロジェクトが以前に設定されていない場合コードエディタでプロジェクトを初めて選択すると、Earth Engine で使用できるようにプロジェクトが初期化されます。これまでに実行していない場合は、設定を成功させるためにこれらのロールが必要です。
|
| 推奨されるロール |
追加のロール(プロジェクトが以前に設定されていない場合)
|
コード エディタでプロジェクトを作成する
| 必要な権限 |
|
| 推奨されるロール |
|
| 注 |
組織によっては、編集者ロールが付与されない場合があるため、よりきめ細かいロールが必要になることがあります。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) |