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セキュリティ・ガイド』を参照してください。
前提条件
-
ALTERLOCKDOWNPROFILE文は、CDBルートまたはアプリケーション・ルートから発行する必要があります。 -
文を発行するコンテナで
ALTERLOCKDOWNPROFILEシステム権限を持っている必要があります。
構文
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を使用して、表に示されているすべての機能名を指定します。 -
ALLEXCEPTを使用して、指定した機能を除いて、表に示されているすべての機能名を指定します。
この句を指定しない場合、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には、次のデータベース・オプションを、大文字と小文字を任意に組み合せて指定できます。-
DATABASEQUEUING– Oracle Database Advanced Queuingオプションに関連付けられているユーザー操作を表します。 -
PARTITIONING– Oracle Partitioningオプションに関連付けられているユーザー操作を表します。
-
-
ALLを使用して、前のリストに示されているすべてのオプションを指定します。 -
ALLEXCEPTを使用して、指定したオプションを除いて、前のリストに示されているすべてのオプションを指定します。
この句を指定しない場合、ENABLE OPTION ALLがデフォルトになります。
lockdown_statements
この句を使用すると、特定のSQL文の発行を無効または有効にできます。
-
指定したSQL文の発行を無効にするには、
DISABLEを指定します。ユーザーはプロファイルが適用されるPDBで、これらの文を発行することを制限されます。 -
指定したSQL文の発行を有効にするには、
ENABLEを指定します。ユーザーはプロファイルが適用されるPDBで、これらの文を発行することを許可されます。 -
SQL_statementには、次の文を、大文字と小文字を任意に組み合せて指定できます。-
ADMINISTERKEY MANAGEMENT -
ALTERDATABASE -
ALTERPLUGGABLEDATABASE -
ALTERSESSION -
ALTERSYSTEM -
ALTERTABLE -
ALTERINDEX -
ALTERTABLESPACE -
ALTERPROFILE -
CREATETABLE -
CREATEINDEX -
CREATETABLESPACE -
CREATEPROFILE -
CREATEDATABASE LINK -
DROPTABLE -
DROPINDEX -
DROPTABLESPACE -
DROPPROFILE
-
-
ALLを使用して、前のリストに示されているすべての文を指定します。 -
ALLEXCEPTを使用して、指定した文を除いて、前のリストに示されているすべての文を指定します。
この句を指定しない場合、ENABLE STATEMENT ALLがデフォルトになります。
statement_clauses
この句を使用すると、指定したSQL文の特定の句を無効または有効にできます。
-
無効または有効にする句を形成するSQLキーワードを指定するには、
clauseを使用します。句は、大文字と小文字を任意で組み合せて指定できます。 -
ALLを使用して、SQL文のすべての句を指定します。 -
ALLEXCEPTを使用して、指定した句を除く、SQL文のすべての句を指定します。
clauseには、SQL文の単一の句を明確に識別できるだけの十分なキーワードを指定する必要があります。次に、ALTER SYSTEM文のclauseを指定する方法の例を示します。
-
archive_log_clause::=を指定するには、
ARCHIVEを指定します。キーワードARCHIVEで始まるALTERSYSTEM句は他にないため、これで十分です。意味を明確にするためにARCHIVELOGを指定することもできますが、LOGキーワードは不要です。 -
いずれかのrolling_migration_clauses::=を指定する場合は、これらの句を同じような名前のrolling_patch_clauses::=
STARTROLLINGPATCHおよびSTOPROLLINGPATCHと区別するために、STARTROLLINGMIGRATIONまたはSTOPROLLINGMIGRATIONを指定する必要があります。 -
単一のキーワード
FLUSHを指定することはできません。複数のALTERSYSTEM句がこのキーワードで始まるためです。かわりに、FLUSHSHARED_POOLまたはFLUSHGLOBALCONTEXTなど、各句を別々に指定する必要があります。
何の効果もないため、句の中でオプションのキーワードを指定する必要はありません。たとえば:
-
archive_log_clause::=には、オプションの
INSTANCEキーワードがあります。しかし、INSTANCEキーワードを含むARCHIVELOG句のみを有効または無効にすることはできません。ARCHIVELOGINSTANCEを指定することは、ARCHIVEまたはARCHIVELOGを指定することと同じです。
何の効果もないため、句の中でパラメータ値を指定する必要はありません。たとえば:
-
shutdown_dispatcher_clause::=では
dispatcher_nameを指定する必要があります。しかし、特定のディスパッチャ名を含むSHUTDOWN句を有効または無効にすることはできません。SHUTDOWNdispatcher1を指定することは、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を使用して、すべてのオプションを指定します。 -
ALLEXCEPTを使用して、指定したオプションを除くすべてのオプションを指定します。
関連項目:
これらの文で指定できるオプションの詳細は、「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リファレンス』を参照してください。
例
次の文は、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');





