ALTER LOCKDOWN PROFILE
目的
ALTER
LOCKDOWN
PROFILE
文を使用すると、PDBロックダウン・プロファイルを変更できます。マルチテナント環境でPDBロックダウン・プロファイルを使用して、プラガブル・データベース(PDB)のユーザー操作を制限できます。
CREATE
LOCKDOWN
PROFILE
文を使用してロックダウン・プロファイルを作成した直後、そのプロファイルではすべてのユーザー操作が有効になっています。その後、ALTER
LOCKDOWN
PROFILE
文を使用して、そのプロファイルで特定のユーザー操作を無効にできます。CDB、アプリケーション・コンテナまたはPDBにロックダウン・プロファイルが適用されている場合、ユーザーはそのプロファイルで無効になっている操作を実行できません。無効になっているユーザー操作のいずれかを再度有効にする場合は、ALTER
LOCKDOWN
PROFILE
文を使用して有効にできます。
ALTER
LOCKDOWN
PROFILE
文を使用すると、次の操作を無効または有効にできます。
-
特定のデータベース機能に関連付けられているユーザー操作(
lockdown_features
句を使用して) -
特定のデータベース・オプションに関連付けられているユーザー操作(
lockdown_options
句を使用して) -
特定のSQL文の発行(
lockdown_statements
句を使用して)
関連項目:
-
PDBロックダウン・プロファイルの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
前提条件
-
ALTER
LOCKDOWN
PROFILE
文は、CDBルートまたはアプリケーション・ルートから発行する必要があります。 -
文を発行するコンテナで
ALTER
LOCKDOWN
PROFILE
システム権限を持っている必要があります。
構文
alter_lockdown_profile::=
lockdown_features::=
lockdown_options::=
lockdown_statements::=
statement_clauses::=
clause_options::=
option_values::=
セマンティクス
profile_name
変更するPDBロックダウン・プロファイルの名前を指定します。
DBA_LOCKDOWN_PROFILES
データ・ディクショナリ・ビューを問い合せて、既存のPDBロックダウン・プロファイルの名前を検索できます。
lockdown_features
この句を使用すると、特定のデータベース機能に関連付けられているユーザー操作を有効または無効にできます。
-
指定した機能に対する制限を追加するには、
DISABLE
を指定します。ユーザーはプロファイルが適用されるPDBで、これらの操作の実行を制限されます。 -
指定した機能に対する制限を削除するには、
ENABLE
を指定します。ユーザーはプロファイルが適用されるPDBで、これらの操作を実行することを許可されます。 -
どの機能について、操作を,無効または有効にするかを指定するには、
feature
を使用します。表11-1に、指定できる機能と、各機能に関連付けられている操作の説明を示します。表には、各機能の機能バンドルも示します。feature
には、機能バンドル名を指定して、そのバンドル内のすべての機能のユーザー操作を無効または有効にすることも、個別の機能名を指定することもできます。機能バンドル名および機能名は、大文字と小文字を任意に組み合せて指定できます。 -
ALL
を使用して、表に示されているすべての機能名を指定します。 -
ALL
EXCEPT
を使用して、指定した機能を除いて、表に示されているすべての機能名を指定します。
この句を指定しない場合、ENABLE
ALL
がデフォルトになります。
ノート:
-
Oracle Textの
FILE_DATASTORE
型は非推奨です。セキュリティを改善するために、FILE_DATASTORE
索引をDIRECTORY_DATASTORE
索引タイプに置き換えることをお薦めします。これにより、ディレクトリ・オブジェクトに基づくファイル・アクセスが可能になります。 -
Oracle Textの
URL_DATASTORE
型は非推奨です。URL_DATASTORE
をNETWORK_DATASTORE
で置き換えることをお薦めします。これは、ACLを使用して特定のサーバーへのアクセスを制御します。
表11-1 PDBロックダウン・プロファイルの機能
機能バンドル | 機能 | 操作 |
---|---|---|
|
|
PDBによって、自動ワークロード・リポジトリ(AWR)スナップショットが手動または自動で取得されること |
|
|
共通ユーザーが、実行者の権限コード・ユニットを起動するか、またはPDB内の任意のローカル・ユーザーが所有する |
|
|
|
|
|
ローカル・ユーザーが、共通オブジェクトに対して、次のような特定のセキュリティ・ポリシーを作成すること。
|
|
|
共通ユーザーがPDBに直接接続すること。この機能が無効になっている場合、PDBに接続するには、共通ユーザーはまずCDBルートに接続してから、 |
|
|
|
|
|
|
|
|
Java全体。この機能が無効になっている場合、Javaに依存するデータベースのすべてのオプションおよび機能が無効になります。 |
|
|
|
|
AQ_PROTOCOLS |
HTTP、SMTP、OCIの通知を使用。 |
|
CTX_PROTOCOLS |
|
|
DBMS_DEBUG_JDWP |
|
|
UTL_HTTP |
|
|
UTL_INADDR |
|
|
UTL_SMTP |
|
|
UTL_TCP |
|
|
XDB_PROTOCOLS |
XDBを介したHTTP、FTPおよびその他のネットワーク・プロトコルの使用 |
|
|
|
|
|
PDBに対して |
|
|
PDBで外部プロシージャ・エージェント |
|
|
|
|
|
Javaからの |
|
|
|
|
|
次のトレース・ビューの使用:
|
|
|
|
lockdown_options
この句を使用すると、データベースの特定のオプションに関連付けられているユーザー操作を有効または無効にできます。
-
指定したオプションに対するユーザー操作を無効にするには、
DISABLE
を指定します。ユーザーはプロファイルが適用されるPDBで、これらの操作の実行を制限されます。 -
指定したオプションに対するユーザー操作を有効にするには、
ENABLE
を指定します。ユーザーはプロファイルが適用されるPDBで、これらの操作を実行することを許可されます。 -
option
には、次のデータベース・オプションを、大文字と小文字を任意に組み合せて指定できます。-
DATABASE
QUEUING
– Oracle Database Advanced Queuingオプションに関連付けられているユーザー操作を表します。 -
PARTITIONING
– Oracle Partitioningオプションに関連付けられているユーザー操作を表します。
-
-
ALL
を使用して、前のリストに示されているすべてのオプションを指定します。 -
ALL
EXCEPT
を使用して、指定したオプションを除いて、前のリストに示されているすべてのオプションを指定します。
この句を指定しない場合、ENABLE
OPTION
ALL
がデフォルトになります。
lockdown_statements
この句を使用すると、特定のSQL文の発行を無効または有効にできます。
-
指定したSQL文の発行を無効にするには、
DISABLE
を指定します。ユーザーはプロファイルが適用されるPDBで、これらの文を発行することを制限されます。 -
指定したSQL文の発行を有効にするには、
ENABLE
を指定します。ユーザーはプロファイルが適用されるPDBで、これらの文を発行することを許可されます。 -
SQL_statement
には、次の文を、大文字と小文字を任意に組み合せて指定できます。-
ADMINISTER
KEY MANAGEMENT
-
ALTER
DATABASE
-
ALTER
PLUGGABLE
DATABASE
-
ALTER
SESSION
-
ALTER
SYSTEM
-
ALTER
TABLE
-
ALTER
INDEX
-
ALTER
TABLESPACE
-
ALTER
PROFILE
-
CREATE
TABLE
-
CREATE
INDEX
-
CREATE
TABLESPACE
-
CREATE
PROFILE
-
CREATE
DATABASE LINK
-
DROP
TABLE
-
DROP
INDEX
-
DROP
TABLESPACE
-
DROP
PROFILE
-
-
ALL
を使用して、前のリストに示されているすべての文を指定します。 -
ALL
EXCEPT
を使用して、指定した文を除いて、前のリストに示されているすべての文を指定します。
この句を指定しない場合、ENABLE
STATEMENT
ALL
がデフォルトになります。
statement_clauses
この句を使用すると、指定したSQL文の特定の句を無効または有効にできます。
-
無効または有効にする句を形成するSQLキーワードを指定するには、
clause
を使用します。句は、大文字と小文字を任意で組み合せて指定できます。 -
ALL
を使用して、SQL文のすべての句を指定します。 -
ALL
EXCEPT
を使用して、指定した句を除く、SQL文のすべての句を指定します。
clause
には、SQL文の単一の句を明確に識別できるだけの十分なキーワードを指定する必要があります。次に、ALTER
SYSTEM
文のclause
を指定する方法の例を示します。
-
archive_log_clause::=を指定するには、
ARCHIVE
を指定します。キーワードARCHIVE
で始まるALTER
SYSTEM
句は他にないため、これで十分です。意味を明確にするためにARCHIVE
LOG
を指定することもできますが、LOG
キーワードは不要です。 -
いずれかのrolling_migration_clauses::=を指定する場合は、これらの句を同じような名前のrolling_patch_clauses::=
START
ROLLING
PATCH
およびSTOP
ROLLING
PATCH
と区別するために、START
ROLLING
MIGRATION
またはSTOP
ROLLING
MIGRATION
を指定する必要があります。 -
単一のキーワード
FLUSH
を指定することはできません。複数のALTER
SYSTEM
句がこのキーワードで始まるためです。かわりに、FLUSH
SHARED_POOL
またはFLUSH
GLOBAL
CONTEXT
など、各句を別々に指定する必要があります。
何の効果もないため、句の中でオプションのキーワードを指定する必要はありません。たとえば:
-
archive_log_clause::=には、オプションの
INSTANCE
キーワードがあります。しかし、INSTANCE
キーワードを含むARCHIVE
LOG
句のみを有効または無効にすることはできません。ARCHIVE
LOG
INSTANCE
を指定することは、ARCHIVE
またはARCHIVE
LOG
を指定することと同じです。
何の効果もないため、句の中でパラメータ値を指定する必要はありません。たとえば:
-
shutdown_dispatcher_clause::=では
dispatcher_name
を指定する必要があります。しかし、特定のディスパッチャ名を含むSHUTDOWN
句を有効または無効にすることはできません。SHUTDOWN
dispatcher1
を指定することは、SHUTDOWN
を指定することと同じです。
関連項目:
これらの文の句の詳細は、「ALTER DATABASE」、「ALTER PLUGGABLE DATABASE」、「ALTER SESSION」および「ALTER SYSTEM」を参照してください。
clause_options
この句は、lockdown_statements
およびstatement_clauses
に対して、次のいずれかを指定している場合にのみ有効です。
{ DISABLE | ENABLE } STATEMENT = ('ALTER SESSION') CLAUSE = ('SET')
{ DISABLE | ENABLE } STATEMENT = ('ALTER SYSTEM') CLAUSE = ('SET')
この句を使用すると、ALTER
SESSION
SET
またはALTER
SYSTEM
SET
文の特定のオプションの設定または変更を無効または有効にできます。
-
無効または有効にするオプションを指定するには、
clause_option
を使用します。 -
複数のオプションに一致するパターンを指定するには、
clause_option_pattern
を使用します。パターン内でパーセント記号(%)を指定すると、オプション名に含まれるゼロ個以上の文字に一致させることができます。たとえば、'QUERY_REWRITE_%'
を指定することは、QUERY_REWRITE_ENABLED
およびQUERY_REWRITE_INTEGRITY
の両方のオプションを指定することと同等です。 -
clause_option
およびclause_option_pattern
は、大文字と小文字を任意に組み合せて指定できます。 -
ALL
を使用して、すべてのオプションを指定します。 -
ALL
EXCEPT
を使用して、指定したオプションを除くすべてのオプションを指定します。
関連項目:
これらの文で指定できるオプションの詳細は、「ALTER
SESSION
」の「alter_session_set_clause」句および「ALTER
SYSTEM
」の「alter_system_set_clause」句を参照してください。
option_values
この句は、lockdown_statements
、statement_clauses
およびclause_options
に対して、次のいずれかを指定している場合にのみ有効です。
DISABLE STATEMENT = ('ALTER SESSION') CLAUSE = ('SET') OPTION = clause_option
DISABLE STATEMENT = ('ALTER SYSTEM') CLAUSE = ('SET') OPTION = clause_option
この句を使用すると、オプションの設定を無効にした場合の、そのオプションのデフォルト値を指定できます。数値を取得するオプションの場合は、この句を使用して、ユーザーがオプションに特定の値を設定しないように制限することもできます。
-
VALUE
句を使用すると、clause_option
のデフォルトのoption_value
を指定でき、これは、PDBをクローズして再オープンした後、プロファイルが適用されるPDBで有効になります。clause_option
が複数のデフォルト値を受け入れる場合は、複数のoption_value
をカンマ区切りリストで指定できます。この句を使用する目的は、オプションのデフォルト値を設定すると同時に、ユーザーによる値の設定または変更を制限することです。 -
MINVALUE
句を使用すると、ユーザーがclause_option
の値をoption_value
未満の値に設定しないように制限できます。この句は、数値を取得するオプションに対してのみ指定できます。 -
MAXVALUE
句を使用すると、ユーザーがclause_option
の値をoption_value
よりも大きい値に設定しないように制限できます。この句は、数値を取得するオプションに対してのみ指定できます。 -
MINVALUE
句とMAXVALUE
句の両方を同時に指定すると、ユーザーがclause_options
の値をMINVALUE
未満の値にも、MAXVALUE
よりも大きい値にも設定しないように制限できます。 -
MINVALUE
およびMAXVALUE
設定は、ロックダウン・プロファイルがPDBに割り当てられるとすぐに有効になります。PDBをクローズして再オープンする必要はありません。
関連項目:
様々なオプションで許可される値の詳細は、『Oracle Databaseリファレンス』を参照してください。
USERS句
CDB管理者またはアプリケーション管理者として、USERS
句を使用して、特定のユーザー・セットのロックダウン・ルールを構成できます。
CDB$ROOT
ロックダウン・プロファイルのUSERS
の値は、次のとおりです。
-
USERS = ALL
は、ロックダウン・ルールがPDB内のすべてのユーザーに適用されることを意味します。 -
USERS = COMMON
は、ロックダウン・ルールがPDB内のCDBCOMMON
ユーザーのみに適用されることを意味します。 -
USERS = LOCAL
は、ロックダウン・ルールがPDB内のローカル・ユーザーのみに適用されることを意味します。アプリケーションの共通ユーザーは、CDBレベルではローカル・ユーザーとみなされます。
アプリケーションROOT
ロックダウン・プロファイルのUSERS
の値は、次のとおりです。
-
USERS = ALL
は、ロックダウン・ルールがPDB内のすべてのユーザーに適用されることを意味します。 -
USERS = COMMON
は、ロックダウン・ルールがPDB内のアプリケーションCOMMON
ユーザーのみに適用されることを意味します。 -
USERS = LOCAL
は、ロックダウン・ルールがPDB内のローカル・ユーザーのみに適用されることを意味します。
アプリケーション・ロックダウン・プロファイル・ルールはCDB共通ユーザーに影響しないことに注意してください。
-
ALL
ユーザーは、PDB内のアプリケーション共通ユーザーおよびローカル・ユーザーを意味します。 -
COMMON
ユーザーは、PDB内のアプリケーション共通ユーザーを意味します。
例
次の文は、PDBロックダウン・プロファイルhr_prof
を作成します。
CREATE LOCKDOWN PROFILE hr_prof;
この項の残りの例では、hr_prof
を変更します。
PDBロックダウン・プロファイルの機能の無効化: 例
次の文は、機能バンドルNETWORK_ACCESS
のすべての機能を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE FEATURE = ('NETWORK_ACCESS');
次の文は、LOB_FILE_ACCESS
およびTRACE_VIEW ACCESS
機能を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE FEATURE = ('LOB_FILE_ACCESS', 'TRACE_VIEW_ACCESS');
次の文は、COMMON_USER_LOCAL_SCHEMA_ACCESS
およびLOCAL_USER_COMMON_SCHEMA_ACCESS
機能を除くすべての機能を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE FEATURE ALL EXCEPT = ('COMMON_USER_LOCAL_SCHEMA_ACCESS', 'LOCAL_USER_COMMON_SCHEMA_ACCESS');
次の文は、すべての機能を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE FEATURE ALL;
PDBロックダウン・プロファイルの機能の有効化: 例
次の文は、UTL_HTTP
およびUTL_SMTP
機能、および機能バンドルOS_ACCESS
のすべての機能を有効にします。
ALTER LOCKDOWN PROFILE hr_prof
ENABLE FEATURE = ('UTL_HTTP', 'UTL_SMTP', 'OS_ACCESS');
次の文は、AQ_PROTOCOLS
およびCTX_PROTOCOLS
機能を除くすべての機能を有効にします。
ALTER LOCKDOWN PROFILE hr_prof
ENABLE FEATURE ALL EXCEPT = ('AQ_PROTOCOLS', 'CTX_PROTOCOLS');
次の文は、すべての機能を有効にします。
ALTER LOCKDOWN PROFILE hr_prof
ENABLE FEATURE ALL;
PDBロックダウン・プロファイルのオプションの無効化: 例
次の文は、Oracle Database Advanced Queuingオプションに関連付けられているユーザー操作を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE OPTION = ('DATABASE QUEUING');
次の文は、Oracle Partitioningオプションに関連付けられているユーザー操作を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE OPTION = ('PARTITIONING');
PDBロックダウン・プロファイルのオプションの有効化: 例
次の文は、Oracle Database Advanced Queuingオプションに関連付けられているユーザー操作を有効にします。
ALTER LOCKDOWN PROFILE hr_prof
ENABLE OPTION = ('DATABASE QUEUING');
次の文は、Oracle Database Advanced QueuingオプションおよびOracle Partitioningオプションの両方に関連付けられているユーザー操作を有効にします。
ALTER LOCKDOWN PROFILE hr_prof
ENABLE OPTION ALL;
PDBロックダウン・プロファイルのSQL文の無効化: 例
次の文は、ALTER
DATABASE
文を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE STATEMENT = ('ALTER DATABASE');
次の文は、ALTER
SYSTEM
SUSPEND
およびALTER
SYSTEM
RESUME
文を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE STATEMENT = ('ALTER SYSTEM')
CLAUSE = ('SUSPEND', 'RESUME');
次の文は、DEFAULT
TABLESPACE
およびDEFAULT
TEMPORARY
TABLESPACE
を除く、ALTER
PLUGGABLE
DATABASE
文のすべての句を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE STATEMENT = ('ALTER PLUGGABLE DATABASE')
CLAUSE ALL EXCEPT = ('DEFAULT TABLESPACE', 'DEFAULT TEMPORARY TABLESPACE');
次の文は、ALTER
SESSION
文を使用した、COMMIT_WAIT
またはCURSOR_SHARING
の設定または変更を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE STATEMENT = ('ALTER SESSION')
CLAUSE = ('SET')
OPTION = ('COMMIT_WAIT', 'CURSOR_SHARING');
次の文は、ALTER
SYSTEM
文を使用した、PDB_FILE_NAME_CONVERT
の値の設定または変更を無効にします。また、PDB_FILE_NAME_CONVERT
のデフォルト値を'cdb1_pdb0', 'cdb1_pdb1'
に設定します。このデフォルト値は、次回PDBをクローズして再オープンしたときに有効になります。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE STATEMENT = ('ALTER SYSTEM')
CLAUSE = ('SET')
OPTION = ('PDB_FILE_NAME_CONVERT')
VALUE = ('cdb1_pdb0', 'cdb1_pdb1');
次の文は、ALTER
SYSTEM
文を使用した、CPU_COUNT
の値の8
未満の値への設定または変更を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE STATEMENT = ('ALTER SYSTEM')
CLAUSE = ('SET')
OPTION = ('CPU_COUNT')
MINVALUE = '8';
次の文は、ALTER
SYSTEM
文を使用した、CPU_COUNT
の値の2
より大きい値への設定または変更を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE STATEMENT = ('ALTER SYSTEM')
CLAUSE = ('SET')
OPTION = ('CPU_COUNT')
MAXVALUE = '2';
次の文は、ALTER
SYSTEM
文を使用した、CPU_COUNT
の値の2
未満の値または6
より大きい値への設定または変更を無効にします。
ALTER LOCKDOWN PROFILE hr_prof
DISABLE STATEMENT = ('ALTER SYSTEM')
CLAUSE = ('SET')
OPTION = ('CPU_COUNT')
MINVALUE = '2'
MAXVALUE = '6';
PDBロックダウン・プロファイルのSQL文の有効化: 例
次の文は、ALTER
DATABASE
を除くすべての文を有効にします。
ALTER LOCKDOWN PROFILE hr_prof
ENABLE STATEMENT ALL EXCEPT = ('ALTER DATABASE');
次の文は、ALTER
DATABASE
MOUNT
およびALTER
DATABASE
OPEN
文を有効にします。
ALTER LOCKDOWN PROFILE hr_prof
ENABLE STATEMENT = ('ALTER DATABASE')
CLAUSE = ('MOUNT', 'OPEN');
次の文は、DEFAULT
TABLESPACE
およびDEFAULT
TEMPORARY
TABLESPACE
を除く、ALTER
PLUGGABLE
DATABASE
文のすべての句を有効にします。
ALTER LOCKDOWN PROFILE hr_prof
ENABLE STATEMENT = ('ALTER PLUGGABLE DATABASE')
CLAUSE ALL EXCEPT = ('DEFAULT TABLESPACE', 'DEFAULT TEMPORARY TABLESPACE');
次の文は、ALTER
SESSION
文を使用した、COMMIT_WAIT
またはCURSOR_SHARING
の設定または変更を有効にします。
ALTER LOCKDOWN PROFILE hr_prof
ENABLE STATEMENT = ('ALTER SESSION')
CLAUSE = ('SET')
OPTION = ('COMMIT_WAIT', 'CURSOR_SHARING');