4D v12.1

GRANT

ホーム

 
4D v12.1
GRANT

 

GRANT  


 

 

 GRANT[READ | READ_WRITE | ALL] ON sql_name TO sql_name

説明  

GRANT コマンドはsql_name スキーマに割り当てるアクセス権を設定するために使用します。これらのアクセス権は、二番目のsql_name 引数で指定する4Dユーザグループに割り当てられます。

READREAD_WRITEそしてALL キーワードを使用して、テーブルに許可されるアクセス権を指定します:

  • READ は読み込みのみアクセスを設定します (データ)
  • READ_WRITE は読み書きアクセスを設定します (データ)
  • ALL はフルアクセスモードを設定します (データとストラクチャ)

アクセスコントロールは外部接続にのみ適用されます。Begin SQL/End SQLタグやSQL EXECUTEなどのコマンドで4D内で実行されるSQLコードは依然としてフルアクセスを持っています。

互換性に関する注意: 以前のバージョンのデータベースをバージョン11.3以降に変換する際、(アプリケーション環境設定のSQLページで設定された) グローバルアクセス権がデフォルトスキーマに転送されます。

二番目の sql_name 引数には、スキーマにアクセス権を割り当てたい4Dユーザグループ名を指定しなければなりません。このグループは4Dデータベースに存在していなければな りません。

Note: 4Dはグループ名にスペースやアクセント文字を許可しますが、これはSQL標準で許可されていません。この場合、グループ名を [ と ] の間に記述します。例えば: GRANT READ ON [my schema] TO [the admins!]

データベースのDesignerとAdministratorのみがスキーマを変更できます。

4D はアクセス権とは独立して、参照整合性に関する原則を適用します。例えば2つのテーブルTable1とTable2があり、N対1のリレーション (Table2 -> Table1) で接続されているとします。 Table1はスキーマS1に属し、Table2はスキーマS2に属します。スキーマS1へのアクセス権を持つが、S2へのアクセス権を持たないユーザは、Table1のレコードを削除できます。この場合、参照整合性の原則を適用するため、Table1の削除されたレコードにリレートするTable2のレコードも削除されます。

例題  

"Power_Users" グループに、MySchema1のデータへの読み書きアクセスを許可します:

GRANT READ_WRITE ON MySchema1 TO POWER_USERS

 
プロパティ 

プロダクト: 4D
テーマ: SQLコマンド

 
参照 

ALTER SCHEMA
CREATE SCHEMA
REVOKE