SQL Server データベース特権

SQL Server データベース用のデータ・ストア・テーブルの作成またはアクセスに必要な権限を決めるために、データベース特権を設定します。

SQL Server での権限は、Windows ユーザー・グループの場合と同様に、ユーザーに割り当て可能なロールに割り当てられます。ロールには、以下の 2 つのタイプがあります。

  • サーバー・ロール: バックアップ、シャットダウン、新しいデータベースの作成、ログインの管理、他のサーバーへのリンク付けなど、データベース・サーバーに関連する権限を提供します。
  • データベース・ロール: テーブルへのアクセスや以下に示す権限など、従来のさまざまなデータベース権限を提供します。
注: 1 人のユーザーが、複数のロールのメンバーになることができます。これにより、複数の固定ロールの権限を結合して、要件に合った適切な組み合わせだけを見つけることができます。
IBM® Business Process Manager データベース・ユーザーを、以下の 4 つのロールに割り当てます。
注: データベースは、データベース管理者が作成する必要があります。作成後、データベース管理者は、IBM Business Process Manager のデータベース・ユーザーにこれらのロールを割り当てることができます。
  • db_ddladmin
  • db_datawriter
  • db_datareader
  • SqlJDBCXAUser
これらのロールに設定されている権限については、Microsoft の資料を参照してください。
重要: すべてのデータベース・ユーザーについて、以下の制限に注意してください。
  • ユーザーをシステム管理者 (SYSADMIN) ロールに割り当てることはできません。
  • SqlJDBCXAUser ロールを使用して、ユーザーをマスター・データベースにマップする必要があります。

詳しくは、関連参照の WebSphere® Application Server のページを参照してください。

標準インストールまたは BPMConfig コマンド行ユーティリティーを使用して生成されるデータベース・スクリプトを使用してデータベース・スキーマを作成する場合、自分のユーザー ID にテーブルを作成するための権限が設定されている必要があります。 テーブルが作成された後では、テーブル内の情報の選択、挿入、更新、削除を行う権限が必要です。

上記の 3 つの固定データベース・ロールにより、要件の 80% に対応できます。残りの権限を以下に示します。

  • •CREATE INDEXTYPE: INDEXTYPE なし。ただし、db_ddladmin により、索引を作成してタイプを指定することができます。
  • •CREATE TABLESPACE: TABLESPACE なし。ただし、WORKLOAD GROUP、RESOURCE POOL、および PARTITION SCHEME も同様に機能します。
  • •ALTER LOCK TABLE: この機能は、読み取りコマンドまたは書き込みコマンドを使用するロックのヒントを介して使用することができます (例: SELECT * FROM tbl name WHERE TABLOCKX)。
  • •CREATE SEQUENCE: このコマンドは SQL Server 2012 資料に記載されています。ただし、2008 R2 にはありません。
次の表では、データ・ストアにアクセスするために必要なデータベース特権について説明します。
表 1. データベース特権
データベース内にオブジェクトを作成するために必要な最小特権 データベース内のオブジェクトにアクセスするために必要な最小特権
理想的な場合、ユーザー ID には IBM Business Process Manager に使用されるデータ・ストアに関する DB OWNER 特権が必要です。 SQL Server および Windows の認証が SQL Server ログイン ID およびパスワードに基づいて行われるように、SQL Server を構成します。ユーザー ID は、テーブルの所有者か、または TRUNCATE TABLE ステートメントを実行する十分な権限を持つグループのメンバーでなければなりません。

詳細な特権については、以下の表を参照してください。

以下の表では、IBM Business Process Manager コンポーネントに対するその他の SQL Server データベース特権について説明しています。インストール特権は、製品のインストールおよび構成に必要な特権です。ランタイム特権は、製品の実行に必要なデータベース特権です。

表 2. SQL Server データベース特権の詳細
Component インストールおよびアップグレードの特権 ランタイム特権
共通 DB CREATE TABLE、 ALTER TABLE、 INSERT、 CREATE USER、 ALTER USER SELECT、 UPDATE、 DELETE、 INSERT、 CREATE VIEW、 CREATE PROCEDURE

ランタイム・ユーザーは、共通 DB の createSchema_*.sql スクリプトのすべてのシーケンスに対して USAGE ON SEQUENCE 特権を持っている必要があります。

Business Space CREATE TABLE、 ALTER TABLE、 INSERT、 CREATE USER、 ALTER USER SELECT、 UPDATE、 DELETE、 INSERT、 CREATE VIEW、 CREATE PROCEDURE
Business Process Choreographer CREATE TABLE、 ALTER TABLE、 CREATE VIEW、 CREATE USER、 CREATE PROCEDURE SELECT、 UPDATE、 DELETE、 INSERT
メッセージング・エンジン CREATE TABLE SELECT、 UPDATE、 DELETE、 INSERT、 DROP ANY TABLE
注: メッセージング・エンジンは TRUNCATE TABLE SQL ステートメントを使用しますが、このステートメントには DROP ANY TABLE 特権が必要となる可能性があります。データベース特権を参照してください。
Process Server CREATE TABLE、 SELECT、 INSERT、 UPDATE、 DELETE TABLE、 DROP TABLE、 CREATE INDEX、 CREATE VIEW、 DROP VIEW、 CREATE PROCEDURE、 CREATE USER、 ALTER USER SELECT、 UPDATE、 DELETE、 INSERT、 CREATE VIEW、 CREATE PROCEDURE、 DROP TABLE、 DROP VIEW
Performance Data Warehouse CREATE TABLE、 SELECT、 INSERT、 UPDATE、 DELETE TABLE、 DROP TABLE、 CREATE INDEX、 CREATE VIEW、 DROP VIEW、 CREATE PROCEDURE、 CREATE USER、 ALTER USER SELECT、 UPDATE、 DELETE、 INSERT、 CREATE VIEW、 CREATE PROCEDURE、 DROP TABLE、 DROP VIEW
IBM BPM 文書ストア  
  • db_datawriter
  • db_datareader
  • db_ddladmin
  • public

IBM BPM 文書ストア用にデータベースを構成する場合は、EmbeddedECM という名前のデータベース機能が使用されます。EmbeddedECM 機能が含まれているプロパティー・ファイル内のデータベースには、IBM BPM コンテンツ・ストアに対してリストされている特権が必要です。

注:
  • BPMDB データベースと PDWDB データベースは、大/小文字を区別しないデータベースとして作成する必要があります。 そのためには、コマンド COLLATE SQL_Latin1_General_CP1_CI_AS を使用します。CI は、大/小文字を区別しないデータベースに適用される COLLATE 属性値です。
  • CommonDB データベースは、大/小文字を区別するデータベースとして作成する必要があります。そのためには、コマンド COLLATE SQL_Latin1_General_CP1_CS_AS を使用します。CS は、大/小文字を区別するデータベースに適用される COLLATE 属性値です。