フィーチャ サービスでの所有権ベースのアクセス制御

それぞれのフィーチャを作成したユーザの情報をデータベースに記録するように、フィーチャ サービスを構成できます。所有していないフィーチャへのアクセスを制限することもできます。これは、所有権ベースのアクセス制御と呼ばれます。

所有権ベースのアクセス制御を使用するには、データセット内に作成者名を保持するフィールドを指定します。次に、[編集情報の記録] の設定を変更して、これを [作成者フィールド] として指定します。このプロセスの手順については、「フィーチャ サービスの編集情報の記録」をご参照ください。

サービスを公開して、[フィーチャ アクセス] ケーパビリティをオンにした場合は、[フィーチャで所有権ベースのアクセス制御を有効にする] プロパティもオンにします。次に、[他のユーザが作成したフィーチャで許可する操作]([検索]、[更新] および [削除])を選択して、作成者以外のユーザができる操作を指定します。一般的に、作成者はサービスで許可されているすべての操作を実行できます。

[検索] をオフにした場合、ログイン ユーザは自分が作成したフィーチャのみを参照するようになる、ということに留意してください。逆に、[検索] をオンにして [更新] と [削除] をオフにすると、ユーザは、他のユーザが所有するフィーチャを検索できますが、それらは読み取り専用になります。

所有権ベースのアクセス制御は、フィーチャを作成してアクセスしようとしているユーザに関する情報をサービスが取得できる場合のみ機能します。開発者は、クライアント アプリケーションでユーザに ArcGIS Server の認証情報を入力するように求める必要があります。開発者はこの情報を使用して、ArcGIS Server からのトークンを取得します。ユーザ情報が含まれている暗号化されたトークンは、リクエストの作成時にフィーチャ サービスに渡されます。

誰かが匿名リクエスト(ユーザ情報が含まれていないリクエスト)からフィーチャを作成した場合、作成者フィールドは空になり、誰でもそのフィーチャにアクセスできます。

サービス内に作成者フィールドが指定されていないデータセットがある場合、所有権ベースのアクセス制御はそれらのデータセットには適用されません。所有権ベースのアクセス制御の有効チェックボックスをオンにして、作成者フィールドを指定していない場合は、公開マップを解析すると警告が表示されます。作成者フィールドのないレイヤとテーブルは、「フィーチャ サービスでの編集者の権限」で説明されているように、サービス レベルの権限ルールを使用します。

Web 編集者

所有権ベースのアクセス制御を設定するときは、ユーザ レルムを指定できます。たとえば、ユーザ レルムが myserver.com に設定され、ユーザ Bob が接続してサービスを通じてフィーチャを作成した場合、作成者は Bob@myserver.com に設定されます。Bob が ArcMap でフィーチャを作成した場合、作成者は Bob に設定されます。

所有権ベースのアクセス制御ルールは、サービスを通じて編集を実行している管理者でない Web 編集者に対して有効です。

ヒントとベスト プラクティス

また、所有権ベースのアクセス制御オプションは、サービス レベルですべてのユーザに許可された操作に制限されることにも注意してください。たとえば、サービスレベルの Update および Delete 操作がオフの場合、所有権ベースのアクセス制御設定における Update および Delete 操作もオフになります。

サービスを公開するときは、すべてのレイヤおよびテーブルの作成者フィールドを表示しておくことをお勧めします。こうすることで、特定のフィーチャを作成したユーザをクライアントが識別できるようになります。クライアントはこの情報を使用して、ユーザが編集権限を持たないフィーチャを編集できなくすることができます。作成者フィールドが非表示の場合、フィーチャ サービスを利用しているクライアントは、特定のフィーチャを作成したユーザがわかりません。クライアントが権限のないフィーチャを編集しようとすると、エラーが返されます。

編集情報の記録と所有権ベースのアクセス制御の違いに注意してください。データセット レベルでレイヤに対して編集情報の記録が設定されている場合は、所有権ベースのアクセス制御ルールが設定されているかどうかに関係なく、フィーチャ サービスによって編集情報が記録されます。一方、所有権ベースのアクセス制御ルールを設定するには、データベース レベルでの編集情報の記録が必要です。

認証されていないユーザが編集すると、作成者または編集者フィールドの値は空のままになります。所有者ベースのアクセス制御が有効な場合、任意のユーザがフィーチャを編集できます。所有権ベースのアクセス制御が有効で作成者が NULL の場合、フィーチャまたはレコードは読み取り専用になり、誰もフィーチャを編集できません。サービスの作成者は、読み取り専用にしたいフィーチャが作成者として NULL を持つように、データを構成できます。

9/14/2013