データベースユーザ役割とパーミッション

Plesk には、MySQL および Microsoft SQL Server データベースユーザ用のユーザ役割が用意されています。この役割は、データベースユーザにパーミッションを付与するためのテンプレートとして機能します。サポートされるデータベースユーザ役割には、読取および書込(デフォルト)、読取専用書込専用があります。それぞれの役割には権限のセットがあらかじめ定義されており、この役割を持つデータベースユーザアカウントに付与されます。役割に含まれる権限のセットは編集可能です。

さらに、MySQL ではカスタム役割がサポートされ、ユーザが権限セットを定義できます。SQL Server では、役割に付帯するパーミッションのセットをユーザが変更することはできません。

Plesk ユーザが付与できないように、特定のパーミッションを拒否することができます。

[ウェブサイトとドメイン]>[データベース]>[ユーザ管理]でデータベースユーザ用の役割を選択する方法は、「データベースユーザアカウントを管理する」を参照してください。管理者の契約のデータベースユーザには、データベーステーブルに対する権限に加え、グローバルな権限を付与することができます。

  

MySQL データベースユーザ役割

Plesk で MySQL を使用する場合、ユーザはデータベースユーザ用の役割を選択したり、個別の権限を追加・削除できます。

それぞれの役割に対するデフォルトの MySQL 権限のセットは以下の通りです。

権限 読取および書込 読取専用 書込専用

Select

+

+

-

Insert

+

-

+

Update

+

-

+

Delete

+

-

+

Create

+

-

+

Drop

+

-

+

Alter

+

-

+

Index

+

-

+

Create Temporary Tables

+

-

+

Lock Tables

+

-

+

Create View

+

-

+

Show View

+

+

-

デフォルトの権限セットを変更するには、panel.ini ファイルを編集して、変更したい役割に権限名を列挙します。

ただし、特定の権限を禁止しない限り、Plesk 顧客は引き続き panel.ini に指定されていない権限を選択することができます(詳しくは後で説明します)。

例:

[databaseManagement] 
features.roles.mysql.readWrite = Select,Update,Insert
features.roles.mysql.readOnly = Select
features.roles.mysql.writeOnly = Update

:ある役割の権限セット(たとえば「読取および書込」)に変更を加えても、この役割を持つ既存の MySQL データベースユーザの権限には影響を与えません。これらのデータベースユーザの役割は「カスタム」に自動的に変わります。

すべてのユーザに対して特定の権限を拒否するには

削除権限など、特定の権限をすべてのデータベースユーザに対して拒否したい場合があります。権限を拒否するには、panel.ini ファイルに MySQL 権限を列挙して、拒否したい権限をそこから除外します。

例:

[databaseManagement] 
features.privileges.mysql.dataAccess = Select, Insert, Update, Delete
features.privileges.mysql.structureAccess = Create, Drop, Alter, Index, Create Temporary Tables, Lock Tables, Create View, Show View

ここで指定した権限は、Plesk UI の[ウェブサイトとドメイン]>[データベース]>[ユーザ管理]に表示されます。また、ユーザが付与したり取り消すことができるのは、ここで指定した権限のみです。このリストに特定の権限が含まれない場合、Plesk はこの権限がデータベースユーザに対して拒否されているとみなします。

重要:権限が拒否されるのは、データベースユーザ設定に加えた変更を Plesk ユーザが保存した後です([ウェブサイトとドメイン]>[データベース]>[ユーザ管理]で、ユーザ名をクリックし、[OK]をクリックします)。

  

Microsoft SQL Server データベースユーザの役割

Plesk で Microsoft SQL Server を使用する場合、ユーザは役割(読取および書込読取専用書込専用)を選択できますが、権限(SQL Server データベースレベルのロール)を個別に追加・削除することはできません。権限は Plesk UI に表示されません。

それぞれの役割に対するデフォルトの Microsoft SQL Server 権限は以下の通りです。

権限 読取および書込 読取専用 書込専用

db_backupoperator

+

+

+

db_datareader

+

+

-

db_datawriter

+

-

+

db_ddladmin

+

-

+

任意の役割のデフォルト権限セットを変更するには、panel.ini ファイルを編集して、権限名を列挙します。

例:

[databaseManagement] 
features.roles.mssql.readWrite = db_datareader,db_backupoperator,db_ddladmin
features.roles.mssql.<code>readOnly </code>= db_datareader,db_backupoperator
features.roles.mssql.write<code>Only</code> = db_datawriter

:ある役割の権限セットを変更すると、既存のデータベースユーザの権限が変更されます。この役割を持つすべての既存ユーザおよび新規作成されるユーザが、panel.ini に指定した権限を持つようになります。

  

Microsoft SQL Server ユーザをデフォルトの権限に戻すには

それぞれのデータベースユーザの役割は、デフォルトの権限セットを持ちます(SQL Server データベースレベルのユーザ役割)。既存のデータベースユーザの権限を(役割に応じた)デフォルト値にリセットするには、以下のコマンドを実行します。

C:\Program Files\%plesk_dir%\bin\repair.exe --update-mssql-users-permissions [-database-server <name>], [-database <name>]

:ある役割(例:「読取および書込」)のパーミッションを panel.ini で変更すると、コマンド --update-mssql-users-permissions は、デフォルト権限セット(例:「読取および書込」のデフォルト権限セットは「db_datareader,db_datawriter,db_backupoperator,db_ddladmin」)ではなく、panel.ini に指定された権限セットを使用するようになります。