フィーチャ サービスでは、ユーザーがサービスに対して行うことができる編集のタイプを制御できます。これを行うには、ArcMap の [サービス エディター] の [フィーチャ アクセス] タブでオペレーションとプロパティを有効または無効にします。
フィーチャ サービスで許可されているオペレーション
[サービス エディター] の [フィーチャ アクセス] タブで、次のフィーチャ サービスのオペレーションを有効または無効にすることができます。
- [作成] により、エディターはフィーチャをフィーチャ サービスに追加できます。このオペレーションは、デフォルトで有効になっています。
- [削除] により、エディターはフィーチャ サービスのフィーチャを削除できます。このオペレーションは、デフォルトで有効になっています。
- [抽出] により、エディターは、カスタム アプリケーションを使用して、データのコピーをファイル ジオデータベースまたは SQLite データベースに抽出できます。カスタム アプリケーションでは、createReplica パラメーターが syncModel に設定されている状態で none REST オペレーションが使用されます。このオペレーションは、デフォルトで無効になっています。
- [同期] により、ユーザーはオフラインでフィーチャ サービス データを操作できます。このオペレーションは、デフォルトで無効になっています。詳細については、「オフラインで使用するデータの準備」をご参照ください。
- [更新] により、エディターはフィーチャ サービスのフィーチャを更新できます。このオペレーションは、デフォルトで有効になっています。
[クエリ] オペレーションは、ユーザーがフィーチャ サービス内のデータを表示する際に必要です。このため、ArcMap から公開する場合、[クエリ] オペレーションは常に有効であり、無効にすることはできません。
ユーザーに対してフィーチャの作成のみを許可し、フィーチャの表示、更新、削除を許可しないフィーチャ サービスが必要な場合、[作成] および [クエリ] オペレーションを有効にして、ArcMap からフィーチャ サービスを公開できます。フィーチャ サービスを公開したら、ArcGIS Server Manager でフィーチャ サービスを開き、[クエリ] オペレーションを無効にすることができます。これは、ユーザーが新しいフィーチャの入力のみを行う必要があるが、既存のフィーチャの表示、編集、削除を行う必要がないカスタム アプリケーションで役立ちます。なお、サービスの所有者および ArcGIS Server 管理者は、引き続き既存のフィーチャの表示、編集、削除を行うことができます。
あるオペレーションを無効にしているときに、ユーザーがそのオペレーションに対応したアクションを行おうとすると、サービスはエラーを返します。クライアント アプリケーション (ArcGIS Web API で構築されたアプリケーションなど) は、編集を適用する前に、許可されているオペレーションをチェックできます。許可されたオペレーションに合わせてコマンドを無効化または制限するように、これらのアプリケーションを設計することができます。
添付ファイルを保存できるフィーチャ サービスのレイヤーの場合、[作成] または [更新] オペレーションにより、フィーチャ サービスのエディターはフィーチャに添付ファイルを追加できます。さらに、[更新] オペレーションでは、エディターはフィーチャに関連付けられている添付ファイルを更新または削除することもできます。[削除] オペレーションが有効の場合のみ、エディターは添付ファイルを削除できます。
エディターが ArcMap でフィーチャ サービスからのデータを編集する場合、[作成]、[削除]、[更新] の各機能を有効にしてください。この 3 つすべての機能を有効にしないと、編集用にデータのローカル コピーを作成するときに ArcMap でエラーが発生します。詳細については、「ArcMap でのフィーチャ サービスからのデータの編集について」をご参照ください。
注意:
許可された操作は、公開者とユーザーのみに適用されます。サーバー管理者とサービス所有者は、サービスにフルにアクセスでき、すべてのオペレーションが許可されています。
編集に影響を与えるプロパティ
フィーチャ アクセスのプロパティは、設定されるオペレーションに基づいています。このプロパティを使用すると、他のユーザーがフィーチャ サービスで実行できるオペレーションを詳細に制御できます。たとえば、[更新] オペレーションを有効にしているが、エディターの編集対象を非空間属性のみに限定したい場合は、[ジオメトリの更新を許可] プロパティを無効にします。あるいは、エディターにジオメトリの編集は許可するが、ジオメトリにトゥルー カーブが含まれていない場合にのみ限定したい場合は、[ジオメトリの更新を許可] を有効にして、[トゥルー カーブの更新を許可] を無効にします。次のリストでは、フィーチャ サービスで設定できる上記のプロパティを含む編集関連のプロパティについて説明します。
- [ジオメトリの更新を許可] により、エディターはフィーチャ サービス内のフィーチャのジオメトリを編集できます。これはデフォルトで有効になっています。このオプションを無効にすると、エディターはフィーチャ サービス内のフィーチャの非空間属性のみを更新できます。
- [トゥルー カーブの更新を許可] により、エディターは、ジオメトリにトゥルー カーブが含まれる場合でもジオメトリを更新できます。エディターが、トゥルー カーブをサポートしていないクライアントからトゥルー カーブ ジオメトリを更新した場合、フィーチャのトゥルー カーブ ジオメトリは、高密度のジオメトリに置き換えられますのでご注意ください。
このオペレーションは、デフォルトで有効にされており、[ジオメトリの更新を許可] を有効にしている場合にのみ利用できます。[トゥルー カーブの更新を許可] を無効にした場合、エディターがトゥルー カーブ ジオメトリを編集しようとするとエラーが発生します。
- [トゥルー カーブ クライアントによるトゥルー カーブの更新のみを許可] はデフォルトで有効になっています。これを使用すると、トゥルー カーブ データが高密度のジオメトリに置き換えられるのを防ぐことができます。トゥルー カーブ ジオメトリの編集をトゥルー カーブを維持する機能のあるクライアントのみに限定したい場合は、このプロパティを有効のままにしておきます。トゥルー カーブを維持または作成できるクライアントをワークフローで使用できない場合は、このプロパティを無効にできます。
注意:
トゥルー カーブ ジオメトリは現在、ArcGIS Pro 1.3 以降のリリースでのみサポートされています。データにトゥルー カーブが含まれており、[トゥルー カーブの更新を許可] は有効にしているが、[トゥルー カーブ クライアントによるトゥルー カーブの更新のみを許可] は有効にしていない場合に、これ以外の ArcGIS クライアントから編集が行われると、ジオメトリはトゥルー カーブ ジオメトリから高密度のジオメトリに置き換えられます。
- [デフォルトの Z 値を適用する] により、デフォルトの Z 値を指定できます。エディターがフィーチャ サービスを通じてフィーチャを追加または更新するときに、Z 値を指定しないと、デフォルトの Z 値が適用されます。詳細については、「編集可能なフィーチャ サービスへのデフォルトの Z 値の構成」をご参照ください。
- [M 値以外のジオメトリの更新を許可] は、フィーチャ サービス内のレイヤーで M 値の保存が有効になっているが、ユーザーが M 値を使用していないという場合に使用できる設定です。エディターがフィーチャ サービスを通じてフィーチャ ジオメトリを編集するときにクライアントから値が提供されない場合、NaN の M 値が挿入されます。詳細については、「M 対応のレイヤーを含む編集可能なフィーチャ サービスの構成」をご参照ください。
- [フィーチャで所有権ベースのアクセス制御を有効にする] を使用すると、フィーチャを所有していないユーザーによるフィーチャへのアクセスを制限することができます。詳細については、「フィーチャ サービスの所有権ベースのアクセス制御」をご参照ください。
注意:
フィーチャに所有権ベースのアクセス制御を使用できるのは、エンタープライズ ジオデータベースのみです。データベースでは使用できません。
高度な編集設定
[フィーチャ アクセス] タブの [高度な設定] ボタンをクリックすると、フィーチャ サービスを通じたデータの編集に関連する次の詳細オプションを設定できます。
- [編集を適用するときにユーザー名にレルムを追加する] により、フィーチャ サービスを通じて編集を行うときに記録される ArcGIS Server のユーザー名に追加される値を指定できます。これにより、ユーザーがジオデータベース内のデータを直接編集しているのではなく、フィーチャ サービスを通じてデータを編集しているときを見分けることができます。これを有効にするには、[編集を適用するときにユーザー名にレルムを追加する] をオンにして、ユーザー名に追加するレルム値を入力します。詳細については、「フィーチャ サービスの編集情報の記録」をご参照ください。
- [それぞれに対してバージョンを作成] オプションは、バージョン対応登録されたデータを含む同期対応フィーチャ サービスの動作に影響を与えます。デフォルトのオプションは、[ダウンロードされたマップ] です。フィーチャ サービスを含むマップをオフラインで取得するたびにバージョンを生成するには、このオプションを有効のままにしておきます。一方、マップをダウンロードするユーザーごとにバージョンを生成するには、[ユーザー] オプションを有効にします。これらのオプションを含め、オフライン マップのバージョン対応登録されたデータの使用の詳細については、「オフライン マップとバージョン対応登録されたデータ」をご参照ください。
- [Web コンテンツのフィルタリング] により、サポートされていない HTML エンティティまたは属性の入力が阻止されます。このオプションはデフォルトで有効になっています。エディターがこれらのサポートされていない HTML エンティティの入力機能を必要とする場合を除いて、[Web コンテンツのフィルタリング] を無効にしないでください。このオプションを無効にすると、ユーザーが入力フィールドに任意のテキストを入力できるようになるため、サービスがクロスサイト スクリプティング (XSS) 攻撃を受ける可能性が生じます。
多層アクセスの構成
それぞれが異なるオペレーションを要求する多層のユーザーをサポートする必要がある場合は、ユーザーのレベルごとに 1 つのサービスを作成することが推奨されます。たとえば、すべてのオペレーションが許可された Professors サービスを作成できます。それとともに、[作成]、[クエリ]、[アップロード] オペレーションだけが許可された権限の小さい Students サービスを作成できます。