フィーチャ サービスを使用すると、データを Web 経由で共有できます。ユーザーは、フィーチャ サービスに接続して、このデータを編集できます。フィーチャ サービスでデータの編集情報の記録が有効化されている場合、ArcGIS Server は、フィーチャ サービスを通じてデータを追加または編集するユーザーと編集日時を記録します。この情報は、データ所有者がソース データの編集情報の記録を有効化するときに定義するフィールドに格納されます。
編集情報の記録は、フィーチャクラスまたはテーブル単位で有効化されます。フィーチャ サービス内の一部またはすべてのレイヤーに対して編集情報の記録を有効化するには、次のいずれかの方法を使用します。
- ArcGIS Desktop から [編集情報の記録を有効化 (Enable Editor Tracking)] ジオプロセシング ツールを使用するか、Python スクリプトからこのツールを呼び出します。
- ArcGIS Pro で [カタログ] ウィンドウのジオデータベース フィーチャクラスまたはテーブルに接続し、[管理] ショートカットメニューから編集情報の記録を有効化します。
- ArcMap で [カタログ] ツリーのジオデータベース フィーチャクラスまたはテーブルに接続し、ショートカット メニューまたは [プロパティ] ダイアログ ボックスから編集情報の記録を有効化します。
備考:
- 編集情報の記録を有効化できるのは、エンタープライズおよびワークグループ ジオデータベースのデータのみです。データベース内のデータは有効化できません。
- 編集情報の記録を有効化できるのは、フィーチャクラスまたはテーブルの所有者のみです。
- フィーチャ サービスの公開後にソース フィーチャクラスおよびテーブルの編集情報の記録を有効化する場合は、必ずフィーチャ サービスを再起動してください。
認証されたユーザーが、編集情報の記録が有効化されたレイヤーを含むフィーチャ サービスを編集した場合、ArcGIS Server にログインしたユーザーが作成者および編集者フィールドに記録され、フィーチャが追加されたり編集が行われた日時がそれぞれ作成日および編集日フィールドに記録されます。
認証されていないユーザーが、編集情報の記録が有効化されたフィーチャ サービスを編集した場合、ESRI_Anonymous が作成者および編集者フィールドに記録され、対応する作成または編集の日付がジオデータベースに設定されます。ただし、これらのフィールドをフィーチャ サービスから表示すると、空の状態で表示されます。セキュリティで保護されていないフィーチャ サービスを ArcGIS Online または ArcGIS Enterprise ポータルに追加する場合 (サービスで ArcGIS Server の認証情報が指定されていない場合)、編集は認証されていないユーザーによるものと見なされ、ESRI_Anonymous が作成者および編集者フィールドに記録されます。
詳細:
誰がデータを作成または編集したかを記録するために、アプリケーションは、この情報のトークンを取得するために ArcGIS Server の認証情報を要求する必要があります。このトークンは、誰がリクエストを出しているかを伝えるために、フィーチャ サービスへのリクエストに追加されます。
編集情報の記録を使用する理由
編集情報の記録を使用する理由には、次のようなものがあります。
説明責任と品質管理
誰がいつ編集を行ったかの記録は、ジオデータベースに追加するフィーチャの説明責任と品質管理を徹底するために役立ちます。フィーチャの作成者、前回の編集者、および (必要に応じて) 最終編集日を記録すれば、既存のフィーチャを誰が編集したかがわかります。アーカイブをオンにすると、フィーチャの削除および作成者も含めて、編集の全履歴が得られます。
時間による記録の変化
また、作成日と現在までの編集日を記録することで、 全体的な傾向と、いつどのように修正されているかがわかります。アーカイブをオンにする場合は、これらの要件のために編集の記録も行う必要はありません。
所有権ベースのアクセス制御の適用
フィーチャを作成したユーザーだけがそのフィーチャにアクセスできるように、アクセスを制限することができます。そのためには、サービスがフィーチャの作成者を基準にしてアクセスを受け入れるよう構成します。詳細については、「フィーチャ サービスでの所有権ベースのアクセス制御」をご参照ください。
ArcMap でのフィーチャ サービスの編集
ArcMap でフィーチャ サービスを編集するとき、ArcMap がインストールされているコンピューター上に、サーバーのデータの複製コピー (子レプリカ) が作成されます。編集はローカル コピーに対して行われ、サーバーに同期されます。サーバーに書き込まれる編集者、編集日、作成者、および作成日はそれぞれ、ArcGIS Server サイトにログインして同期を実行したユーザーと、編集が実行された日付です。
編集情報の記録とタイム ゾーン
REST を通してフィーチャ サービスを操作している場合は、すべての日付が UTC で記録され、返されます。フィーチャクラスで編集情報の記録を有効にする場合、編集情報の記録に使用する日付フィールドに UTC を使用するように構成することをお勧めします。
編集情報を記録する日付フィールドを使用できない場合 (UTC を使用できないようにする別のアプリケーションでそのフィールドを使用しているような場合) は、フィーチャ サービスを公開するときに、データベースで使用されるタイム ゾーンを指定します。
レルムと編集情報の記録
レルムは、ユーザーとデータの編集方法を一意に識別するために定義する文字列です (例: @server)。レルムは、データを含むジオデータベースと、各フィーチャ サービスの 2 つの場所で定義できます。ジオデータベース上でレルムを設定して、デスクトップ クライアントから編集するデータベース認証ユーザーを識別する方法の詳細については、ArcMap ヘルプの「編集者によるデータ変更情報の記録について」をご参照ください。編集を行ったユーザーとして記録される名前に追加されるレルムを定義できます。
また、フィーチャ サービスでの編集内容にレルムを追加することもできます。編集情報の記録が有効化されたデータを含むセキュリティ保護されたフィーチャ サービスにユーザーがアクセスする場合、ArcGIS Server は、行われたすべての編集にそのユーザー名を適用します。ArcGIS Server は、フィーチャ サービスで設定したすべてのレルムも追加します。
たとえば、ユーザー Mary が ArcGIS Server にログインしてフィーチャを追加する場合を考えてみます。作成者はジオデータベースに Mary として設定されます。レルム @server を使用するようにフィーチャ サービスを設定すると、それ以降の編集は Mary@server という名前でデータベースに表示されます。
フィーチャ サービスを通じて行われる編集情報を記録するには、ArcGIS Server Manager の手順または以下の ArcMap の手順に従い、フィーチャ サービスでレルムを設定します。
ArcGIS Server Manager でのフィーチャ サービスのレルムの設定
- ArcGIS Server Manager を起動し、ログインします。この手順の詳細については、「ArcGIS Server Manager へのログイン」をご参照ください。
- [サービス] > [サービスの管理] の順にクリックします。
- [サービス] モジュールで、フィーチャ サービスの名前をクリックします。リスト内にサービスが表示されていない場合は、[サイト (ルート)] ディレクトリのフォルダー内にあります。
- [編集] モジュールの [機能] をクリックします。
- [Feature Access] をクリックします (チェックボックスをオフにしないように注意してください)。
- [プロパティ] セクションで、[高度な設定] をクリックします。
- [編集を適用するときにレルムを使用してユーザー名を制限する] を選択します。
- デフォルトのレルムを使用するか、独自の修飾子を適用するかを選択します。
- [OK] をクリックします。
ArcMap でのフィーチャ サービスのレルムの設定
- カタログ ツリーで [ArcGIS Server] ノードを展開します。
- ArcGIS Server サイトへの管理者接続をダブルクリックします。管理者接続を作成する必要がある場合の手順については、「ArcGIS Desktop での ArcGIS Server への接続」をご参照ください。
- フィーチャ サービスの関連マップ サービスを右クリックし、[サービス プロパティ] を選択します。
- [サービス エディター] ダイアログ ボックスの [フィーチャ アクセス] タブをクリックします。
- [高度な設定] をクリックします。
- [フィーチャ サービスの高度な設定] ウィンドウで、[編集を適用するときにユーザー名にレルムを追加する] を選択します。
- デフォルトのレルムを使用するか、独自の修飾子を適用するかを選択します。
- [OK] をクリックします。
サーバーは、ログインしたユーザーの名前にレルムが含まれることを検出すると、独自のレルムを追加しません。
統合セキュリティ モデルの使用
データベースとサーバー ドメインの間でユーザーをマップすることができます。ユーザーが ArcGIS Desktop でジオデータベースを直接編集する必要がある場合、およびフィーチャ サービスを通じて Web 上でも編集を行う場合にこの機能を使用できます。両方の環境で同じユーザーをログに記録する必要があります。このためのワークフローは次のとおりです。
- ジオデータベースと ArcGIS Server の両方でログインが一致するアカウントを設定します。
- 同じレルムを使用するか、レルムをまったく使用しないようにデータベースとサーバーを設定します。