無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

SECURITY LABEL

名前

SECURITY LABEL -- オブジェクトに適用するセキュリティラベルを定義または変更する

概要

SECURITY LABEL [ FOR 

provider

 ] ON
{
  TABLE 

object_name

 |
  COLUMN 

table_name

.

column_name

 |
  AGGREGATE 

agg_name

 (

agg_type

 [, ...] ) |
  DATABASE 

object_name

 |
  DOMAIN 

object_name

 |
  EVENT TRIGGER 

object_name

 |
  FOREIGN TABLE 

object_name


  FUNCTION 

function_name

 ( [ [ 

argmode

 ] [ 

argname

 ] 

argtype

 [, ...] ] ) |
  LARGE OBJECT 

large_object_oid

 |
  MATERIALIZED VIEW 

object_name

 |
  [ PROCEDURAL ] LANGUAGE 

object_name

 |
  ROLE 

object_name

 |
  SCHEMA 

object_name

 |
  SEQUENCE 

object_name

 |
  TABLESPACE 

object_name

 |
  TYPE 

object_name

 |
  VIEW 

object_name


} IS '

label

'

説明

SECURITY LABEL はセキュリティラベルをデータベースオブジェクトに適用します。 ラベルプロバイダごとに1つの、任意の数のセキュリティラベルを指定したデータベースオブジェクトに関連付けることができます。 ラベルプロバイダは、 register_label_provider 関数を使用して自身を登録する、ロード可能なモジュールです。

注意: register_label_provider はSQL関数ではありません。 バックエンドにロードされたCコードからのみ呼び出すことができます。

ラベルプロバイダは、指定されたラベルが有効かどうか、および指定されたオブジェクトにラベルを割り当てることが許されているかどうかを決定します。 また、ラベルプロバイダは指定されたラベルの意味の決定権を持ちます。 PostgreSQL は、ラベルプロバイダがセキュリティラベルを解釈するかしないか、どのように解釈するかに関して制限を持ちません。 単にこれらを格納するための機構を提供するだけです。 実際には、この機能は SE-Linux などのラベルベースの強制アクセス制御(MAC)システムと統合できるようにすることを意図したものです。 こうしたシステムにより、すべてのアクセス制御の決定は、ユーザとグループなどの伝統的な任意アクセス制御(DAC)という考えではなく、オブジェクトラベルに基づいて行われます。

パラメータ

object_name
table_name.column_name
agg_name
function_name

ラベル付けされるオブジェクトの名前です。 テーブル、集約、ドメイン、外部テーブル、関数、シーケンス、型、ビューの名前はスキーマで修飾可能です。

provider

このラベルが関連するプロバイダの名前です。 指定されたプロバイダはロードされていなければならず、かつ、提供されるラベル付け操作と一致しなければなりません。 プロバイダが1つだけロードされていた場合、プロバイダの名前を省略して簡略化することができます。

arg_type

集約関数が操作する入力データ型です。 引数を持たない集約関数を参照する場合は入力データ型のリストには * と記述してください。

argmode

関数引数のモードです。 IN OUT INOUT VARIADIC のいずれかです。 省略された場合のデフォルトは IN です。 入力引数のみが関数の識別を決定するために必要ですので、実際には SECURITY LABEL ON FUNCTION OUT をまったく考慮しないことに注意してください。 このため IN INOUT VARIADIC のリストで十分です。

argname

関数引数の名前です。 引数のデータ型のみが関数の識別を決定するために必要ですので、実際には SECURITY LABEL ON FUNCTION は引数名をまったく考慮しないことに注意してください。

argtype

関数引数があればそのデータ型です(スキーマ修飾可)。

large_object_oid

ラージオブジェクトのOIDです。

PROCEDURAL

これは意味がない単語です。

label

文字列リテラルで記述された新しいセキュリティラベルです。 セキュリティラベルを削除するためには NULL と記述します。

以下の例はテーブルのセキュリティラベルを変更する方法を示します。

SECURITY LABEL FOR selinux ON TABLE mytable IS 'system_u:object_r:sepgsql_table_t:s0';

互換性

標準SQLには SECURITY LABEL コマンドはありません。

関連項目

sepgsql , dummy_seclabel

powered by SEO.CUG.NET