SQL Server のジオデータベース所有者の比較

ジオデータベースとは、データベースの中にあるテーブル、ビュー、関数およびストアド プロシージャの集合体です。Microsoft SQL Server データベースのジオデータベースでは、このオブジェクトの集合体は、sde というデータベース ユーザまたは dbo データベース ユーザが所有できます。ジオデータベースを所有するのがどちらのユーザであっても、そのユーザがジオデータベース管理者と見なされます。

注意注意:

SQL Server がデータやその他のオブジェクトへのアクセスを管理する方法を理解することは大切です。そのため、SQL Server のセキュリティ モデルについて詳しくない場合は、SQL Server のドキュメントをご参照ください。SQL Server は、ログインをインスタンス レベルで認証してから、対応するユーザをデータベース レベルで認証します。インスタンス全体、特定のデータベース、あるいはデータベース内のデータに対して、さまざまな権限を付与することができます。これは、使用するジオデータベース所有者のタイプを決定する際に影響する可能性があります。

ジオデータベース作成時の接続に使用したログインは、そのジオデータベースを所有するデータベース ユーザを決定します。接続に使用した Windows または SQL Server ログインがデータベースの dbo ユーザにマップされている場合、dbo スキーマのジオデータベースが作成されます。接続に使用した Windows または SQL Server ログインがデータベースの sde というユーザにマップされている場合、sde スキーマのジオデータベースが作成されます。

sde ユーザ

データベースの sde ユーザは、SQL Server 認証のログインまたは Windows 認証のログインと関連付けることができます。sde ユーザは、sde というスキーマに対する権限を持ち、そのスキーマは sde ユーザのデフォルト スキーマである必要があります。また、sde ユーザは、ジオデータベースを作成および管理できるデータベースの権限を付与される必要があります。

dbo ユーザ

dbo ユーザとそのデフォルト スキーマは、すべてのデータベースに自動的に存在します。ログインは、次のいずれかの方法でデータベースの dbo にできます。

特定のデータベースの dbo ユーザにマップされたログインは、そのデータベースで最高の権限を持ちます。そのため、ジオデータベースを作成および管理するために十分な権限があります。特定のデータベースの dbo にマップされたログインは、SQL Server インスタンスまたはその他のデータベースに対して、そのログインに明示的に付与されていない限り、上位の権限は持ちません。

sysadmin 固定サーバ ロールのメンバーであるログインは、SQL Server インスタンス上にあるすべてのデータベースの dbo にマップされ、SQL Server インスタンス全体で最高の権限も持ちます。このログインは、ジオデータベースの作成および管理に十分な権限を持ち、インスタンス内のその他のセキュリティ保護可能なリソースを作成、変更、削除、管理できます。

dbo ユーザが所有するすべてのデータベース オブジェクトは、dbo スキーマに格納されます。

ジオデータベースを所有するユーザの選択

2 種類のジオデータベース スキーマには、性能や機能の違いはありません。どちらにも長所と短所があります。システムと選択したセキュリティ モデルに最も適したユーザ(とスキーマ)を選択してください。

使用する認証タイプに基づいた 2 種類のスキーマの比較を以下に示します。

スキーマ

認証

利点

欠点

dbo(sysadmin のメンバー)

Windows または SQL Server ログイン

  • SQL Server データベース管理者がジオデータベース管理者も兼務する場合、同じ人が実行するタスクに応じてログインを使い分けなくてもよいように、dbo スキーマを使用するのが理にかなっている場合があります。
  • 複数のジオデータベース管理者が必要な場合は、sysadmin 固定サーバ ロールに複数のログインを追加できます。
  • ログインは、SQL Server インスタンスのすべてのセキュリティ保護可能なリソースに対して上位の権限を持ちます。
  • ログインは、[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ツールを実行する前に作成して、sysadmin ロールに追加する必要があります。
  • ドメイン Windows ログインではなくローカル ログインを使用している場合、ログインは SQL Server がインストールされているサーバだけに存在します。そのため、ArcGIS クライアントを同じサーバ上にインストールする必要があります。また、すべてのジオデータベース管理タスクは、そのサーバにローカル ログインとしてログインしているときに実行する必要があります。

dbo(特定のデータベースの dbo にマップ)

Windows または SQL Server ログイン

  • ジオデータベース管理者は、特定のデータベース内にあるジオデータベースとデータベースの管理を実行できます。
  • 上位の権限は、特定のデータベース以外には適用されません。
  • ジオデータベース管理者を追加する必要がある場合、その他のログインを sysadmin 固定サーバ ロールに配置して、このデータベースの dbo にすることもできます。
  • ユーザは、このデータベースで上位の権限を持ちます。
  • ログインおよびデータベースは、[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ツールを実行する前に作成する必要があります。また、ログインをデータベースの所有者として設定する必要があります。
  • ドメイン Windows ログインではなくローカル ログインを使用している場合、ログインは SQL Server がインストールされているサーバだけに存在します。そのため、ArcGIS クライアントを同じサーバ上にインストールする必要があります。また、すべてのジオデータベース管理タスクは、そのサーバにローカル ログインとしてログインしているときに実行する必要があります。

sde

SQL Server ログイン

  • ジオデータベースを管理するために、sde ユーザには特定のデータベース内でいくつかのステートメントを実行する権限だけが必要です。
  • sde SQL Server ログイン、データベース ユーザおよびスキーマは、データベース内にジオデータベースを作成するときに、[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ツールを使用して作成できます。
  • sde ユーザにマップできるログインは 1 つだけです。
  • SQL Server インスタンスは、混合モード認証を使用できる必要があります。
  • [エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ツールは、データベース管理者が実行する必要があります。

sde

Windows ログイン

  • ジオデータベースを作成および管理するために、sde ユーザには特定のデータベース内でいくつかのステートメントを実行する権限だけが必要です。
  • 既存のドメイン Windows ログインを sde ユーザにマップできます。
  • Windows 認証の sde ログインは、SQL Server インスタンスが Windows 認証だけを許可しているサイトで使用できます。
  • 特定のユーザに直接関連付けられていない Windows ログインを作成および管理する必要がある可能性があります。*
  • データベース、sde ログイン、ユーザおよびスキーマは、[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ツールを実行する前に作成する必要があります。
  • sde ユーザにマップできるログインは 1 つだけです。
  • [エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ツールを実行するには、sde ログインで Windows にログインする必要があります。
  • ドメイン Windows ログインではなくローカル ログインを使用している場合、ログインは SQL Server がインストールされているサーバだけに存在します。そのため、ArcGIS クライアントを同じサーバ上にインストールする必要があります。また、すべてのジオデータベース管理タスクは、そのサーバにローカル ログインとしてログインしているときに実行する必要があります。

* ほとんどの Windows ログイン、特にドメイン ログインは、特定のユーザに属しています。そのログインは、そのユーザが自分のコンピュータにログインし、SQL Server を含む Windows アプリケーションにアクセスするために使用されます。そのため、そのユーザがコンピュータにアクセスすると、必ず sde ユーザとしてジオデータベースにも接続します。これを避けるため、別の Windows ログインを作成して、そのユーザに実質的に 2 つのログインを与えることができます。しかし、これは、そのユーザがジオデータベースを管理するときは、コンピュータ上でログインを切り替える必要があることを意味しています。また、同じユーザに複数のログインを作成することは、セキュリティに影響を及ぼす可能性があり、ログイン管理も複雑になるため、多くのサイトでは避けています。

関連トピック

5/10/2014