マルチユーザー ジオデータベースの作成
ワークフローのこの最初のパートでは、ArcGIS Pro から SQL Server インスタンスにエンタープライズ ジオデータベースを作成します。 最初に、エンタープライズ ジオデータベースをデプロイするためのシステム要件を確認します。 次に、ArcGIS Pro でエンタープライズ ジオデータベースといくつかのデータベース接続を作成します。
注意:
このチュートリアルでは、SQL Server をリレーショナル データベース管理システム (RDBMS) として使用してエンタープライズ ジオデータベースをデプロイする方法について説明します。 Oracle や PostgreSQL など、別のサポートされている RDBMS を使用している場合にもこのチュートリアルを受講できますが、RDBMS 関連の一部のエレメントは異なる場合があるので注意してください。
このチュートリアルでは、SQL Server (または別のサポートされている RDBMS) がすでにインストールされていることを前提としています。 そのサーバー上の特定のインスタンスおよびデータベース管理者 (SA) アカウントへのアクセス権が必要です。
デプロイメント コンポーネントの確認と SQL Server への接続
最初に、エンタープライズ ジオデータベースを作成および管理するために必要なすべてのシステム要件をセットアップが満たしていることを確認します。 以下のコンポーネントが必要です。
- 自分のコンピューター (実験および学習用) または適切なサーバー上に SQL Server (または別のサポートされている RDBMS) がインストールされていること。
- ODBC ドライバー (ArcGIS と SQL Server 間の通信を可能にする RDBMS クライアント ドライバー)。
- ジオデータベースを作成するインスタンスのデータベース管理者アカウント (SA) にアクセスできること。
- ArcGIS Server がインストールおよび認証され、エンタープライズ ジオデータベースの作成に必要なキーコード ファイルを取得できること。
- ArcGIS Pro。
- SQL Server Management Studio (SSMS) から SQL Server に接続して操作できること。
注意:
SQL Server 以外のサポートされているその他の RDBMS には Oracle、IBM Db2、PostgreSQL、SAP HANA があり、RDBMS ごとにデータ管理を実行するための独自の要件があります。
ヒント:
これらのコンポーネントがまだインストールされていない場合は、「ArcGIS Enterprise の基本デプロイメント」および「はじめての ArcGIS Enterprise Builder」チュートリアルを最初にお読みください。 さらに、「SQL Server のシステム要件」および「ArcGIS Server のシステム要件」もご確認ください。
エンタープライズ ジオデータベースの作成や、このデータベースを使用するユーザーの作成など、重要なステップはデータベース管理者アカウントを使用して実行するため、データベース管理者の認証情報に必ずアクセスできる必要があります。 SQL Server でのデータベース管理者ユーザーには SA (システム管理者) という名前が付きます。 他の RDBMS では名前が異なる場合があります (たとえば、Oracle では Sys、PostgreSQL では postgres です)。
注意:
データベース管理者の主な職務は次のとおりです。
- 自身が管理するデータベースにおける最上位の権限を持つ (データベースに対するすべての権限が付与されます)
- データベース、ユーザー、ロールを作成する
- データベース権限を割り当て、データベースへの接続をブロックできる
- ジオデータベース内のすべてのロックを確認する
- データをバックアップおよび復元する
- ストレージを構成する
このワークフローの大部分は ArcGIS Pro で実行しますが、いくつかの一般的なデータベース管理タスクを実行する RDBMS 専用クライアントについてよく理解しておくことが重要です。 SQL Server の場合、RDBMS 専用クライアントは SQL Server Management Studio (SSMS) です。 SSMS を開き、データベース システムに接続し、一部のエレメントを確認します。
- Windows タスクバーで、[検索] ボタンをクリックします。
- 検索ボックスに「SSMS」と入力し、[最も一致する検索結果] の下の [SQL Server Management Studio] をクリックします。
SQL Server Management Studio アプリケーションが表示されます。 データベース管理者アカウント (SA ユーザー) としてサイン インします。
ヒント:
SQL 認証モードを使用して SQL Server をインストールした場合、SA アカウントはすでに作成されています。 Windows 認証モードを選択した場合、SA アカウントはデフォルトで無効になっています。 後者の場合、この手順に従って有効にする必要があります。
- [サーバーへの接続] ウィンドウで、次のパラメーター値を選択します。
- [サーバーの種類] で、[データベース エンジン] が選択されていることを確認します。
- [サーバー名] に、SQL Server インスタンスの名前 (このチュートリアルでは LINNSQLRLT) を入力します。
- [認証] で、[SQL Server 認証] が選択されていることを確認します。
- [ログイン] に、「sa」と入力します。
- [パスワード] に、sa ユーザーのパスワードを入力します。
- [接続] をクリックします。
接続したら、データベース インスタンスのいくつかのプロパティを確認します。
- サーバー名を右クリックし、[プロパティ] をクリックします。
- [サーバーのプロパティ] ウィンドウの [全般] タブで、インスタンス名など、表示されている情報を確認します。
エンタープライズ ジオデータベースを作成する際に必要となるため、これらの情報を把握しておくことが重要です。
- 必要に応じて、SSMS インターフェイスのその他いくつかの要素を確認します。
エンタープライズ ジオデータベースをデプロイするために必要なすべてのシステム要件をセットアップが満たしていることを確認しました。 SA ユーザーのロールについても学びました。 次に、エンタープライズ ジオデータベースを作成します。
エンタープライズ ジオデータベースの作成
会社の不動産データが格納されるプライマリ データ ストレージとして機能するエンタープライズ ジオデータベースを SQL Server 内に作成します。 これは ArcGIS Pro で直接作成します。 最初に、このワークフローに必要なすべてのデータが含まれている ArcGIS Pro プロジェクトをダウンロードして開きます。
- RealEstateData_MLS.zip ファイルをダウンロードし、コンピューター上の場所 (C: ドライブなど) に展開します。
- 展開した [RealEstateData_MLS] フォルダーを開き、[RealEstateData_MLS.aprx] をダブルクリックして、プロジェクトを ArcGIS Pro で開きます。
- 求められた場合、ArcGIS アカウントにサイン インします。
注意:
ArcGIS Pro へのアクセス権限または組織アカウントがない場合は、ソフトウェア アクセスのオプションをご参照ください。
プロジェクトが表示されます。
次に、ジオプロセシング ツールを使用してエンタープライズ ジオデータベースを作成します。
注意:
ArcGIS Pro では、エンタープライズ ジオデータベースを作成する際に次の 2 つのジオプロセシング ツールを使用できます。
- エンタープライズ ジオデータベースの作成では、ジオデータベースとして使用するデータベースを設定します。
- エンタープライズ ジオデータベースの有効化では、既存のデータベースにジオデータベースの振舞いを追加します。
[エンタープライズ ジオデータベースの作成] ツールを使用してエンタープライズ ジオデータベースを作成してから、エンタープライズ ジオデータベースに新しいデータを作成するかデータを読み込みます。 [エンタープライズ ジオデータベースの有効化] ツールは (データがすでに格納されているかどうかにかかわらず) 既存のデータベースに対して使用して、ジオデータベースの振舞いとロジックを追加できます。
このワークフローでは既存のデータベースが存在しないため、[エンタープライズ ジオデータベースの作成] ツールを使用して最初から作成します。
- リボンの [表示] タブをクリックし、[ウィンドウ] グループで、[ジオプロセシング] をクリックします。
[ジオプロセシング] ウィンドウが表示されます。
- [ジオプロセシング] ウィンドウの検索バーに、「エンタープライズ ジオデータベースの作成」と入力します。 結果のリストで、[エンタープライズ ジオデータベースの作成] をクリックします。
- [エンタープライズ ジオデータベースの作成] ツールで、各パラメーターに次の値を設定します。
- [データベース プラットフォーム] で、[SQL Server] を選択します。
- [インスタンス] に、SQL Server インスタンスの名前 (このチュートリアルでは LINNSQLRLT) を入力します。
- [データベース] に、新しいデータベースの名前として「ListingsDB」と入力します。
ヒント:
SQL Server 以外の RDBMS を使用している場合、一部のパラメーター値は異なる場合があります。 さらに、一部の値は作成先のデータベース インスタンスによって異なります (インスタンス名など)。
SA ユーザーとしてエンタープライズ ジオデータベースを作成します。
- 次の情報で認証します。
- [オペレーティング システム認証] チェックボックスはオフのままにします。
- [データベース管理者] に、「sa」と入力します。
- [データベース管理者のパスワード] に、sa ユーザーのパスワードを入力します。
このツールのパラメーターの次のセクションは、ジオデータベース管理者に関するものです。 通常、データベース管理者 (SA ユーザー) とジオデータベース管理者は 2 人の異なるユーザーであり、職務はそれぞれ異なります。
注意:
ジオデータベース管理者の主な職務は次のとおりです。
- リポジトリ テーブルを所有する
- マルチユーザー ジオデータベース構成を管理する
- DBTUNE を構成する
- メンテナンス タスクを実行する
- すべてのバージョンを表示してトップ レベル (デフォルト) バージョンを管理することができる
- データベースへの接続をブロックできる
- ジオデータベース テーブルの統計情報/インデックスを更新できる
- すべてのバージョンを表示および削除する
- 名前付きバージョンからの変更をリコンサイルおよびポストする
- ジオデータベース管理者用に次のオプションを選択します。
- [SDE 所有スキーマ] チェックボックスはオンのままにします。
- [ジオデータベース管理者のパスワード] に、sde ユーザーのパスワードを入力します。
ジオデータベースの作成時に、ジオデータベース管理者ユーザーにはジオデータベース関連の管理タスクを実行する権限が付与されます。 使用されている RDBMS とデータベース管理者の好みに応じて、ジオデータベース管理者として SDE ユーザーまたは DBO ユーザーを指定できます。 このチュートリアルでは、SDE ユーザーを使用します。 SDE ユーザーは 1 回だけ作成され、すべてのエンタープライズ ジオデータベースに使用されます。 上記のケースのように SDE ユーザーがすでに存在する場合、その SDE ユーザーの既存のパスワードを入力する必要があります。 SDE ユーザーがまだ存在しない場合、SDE ユーザーを作成するよう求められ、任意の新しいパスワードを入力します。 詳細については、「エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)」をご参照ください。
注意:
SDE スキーマと DBO スキーマのどちらを選択するかは組織ごとに異なります。 一般に、ジオデータベース管理者とデータベース管理者の職務を分ける場合、SDE 所有スキーマを選択します。 [SDE 所有スキーマ] チェックボックスをオフにした場合、DBO 所有スキーマを選択することになります。 さらに詳細な比較については、「SQL Server のジオデータベース所有者の比較」をご参照ください。
- [認証ファイル] で、ArcGIS Server の認証時に生成されたキーコード ファイルを選択します。
ヒント:
キーコード ファイルは、通常は <drive>\ProgramFiles\ESRI\License<release#>\sysgen フォルダー (Windows) または /arcgis/server/framework/runtime/.wine/drive_c/ProgramFiles/ESRI/License<release#>/sysgen ディレクトリ (Linux) にあります。
- [実行] をクリックします。
データベースの作成中、ステータス バーに進行状況が表示されます。
しばらくすると、処理が完了します。
これで、新しいエンタープライズ ジオデータベースが作成されました。 次のステップで、これに接続します。
ヒント:
前提条件やその他の詳細については、「SQL Server でのジオデータベースの作成」をご参照ください。
新しいエンタープライズ ジオデータベースへの接続
ListingsDB という名前のエンタープライズ ジオデータベースが正常に作成されました。 次に、データベース管理者 (SA) およびジオデータベース管理者として ListingsDB ジオデータベースにアクセスするためのデータベース接続を ArcGIS Pro で作成します。 これらの接続を介して、ジオデータベースを管理することができます。 SA 接続から始めます。
- リボンの [表示] タブにある [ウィンドウ] グループで、[カタログ] ウィンドウをクリックします。
- [データベース] フォルダーを右クリックして [新しいデータベース接続] を選択します。
- [データベース接続] ウィンドウで、次のパラメーター値を選択します。
- [データベース プラットフォーム] で、[SQL Server] を選択します。
- [インスタンス] に、「LINNSQLRLT」と入力します。
- [認証タイプ] で、[データベース認証] を選択します。
- [ユーザー名] に、「sa」と入力します。
- [パスワード] に、sa アカウントのパスワードを入力します。
- [ユーザー/パスワードの保存] チェックボックスはオンのままにします。
- [データベース] に、「ListingsDB」と入力します。
注意:
繰り返しになりますが、残りのワークフローのどのツールでも、お使いのシステムの個々の設定に合わせて一部のパラメーター値を調整する必要があります。
- [OK] をクリックします。
しばらくすると、新しい LINNSQLRLT.sde 接続が表示されます。
注意:
データベース接続を行うと、サービス データ エンタープライズ (SDE) データベース接続ファイルが作成されます。 このファイルにはデータベース情報および接続しているユーザーの認証情報が格納され、これ以降、セキュリティで保護された接続を容易に確立することができます。
接続の名前を変更します。 ベスト プラクティスに従うため、<データベース名>_<データベース ユーザー>.sde という命名形式を適用します。
- [カタログ] ウィンドウで、必要に応じて、LINNSQLRLT.sde をクリックして編集モードに切り替えます。 「ListingsDB_SA.sde」と入力して Enter キーを押します。
注意:
[データベース] フォルダーには RealEstateData_MLS.gdb も含まれており、これはローカル ファイル ジオデータベースです。 このワークフローの後半で、RealEstateData_MLS.gdb のコンテンツを新しい ListingsDB エンタープライズ ジオデータベースに移行します。
同様に、ジオデータベース管理者 SDE ユーザー用のデータ接続を作成します。
- [カタログ] ウィンドウで、[データベース] フォルダーを右クリックして [新しいデータベース接続] を選択します。
- [データベース接続] ウィンドウで、次のパラメーター値を選択します。
- [データベース プラットフォーム] で、[SQL Server] が選択されていることを確認します。
- [インスタンス] で、[LINNSQLRLT] が選択されていることを確認します。
- [認証タイプ] で、[データベース認証] が選択されていることを確認します。
- [ユーザー名] に、「sde」と入力します。
- [パスワード] に、sde ユーザーのパスワードを入力します。
- [ユーザー/パスワードの保存] チェックボックスはオンのままにします。
- [データベース] で、[ListingsDB] が選択されていることを確認します。
- [OK] をクリックします。
- [カタログ] ウィンドウで、新しい LINNSQLRLT.sde 接続の名前を ListingsDB_GDBAdmin.sde に変更します。
データベース管理者 (SA) 用のデータベース接続とジオデータベース管理者 (GDBAdmin) 用のデータベース接続が作成されました。
注意:
データベース メンテナンス タスクにはジオデータベース管理者接続を使用するのが一般的ですが、 このチュートリアルの目的はデータベース メンテナンスを実施することではなく新しいエンタープライズ ジオデータベースをデプロイすることなので、残りのワークフローではジオデータベース管理者ユーザーは使用しません。
このチュートリアルではこれまでのところ、エンタープライズ ジオデータベースをデプロイするためのシステム要件を確認し、データベース管理者ユーザーとジオデータベース管理者ユーザーについて学びました。 エンタープライズ ジオデータベースを作成し、データベース管理者およびジオデータベース管理者としてエンタープライズ ジオデータベースに接続しました。
不動産データの移行
チュートリアルのこの 2 つ目のパートでは、不動産会社用に引き続きエンタープライズ ジオデータベースを設定します。 データ所有者としての役割を果たす GIS という名前のデータベース ユーザーを作成します。 次に、そのユーザー用のデータベース接続を作成し、これを使用して不動産データを移行します。
データ所有者ユーザーの作成
ListingsDB エンタープライズ ジオデータベースのデータ所有者としての役割を果たすユーザーを作成します。 データ所有者はデータの読み込みと管理を担当します。 このユーザーを作成することで、データ管理業務が一般データベース管理やその他の一般的なデータ編集タスクから切り離されます。 データベース ユーザーの作成ツールを使用して新しいユーザーを作成します。 このタスクを実行するには、新規ユーザーを作成可能な SA アカウントである ListingsDB_SA.sde 接続を使用します。
注意:
データ所有者ユーザーの職務は次のとおりです。
- データベース内のすべてのデータを所有および管理する
- データ権限を管理する
- スキーマを変更し、フィールドとインデックスを管理する
- 自分が所有するデータに対するスキーマ ロックを確認する
- データをバージョン対応登録およびバージョン対応登録解除する
- 履歴管理を有効/無効にする
- アタッチメントを追加および削除する
- [カタログ] ウィンドウの [データベース] で、ListingsDB_SA.sde を右クリックして [管理] をポイントし、[データベース ユーザーの作成] を選択します。
- [データベース ユーザーの作成] ツールで、次のパラメーター値を選択します。
- [入力データベース接続] で、[ListingsDB_SA.sde] が選択されていることを確認します。
- [データベース ユーザー] に、「GIS」と入力します。
- [データベース ユーザー パスワード] に、任意の新しいパスワードを入力します (例: AcBdEgFh13243546!)。
パスワードは、SQL Server のセキュリティ要件を満たしている必要があります。
注意:
データベース ユーザーの作成ツールは、データベースにデータを読み込む権限を持つデータベース ユーザーを作成します。 データを読み込む権限を持たない閲覧者ユーザーおよび編集者ユーザーを組織が必要とする場合、データベース管理者は、SSMS などのデータベース クライアント ツールを使用してデータベース ユーザー作成タスクを実行する必要があります。
- [実行] をクリックします。
ツールが正常に実行されたら、GIS ユーザーにデータベース接続を作成します。
- [ジオプロセシング] ウィンドウの下部で、[カタログ] ウィンドウに再び切り替えます。
- [カタログ] ウィンドウで、[データベース] フォルダーを右クリックして [新しいデータベース接続] を選択します。
- [データベース接続] ウィンドウで、次のパラメーター値を選択して [OK] をクリックします。
- [データベース プラットフォーム] で、[SQL Server] が選択されていることを確認します。
- [インスタンス] で、[LINNSQLRLT] が選択されていることを確認します。
- [認証タイプ] で、[データベース認証] が選択されていることを確認します。
- [ユーザー名] に、「GIS」と入力します。
- [パスワード] に、GIS ユーザーのパスワードを入力します (例: AcBdEgFh13243546!)。
- [ユーザー/パスワードの保存] チェックボックスはオンのままにします。
- [データベース] で、[ListingsDB] が選択されていることを確認します。
- 新しい LINNSQLRLT.sde 接続の名前を ListingsDB_GIS.sde に変更します。
GIS という名前のデータ所有者ユーザーが作成されました。
不動産データのインポート
次に、GIS ユーザーを使用して ListingsDB ジオデータベースに不動産データを読み込みます。 移行するデータは、現在のところ、ローカル ファイル ジオデータベース RealEstateData_MLS.gdb に格納されています。
注意:
ファイル ジオデータベースとエンタープライズ ジオデータベースの違いについては、「ジオデータベースの種類」ページをご参照ください。
最初に、データを確認します。
- [カタログ] ウィンドウの [データベース] で、RealEstateData_MLS.gdb の横の矢印をクリックして展開します。
RealEstateData_MLS.gdb ファイル ジオデータベースには 4 つのフィーチャクラスが含まれています。
- RealEstateBLL - 借地上の建物を表すポイント フィーチャクラス。
- RealEstateParcel - 郡の税務システム情報に紐付けされている土地区画ジオメトリを表すポリゴン フィーチャクラス。
- RealEstatePoliticalTownship - 行政区のタウンシップの境界を表すポリゴン フィーチャクラス。
- RealEstateSubdivision - 記録されているすべての区画割りを表すポリゴン フィーチャクラス。
フィーチャクラス → ジオデータベース ツールを使用してデータを移行します。
注意:
ArcGIS Pro には、この他にもデータの読み込みを支援する次のようなツールが多数備わっています。
- 変換ツールボックスには、さまざまな形式間でデータを変換するためのツールが多数用意されています。 その 1 つである [フィーチャクラス → ジオデータベース] ツールをこのワークフローでは使用します。
- XML ワークスペース ドキュメントのインポートでは、XML ワークスペース ドキュメントのコンテンツが既存のジオデータベースにインポートされます。
- アペンドでは、複数の入力データセットが 1 つの既存のターゲット データセットに追加されます。
- 切り取り、コピー、貼り付け操作によって、選択したフィーチャや属性値を異なるワークスペース間で移動できます。
- マージでは、複数の入力データセットが 1 つの新しい出力データセットに結合されます。
- Data Interoperability ツールボックスは、Safe Software の FME テクノロジによって、各種形式のデータの抽出、変換、読み込みを支援します。
- RealEstateData_MLS.gdb の横の矢印をクリックして、ファイル ジオデータベースを再び折りたたみます。
- ListingsDB_GIS.sde を右クリックし、[インポート] をポイントして [複数のフィーチャクラス] を選択します。
- [フィーチャクラス → ジオデータベース] ウィンドウで、[入力フィーチャ] の [参照] ボタンをクリックします。
RealEstateData_MLS.gdb のコンテンツを参照して選択します。
- [入力フィーチャ] ウィンドウで、RealEstateData_MLS.gdb をクリックします。 RealEstateBLL をクリックし、Shift キーを押しながら RealEstateSubdivision をクリックします。
4 つのフィーチャクラスが選択されます。
- [OK] をクリックします。
- [出力ジオデータベース] で、[ListingsDB_GIS.sde] が選択されていることを確認します。
- [実行] をクリックします。
処理が完了するまでに数分かかる場合があります。 エンタープライズ ジオデータベースの表示を更新して新しいコンテンツを確認します。
- [カタログ] ウィンドウで、ListingsDB_GIS.sde を右クリックして [更新] を選択します。
- ListingsDB_GIS.sde を展開します。
4 つのフィーチャクラスがジオデータベースにコピーされました。 これらは GIS ユーザーによって所有されます。 各フィーチャクラス名の前にユーザー名 GIS が付加されていることを確認します。
ワークフローのこのパートでは、データ所有者としての役割を果たす GIS ユーザー アカウントを ListingsDB ジオデータベース内に作成しました。 その後で、[フィーチャクラス → ジオデータベース] ツールを使用してこのジオデータベースに 4 つのフィーチャクラスを読み込みました。
データ ユーザーの作成とデータ権限の割り当て
ListingsDB エンタープライズ ジオデータベースにデータが読み込まれたので、不動産会社の各従業員に対応するデータ ユーザーを作成します。 その後、各データ ユーザーに権限を付与して、それぞれの仕事で求められる方法でデータを操作できるようにします。
追加のデータベース ユーザーの作成
Sarah、Scott、Lisa、Sandra の各従業員に対応する、4 つのデータ ユーザーを作成します。 さらに、これらのユーザー用にデータベース接続を作成します。 GIS ユーザーを作成したときと同じプロセスに従って、最初に Sarah のデータベース ユーザーを作成します。
注意:
このデータ ユーザーの主な職務は次のとおりです。
- データ所有者によってデータに付与されている権限に基づいて、データを表示/編集する。
- マップ作成や解析実行のためにデータを使用する。
- フィーチャとマップを維持管理する。
- ListingsDB_SA データベース接続を右クリックして [管理] をポイントし、[データベース ユーザーの作成] を選択します。
- [データベース ユーザーの作成] ジオプロセシング ツールで、該当するパラメーターを入力して [実行] をクリックします。
- [入力データベース接続] で、[ListingsDB_SA.sde] が選択されていることを確認します。
- [データベース ユーザー] に、「sarah」と入力します。
- [データベース ユーザー パスワード] に、任意の新しいパスワードを入力します (例: BcBdEgFh13243546!)。
- [カタログ] ウィンドウで、[データベース] フォルダーを右クリックして [新しいデータベース接続] を選択します。
- [データベース接続] ウィンドウで、次のパラメーター値を選択して [OK] をクリックします。
- [ユーザー名] に、「sarah」と入力します。
- [パスワード] に、そのデータ ユーザーのパスワードを入力します (例: BcBdEgFh13243546!)。
- その他の事前に入力されている値はすべてそのままにします。
- 新しい LINNSQLRLT.sde 接続の名前を ListingsDB_SARAH.sde に変更します。
- Sarah のときと同じ手順に従って、残りの従業員 (Scott、Lisa、Sandra) に対応する新しいユーザーとデータベース接続を作成します。
- [カタログ] ウィンドウで、作成した 4 つのデータベース接続を展開し、データが含まれているかどうかを確認します。
ヒント:
データベース接続が空の場合には矢印が消えます。
4 つのデータベース接続は空です。 なぜなら、現在のところ、これらのデータ ユーザーには GIS データ所有者によって作成されたデータにアクセスする権限が付与されていないからです。
注意:
必要に応じて SA 接続と GDBAdmin 接続も展開すると、この 2 つはすべてのデータにアクセスできることがわかります。 なぜなら、管理アカウントにはデータ アクセスが自動的に付与されますが、その他のユーザーにはデータにアクセスするための権限がデータ所有者によって明示的に付与される必要があるからです。
各従業員に対応するデータ ユーザーが作成されました。 次のセクションでは、各データ ユーザーにデータ権限を割り当てます。
権限の割り当て
読み込まれたデータにユーザーがアクセスするためには、データ所有者がユーザーに明示的なアクセス権限を付与する必要があります。 このような権限を付与するには 2 つの方法があり、個々のユーザーに権限を直接付与するか、ユーザーをロールにグループ化してロールに権限を付与することができます。 1 つ目の方法の方が簡単に見えますが、2 つ目の方法では 1 回の操作で複数のユーザーに同じ権限を付与できるため、1 つ目の方法よりも効率的です。 このワークフローでは、両方のオプションを試してみます。
データ ユーザーに、次の表にまとめた会社での役割と職務に基づいて、データへのアクセス権を付与します。
従業員名 | 会社での役割 | 職務 | データ アクセスの必要性 |
---|---|---|---|
Sarah | リアルター マネージャー代理 | すべてのタイプの記載事項を管理 | すべてのデータに対する読み取り/書き込みアクセス権が必要 |
Scott | リアルター | 借地上の物件を紹介および販売 | RealEstateBLL フィーチャクラスに対する読み取り/書き込みアクセス権が必要 |
Lisa と Sandra | リアルター アシスタント | 顧客からの問い合わせに対応 | 土地区画データとタウンシップ データに対する表示アクセス権が必要 |
最初に、個々のユーザーに権限を直接付与する方法について学びます。 この方法では、個々のユーザーに異なるレベルのアクセス権を割り当てることができるため、最も細かい制御が可能です。 上記の表の情報に基づけば、Scott はリアルターであり、Scott の職務は借地上の建物を紹介および販売することです。 彼はこのタイプの物件を扱う唯一の従業員なので、RealEstateBLL フィーチャクラスに対する読み取り/書き込みアクセス権を彼に直接付与します。
- [カタログ] ウィンドウで、ListingsDB_GIS.sde データベース接続が展開されていることを確認し、GIS.RealEstateBLL フィーチャクラスを右クリックして [権限] を選択します。
- [権限] ウィンドウで、[ユーザーの追加] をクリックします。
既存のすべてのデータベース ユーザーのリストが表示されます。
- ユーザーのリストで、[scott] のチェックボックスをオンにして [OK] をクリックします。
デフォルトで、ユーザー scott には RealEstateBLL フィーチャクラスを表示 ([選択]) する権限が付与されていますが、編集 ([挿入]、[更新]、[削除]) する権限は付与されていません。
Scott は物件の登録と販売を頻繁に行う従業員なので、新規物件を追加して記載事項を調整するためにはデータに対する書き込みアクセス権を必要とします。 このため、彼にさらなる権限を付与します。
- [scott] の [挿入]、[更新]、[削除] の各チェックボックスをオンにし、[適用] をクリックします。
次に、ユーザーに権限を直接付与する代わりに、ロールに付与するオプションを使用してみます。 ロールが設定されると、次の 2 つのオプションが使用可能になります。
- 単一のユーザーにロールを割り当てる。
- ユーザーのグループにロールを割り当てる。
最初に、Sarah を例にとって、単一ユーザーにロールを割り当てます。 リアルター マネージャー代理である Sarah は、すべてのデータに対する読み取り/書き込みアクセス権を必要としています。 これを実現するため、すべてのフィーチャクラスに対する読み取り/書き込みアクセス権を持つマネージャー ロールを作成してから、データ ユーザー sarah をこのロールに追加します。 Sarah はマネージャー代理で近いうちに別の人と交代するため、この例ではこのアプローチが特に便利です。 新しいマネージャーが着任したら、データ ユーザーを作成してマネージャー ロールに追加することで、新しいマネージャーに必要なデータ権限が付与されます。
マネージャー ロールを作成します。 ロールの作成は、ユーザーの作成と同様に、SA ユーザーとして実行します。
- [カタログ] ウィンドウで、ListingsDB_SA 接続を右クリックして [管理] をポイントし、[ロールの作成] を選択します。
- [ロールの作成] ウィンドウで、次のパラメーター値を選択します。
- [入力データベース接続] で、[ListingsDB_SA.sde] が選択されていることを確認します。
- [ロール] に、「Realtor Manager」と入力します。
- [ユーザーに付与/ユーザーから取り消し] で、[ロールの付与] が選択されていることを確認します。
- [ユーザー名] に、「sarah」と入力します。
- [実行] をクリックします。
Realtor Manager ロールが作成されたので、その権限を変更します。
- [ジオプロセシング] ウィンドウの [戻る] ボタンをクリックします。
- [権限の変更] ツールを検索して開きます。
- [権限の変更] ツールで、次のパラメーター値を選択します。
- [入力データセット] で、[参照] をクリックします。 [入力データセット] ウィンドウで、ListingsDB_GIS.sde をクリックし、4 つのフィーチャクラスを選択して [OK] をクリックします。
- [ユーザー] に、「Realtor Manager」と入力します。
- [表示 (選択)] で、[表示権限を付与] を選択します。
- [編集 (更新/挿入/削除)] で、[編集権限を付与] を選択します。
- [実行] をクリックします。
次に、Lisa と Sandra を例にとって、ユーザーのグループにロールを割り当てる方法を試します。 Lisa と Sandra はどちらもリアルター アシスタントであり、土地区画や行政区のタウンシップの境界に関する顧客からの問い合わせに対応することを主な職務としています。 データ編集は行わず、表示権限のみが必要です。 これを実現するため、Realtor Assistant という名前のロールを作成し、これにユーザー lisa および sandra を追加します。 この後、フィーチャクラス [RealEstateParcel] および [RealEstatePoliticalTownship] に対する表示専用アクセス権をこのロールに付与します。
- [カタログ] ウィンドウで、ListingsDB_SA 接続を右クリックして [管理] をポイントし、[ロールの作成] を選択します。
- [ロールの作成] ウィンドウで、次のパラメーター値を選択し、[実行] をクリックします。
- [入力データベース接続] で、[ListingsDB_SA.sde] が選択されていることを確認します。
- [ロール] に、「Realtor Assistant」と入力します。
- [ユーザーに付与/ユーザーから取り消し] で、[ロールの付与] が選択されていることを確認します。
- [ユーザー名] に、「lisa,sandra」と入力します。
ヒント:
複数のユーザーを指定するには、ユーザー名をカンマで区切って入力します (スペースは挿入しません)。
[ロールの作成] ツールでは、既存のロールに新規ユーザーを追加したり、既存のロールからユーザーを削除したりすることもできます。
Realtor Assistant ロールが作成されたので、その権限を変更します。
- [ジオプロセシング] ウィンドウで、[戻る] ボタンをクリックし、[権限の変更] ツールを検索して開きます。
- [権限の変更] ツールで、次のパラメーター値を選択し、[実行] をクリックします。
- [入力データセット] で、[参照] をクリックします。 [入力データセット] ウィンドウで、ListingsDB_GIS.sde をクリックし、GIS.RealEstateParcel と GIS.RealEstatePoliticalTownship を選択して [OK] をクリックします。
- [ユーザー] に、「Realtor Assistant」と入力します。
- [表示 (選択)] で、[表示権限を付与] を選択します。
- [編集 (更新/挿入/削除)] で、[編集権限を変更しない] が選択されていることを確認します。
直接またはロールを介して、すべてのデータ ユーザーに権限を割り当てました。
ユーザー権限のテスト
この最後のセクションでは、すべての従業員が各自の職務を遂行するために必要なデータ アクセス要件が満たされていることを確認します。 Sarah から始めます。
- [カタログ] ウィンドウで、ListingsDB_SARAH.sde データベース接続を右クリックして [更新] を選択します。
ListingsDB_SARAH.sde のコンテンツが更新されて、最近追加したアイテムが含められます。
- ListingsDB_SARAH.sde を展開してそのコンテンツを表示します。
この接続の下に 4 つのフィーチャクラスすべてが表示されています。 つまり、Sarah は、希望どおり、すべての不動産データにアクセスできるようになりました。
次は、Scott です。
- [カタログ] ウィンドウで、ListingsDB_SCOTT.sde を更新して展開します。
Scott はその職務で必要な RealEstateBLL フィーチャクラスのみにアクセスできます。
最後は Lisa と Sandra です。
- [カタログ] ウィンドウで、ListingsDB_LISA.sde と ListingsDB_SANDRA.sde を更新して展開します。
Lisa と Sandra は 2 つのフィーチャクラス [RealEstateParcel] と [RealEstatePoliticalTownship] にだけアクセスできます。 Lisa と Sandra はこの 2 つのフィーチャクラスへのアクセスだけを必要としているため、これは希望どおりです。
すべての従業員が適切なデータにアクセスできることを確認しました。 次に、そのデータに対する適切なレベルの権限が付与されていることを確認します。 Realtor Assistant ロールには表示アクセス権のみを付与しました。 つまり、Lisa と Sandra がデータを編集可能であってはなりません。 Lisa として、これらのフィーチャクラスの 1 つに対して編集を試みます。
- [カタログ] ウィンドウで、ListingsDB_LISA.sde の下の GIS.RealEstateParcel フィーチャクラスを右クリックして [現在のマップに追加] を選択します。
レイヤーがマップ上に表示されます。
- [コンテンツ] ウィンドウで、[編集別にリスト] ボタンをクリックして、レイヤーを編集可能ステータス別にリストします。
- GIS.RealEstateParcel レイヤーの横の感嘆符をポイントします。
[レイヤーを編集できません] というエラー メッセージが表示されます。 これによって、ユーザー lisa はこのフィーチャクラスに対する表示アクセス権のみを持ち、編集はできないことを確認しました。
ここで、Sarah として、これらのフィーチャクラスの 1 つに対して編集を試みます。
- [カタログ] ウィンドウで、ListingsDB_SARAH.sde の下の GIS.RealEstateBLL フィーチャクラスを右クリックして [現在のマップに追加] を選択します。
レイヤーがマップ上に表示されます。
[コンテンツ] ウィンドウの [編集別にリスト] タブで、このレイヤーは編集可能なので赤色の感嘆符が表示されていません。 これによって、ユーザー sarah はこのフィーチャクラスに対する表示/書き込みアクセス権を持っていることを確認しました。
注意:
このレイヤーには、RealEstateBLL レイヤーがバージョン対応でないことを知らせる、バージョニングに関する警告記号が表示されます。 このトピックについてはこのチュートリアルでは割愛しますが、このレイヤーは適切に編集することが可能です。
- 必要に応じて、同様に、Sandra と Scott にデータへの表示専用または表示/書き込みアクセス権が付与されているかどうかを確認します。
Sandra には表示専用アクセス権、Scott には表示/書き込みアクセス権が付与されていることがわかります。
このチュートリアルの最後のパートでは、各従業員のデータ ユーザー アカウントを作成して権限を割り当て、各従業員が必要とする不動産データにアクセスできるようにしました。 これには、個々のユーザーに権限を直接付与する方法と、ユーザーをロールにグループ化してロールに権限を付与する方法を用いました。 この後、各ユーザーに計画通りにデータ アクセスが付与されたことを確認しました。
このチュートリアルでは、不動産会社のコンテキストで、エンタープライズ ジオデータベースの設定方法について包括的なガイドを提供しました。 SQL Server のプロパティと、セキュリティおよびデータ管理のためにデータベース管理者、ジオデータベース管理者、データ所有者、データ ユーザーの役割を切り離すことの重要性について学びました。 エンタープライズ ジオデータベース、データベース ユーザー、データベース接続の作成方法について学び、変換ツールを使用して不動産データを移行しました。 最後に、従業員にその職務に基づいてデータ権限を割り当てました。 これらの手順によって、データを格納および管理するための機能的で安全なシステムを作成しました。 この不動産会社は大量のデータとユーザーを管理する準備が整いました。 この会社は、アイオワ州リン郡における人口統計および景気動向を視覚化して市場特性と不動産投資機会に関する知見を得るため、さらに意欲的な空間データ解析を計画することも可能になりました。
他のチュートリアルについては、チュートリアル ギャラリーをご覧ください。