SQL Serverのパーミッション

<< 目次を表示 >>

ページ位置:  プロジェクトの作成と管理 > データベースにプロジェクトを設定 > SQL Serverの利用 >

SQL Serverのパーミッション

SQL ServerをDBMSリポジトリとして利用する場合には、その強力かつ広範囲にカスタマイズ可能なセキュリティ機能の関係で、他のDBMSを利用する場合と比べると注意すべき点があります。

 

 

最低限必要なパーミッション

Enterprise Architectでは、利用者がDBMSリポジトリ上のプロジェクトを利用する場合には、SQL Serverのユーザーとして、Enterprise Architectに関係する全てのテーブルに対してSELECT, UPDATE, INSERT および DELETE文が実行可能でなければなりません。これを実現する最も簡単な方法は、そのユーザーに対して 'db_datareader' および 'db_datawriter' のロールを割り当てることです。

 

 

ダイアグラムの画像に関する追加のパーミッション

Enterprise Architect用のデータベースを定義する際に、「EASchema_XXXX_SQLServer_Update1.sql」以外のDDLでテーブルを作成した場合には、ダイアグラムの画像を含むデータの読み込みや転送に特別なパーミッションが必要となります。

 

具体的には、テーブルT_IMAGEにこのダイアグラムの画像を保存していますが、SET IDENTITY_INSERT T_IMAGE {ON | OFF} のコマンドを実行することができません。このコマンドの実行権限は先ほどのロールには含まれず、'db_ddladmin' のロールが必要です。

 

この問題を避けるためには、Enterprise Architectのデータベースを利用する各ユーザーのパーミッションを変更するか、この点を変更したDDL「EASchema_1558_SQLServer_Update1.sql」を利用する必要があります。ただし、「(EASchema_XXXX_SQLServer_Update1.sql)」の内容はEnterprise Architectの過去のバージョンとの互換性はなく、Enterprise Architect 14.0以降のバージョンでのみ利用できます。

ダウンロードは、https://www.sparxsystems.jp/products/EA/tech/CorporateResource.htm から可能です。

 

 

Windows認証への対応

Enterprise Architectは、Windows認証でのSQL Serverの利用も可能ですが、認証自体はEnterprise Architectが行うものではなく、DBMSとの接続の設定に依存します。

 

Windows認証でEnterprise ArchitectおよびSQL ServerのDBMSリポジトリを利用する場合には、利用する全てのユーザーについてSQL Server側でユーザー定義がされ、'db_datareader' および 'db_datawriter' のロールを割り当てる必要があります。

 

 

参照: