GRANT
目的
GRANT
文を使用すると、次の権限またはロールを付与できます。
-
ユーザーおよびロールに対するシステム権限。表18-1に、システム権限のリストを、操作対象のデータベース・オブジェクト別に示します。
ANY
システム権限(SELECT ANY TABLE
,など)は、SYS
オブジェクトやその他のディクショナリ・オブジェクトでは機能しません。 -
ユーザーおよびロールへのスキーマ権限。表18-3に、認可される操作別に編成されたスキーマ権限を示します。
-
ユーザー、ロール、およびプログラム・ユニットに対するロール。付与されたロールは、ユーザー定義(ローカルまたは外部)または事前定義済のいずれかです。事前定義されているロールのリストは、『Oracle Databaseセキュリティ・ガイド』を参照してください。
-
ユーザーおよびロールに対する、特定のオブジェクトに対するオブジェクト権限。表18-2に、オブジェクト権限のリストを、操作対象のデータベース・オブジェクト別に示します。
ノート:
グローバル・ロール(IDENTIFIED
GLOBALLY
で作成)は、エンタープライズ・ロールを介して付与します。GRANT
文を使用して付与することはできません。
データベース・ユーザーの認可のノート
データベース以外の手段とGRANT
文を使用して、データベース・ユーザーを認可できます。
-
多くのOracle Database権限は、提供されるPL/SQLパッケージおよびJavaパッケージを介して付与されます。これらの権限の詳細は、該当するパッケージのドキュメントを参照してください。
-
オペレーティング・システムによっては、Oracle Databaseユーザーに対して、初期化パラメータ
OS_ROLES
でロールを付与できます。オペレーティング・システム機能を使用してユーザーにロールを付与する場合、GRANT
文でユーザーにロールを付与することはできなくなります。ただし、GRANT
文を使用して、ユーザーにシステム権限を付与したり、その他のロールにシステム権限およびロールを付与することはできます。
Oracle Automatic Storage Managementのノート
AS
SYSASM
として認証されたユーザーは、この文を使用して、現在のノードのOracle ASMパスワード・ファイルで、システム権限SYSASM
、SYSOPER
およびSYSDBA
をユーザーに付与できます。
エディション化可能なオブジェクトのノート:
エディション化可能なオブジェクトにオブジェクト権限を付与するGRANT
操作を実行すると、オブジェクトが現行のエディションで実体化されます。エディションおよびエディション化可能なオブジェクトの詳細は、『Oracle Database開発ガイド』を参照してください。
関連項目:
-
ローカル、グローバルおよび外部権限の定義については、「CREATE USER」および「CREATE ROLE」を参照してください。
-
その他の認可方法および権限の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
-
権限付与の取消しについては、「REVOKE」を参照してください。
前提条件
システム権限を付与にするには、次のいずれかの条件が満たされている必要があります。
-
GRANT
ANY
PRIVILEGE
システム権限が付与されている必要があります。この場合、ロールがユーザーのセッションで有効になっていないかぎり、システム権限をロールに付与しても、ロールが付与されているユーザーに権限は付与されません。 -
ADMIN
OPTION
付きのシステム権限が付与されている必要があります。この場合、ロールがユーザーのセッションで有効になっているかどうかに関係なく、システム権限をロールに付与すると、ロールが付与されているユーザーに権限が付与されます。
ユーザーに対するロールまたは別のロールを付与する場合は、ADMIN
OPTION
付きのロールが直接付与されているか、GRANT
ANY
ROLE
システム権限が付与されているか、または付与するロールが自分で作成したロールである必要があります。
自分のスキーマ内のプログラム・ユニットにロールを付与する場合は、ADMIN
OPTION
またはDELEGATE
OPTION
付きのロールが直接付与されているか、GRANT
ANY
ROLE
システム権限が付与されているか、または付与するロールが自分で作成したロールである必要があります。
別のユーザーのスキーマ内のプログラム・ユニットに対するロールを付与するには、ユーザーSYS
である必要があり、ロールがスキーマ所有者によって作成されているか、直接スキーマ所有者に付与されている必要があります。
on_object_clause
のON
USER
句を指定してobject privilege on a user権限をユーザーに付与する場合は、その権限が付与されたユーザーであるか、そのユーザーに対するオブジェクト権限がWITH
GRANT
OPTION
付きで付与されているか、GRANT
ANY
OBJECT
PRIVILEGE
システム権限が付与されている必要があります。GRANT
ANY
OBJECT
PRIVILEGE
を所持しているという理由だけで、あるユーザーに対するオブジェクト権限を付与できる場合は、*_TAB_PRIVS
ビューのGRANTOR
列には、GRANT
文を発行したユーザーではなく、権限が付与されたユーザーが表示されます。
その他のオブジェクトのタイプすべてにオブジェクト権限を付与する場合は、オブジェクトの所有者であるか、オブジェクトの所有者からWITH
GRANT
OPTION
付きのオブジェクト権限が付与されている必要があります。または、GRANT
ANY
OBJECT
PRIVILEGE
システム権限が付与されている必要があります。GRANT
ANY
OBJECT
PRIVILEGE
を持っている場合は、オブジェクトの所有者が付与可能なオブジェクト権限と同じオブジェクト権限のみを付与できます。その場合、*_TAB_PRIVS
ビューのGRANTOR
列には、GRANT
文を発行したユーザーではなく、オブジェクトの所有者が表示されます。
GRANT
ANY
オブジェクト権限がある場合は、オブジェクトに対する権限を取り消すことができます。これは、SYS
オブジェクトには適用されません。システム権限に関するANY
キーワードは、SYS
を除くすべてのユーザーが所有するオブジェクトに対してユーザーが権限を実行できることを意味します。
CONTAINER
句を指定する場合は、マルチテナント・コンテナ・データベース(CDB)に接続している必要があります。CONTAINER
=
ALL
を指定する場合は、現在のコンテナがルートである必要があります。
構文
grant::=
(grant_system_privileges::=、grant_schema_privileges::=、grant_object_privileges::=、grant_roles_to_programs::=)
grant_system_privileges::=
grant_schema_privileges::=
grantee_clause::=
grantee_identified_by::=
on_object_clause::=
grant_roles_to_programs::=
program_unit::=
セマンティクス
grant_system_privileges
システム権限を付与するには、次の句を使用します。
system_privilege
付与するシステム権限を指定します。表18-1に、システム権限のリストを、操作対象のデータベース・オブジェクト別に示します。
-
ユーザーに権限を付与する場合、ユーザーの権限ドメインに権限が登録されます。このユーザーはその権限をすぐに使用できます。
ANY
権限は、信頼できるユーザーにのみ付与することをお薦めします。 -
ロールに権限を付与する場合、ロールの権限ドメインに権限が登録されます。ロールが付与されているまたは使用可能となっているユーザーは、その権限をすぐに使用できます。なお、ロールが付与されている他のユーザーも、そのロールを使用可能にしてその権限を使用できます。
関連項目:
「ユーザーに対するシステム権限の付与: 例」および「ロールに対するシステム権限の付与: 例」を参照してください。
-
PUBLIC
に権限を付与する場合、各ユーザーの権限ドメインに権限が登録されます。すべてのユーザーは、その権限によって許可される操作をすぐに実行できます。システム権限をPUBLIC
に付与しないことをお薦めします。
role
付与するロールを指定します。Oracle Databaseの事前定義ロールまたはユーザー定義ロールを付与できます。
-
ユーザーにロールを付与する場合、そのユーザーが、付与されたロールを使用できます。ユーザーはそのロールをすぐに使用可能にし、ロールの権限ドメインに登録されている権限を使用できます。
保護アプリケーション・ロールは、ユーザーに直接付与する必要はありません。ユーザーが適切なセキュリティ・ポリシーを渡すことを前提として、関連付けられたPL/SQLパッケージでこの処理を行うことができます。詳細は、
「USING
package」
の「CREATE ROLEセマンティクス」および『Oracle Databaseセキュリティ・ガイド』を参照してください。 -
他のロールにロールを付与する場合、権限受領者のロールの権限ドメインに、権限付与者のロールの権限ドメインが登録されます。権限受領者のロールを付与されているユーザーは、それを使用可能にした場合、付与されたロールの権限ドメイン内の権限を使用できます。
-
PUBLIC
にロールを付与する場合、すべてのユーザーがロールを使用できます。すべてのユーザーはそのロールをすぐに使用可能にし、ロールの権限ドメインに登録されている権限を使用できます。
ALL PRIVILEGES
ALL
PRIVILEGES
を指定すると、SELECT ANY
DICTIONARY
、ALTER
DATABASE
LINK
およびALTER
PUBLIC
DATABASE
LINK
権限を除く、表18-1
に示すすべてのシステム権限を付与できます。
ただし、ALL PRIVILEGES
の付与および取消しはADMINISTER KEY MANAGEMENT
には適用されません。ALL PRIVILEGES
を付与しても、ADMINISTER KEY MANAGEMENT
は付与されません。同様に、ALL PRIVILEGES
を取り消しても、ADMINISTER KEY MANAGEMENT
は取り消されません。
関連項目:
-
Oracleの事前定義されているロールの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
-
ユーザー定義ロールの作成については、「CREATE ROLE」を参照してください。
grantee_clause
grantee_clause
を使用すると、システム権限、ロールまたはオブジェクト権限が付与されるユーザーまたはロールを指定できます。
PUBLIC
PUBLIC
を指定すると、すべてのユーザーに権限を付与できます。システム権限をPUBLIC
に付与しないことをお薦めします。
権限受領者の制限事項
grantee_clause
にユーザー、ロールまたはPUBLIC
を指定できるのは1回のみです。
grantee_identified_by
grantee_identified_by
句を使用すると、ユーザーにシステム権限とロールを付与するときにユーザーにパスワードを割り当てることができます。ユーザーとパスワードを同じ数だけ指定する必要があります。最初のパスワードは最初のユーザーに、2番目のパスワードは2番目のユーザーに、というように割り当てられます。指定したユーザーが存在する場合、データベースはそのユーザーのパスワードをリセットします。指定したユーザーが存在しない場合、データベースはパスワードとともにユーザーを作成します。
設定可能なパスワードは、最大長1024バイトです。
関連項目:
「CREATE USER」(ユーザー名とパスワードの制限事項について)および「システム権限の付与時のユーザー・パスワードの割当て: 例」を参照してください。
WITH
ADMIN
OPTION
を指定すると、権限受領者は次のことができます。
-
ロールが
GLOBAL
ロールでない場合、権限またはロールを他のユーザーまたはロールに付与できます。 -
権限またはロールを他のユーザーまたは他のロールから取り消すことができます。
-
権限またはロールへのアクセスに必要な認可を変更するため、その権限またはロールを変更できます。
-
権限またはロールを削除します。
-
権限を付与したスキーマ内のプログラム・ユニットに、ロールを付与します。
-
権限を付与したスキーマ内のプログラム・ユニットからロールを取り消します。
たとえば、WITH
ADMIN
OPTION
を指定せずにユーザーにロールまたはシステム権限を付与し、後でWITH
ADMIN
OPTION
を指定してその権限およびロールを付与した場合、そのユーザーはその権限またはロールに関してADMIN
OPTION
を持つことになります。
システム権限またはロールのADMIN
OPTION
をユーザーから取り消す場合、そのユーザーの権限またはロールを完全に取り消し、その次にADMIN
OPTION
を指定せずに権限またはロールをユーザーに付与します。
関連項目:
WITH DELEGATE OPTION
ロールをユーザーに付与する場合のみ、この句を指定できます。
WITH
DELEGATE
OPTION
を指定すると、権限受領者は次のことができます。
-
権限を付与したスキーマ内のプログラム・ユニットに、ロールを付与します。
-
権限を付与したスキーマ内のプログラム・ユニットからロールを取り消します。
たとえば、WITH
DELEGATE
OPTION
を指定せずにユーザーにロールを付与し、後でWITH
DELEGATE
OPTION
を指定してそのロールを付与した場合、そのユーザーはそのロールに関してDELEGATE
OPTION
を持つことになります。
ロールのDELEGATE
OPTION
をユーザーから取り消す場合、そのユーザーのロールを完全に取り消し、その次にDELEGATE
OPTION
を指定せずにロールをユーザーに付与する必要があります。
関連項目:
-
プログラム・ユニットへのロールの付与の詳細は、grant_roles_to_programs句を参照してください。
システム権限とロールの付与の制限事項
権限およびロールには、次の制限事項があります。
-
付与する権限およびロールのリストに、権限またはロールを指定できるのは1回のみです。
-
ロールに対してそのロールと同じロールは付与できません。
-
ロール
IDENTIFIED
GLOBALLY
は、どのようなユーザーまたはロールに対しても付与できません。 -
ロール
IDENTIFIED
EXTERNALLY
は、グローバル・ユーザーまたはグローバル・ロールに対して付与できません。 -
ロールは交互に付与できません。たとえば、ロール
banker
をロールteller
に付与した場合、逆にteller
をbanker
に付与することはできません。 -
IDENTIFIED
BY
ロール、IDENTIFIED
USING
ロールおよびIDENTIFIED
EXTERNALLY
ロールの別のロールへの付与はできません。
grant_schema_privileges
次のユーザーは、任意のユーザーまたは任意のロールにスキーマ・レベルの権限を付与できます。
-
スキーマの所有者。
-
スキーマ・レベルの権限
WITH ADMIN OPTION
の所有者。 -
GRANT ANY SCHEMA PRIVILEGE
システム権限の所有者。ALL PRIVILEGES
を指定すると、表18-3に示したすべてのスキーマ・レベルの権限が付与されます。
SYS
スキーマではスキーマ権限を付与できません。
grant_object_privileges
オブジェクト権限を付与するには、次の句を使用します。
object_privilege
付与するオブジェクト権限を指定します。表18-2に、オブジェクト権限のリストを、付与されるオブジェクトのタイプ別に示します。ユーザーまたはロールのいずれかのオブジェクト権限をエディション化可能なオブジェクトに付与すると、オブジェクトは付与したエディションで実体化されます。エディション化可能なオブジェクト型およびエディションの詳細は、「CREATE EDITION」を参照してください。
ノート:
ビューに対するSELECT
を他のユーザーに付与するには、ビューの基礎となるすべてのオブジェクトを所有しているか、またはこれらすべての基礎となるオブジェクトに対するSELECT
オブジェクト権限をWITH
GRANT
OPTION
で付与されている必要があります。これは、これらの基礎となるオブジェクトに対するSELECT
権限を権限受領者がすでに持っている場合にも当てはまります。
ビューに対するREAD
を他のユーザーに付与するには、ビューの基礎となるすべてのオブジェクトを所有しているか、またはこれらすべての基礎となるオブジェクトに対するREAD
またはSELECT
オブジェクト権限をWITH
GRANT
OPTION
で付与されている必要があります。これは、これらの基礎となるオブジェクトに対するREAD
またはSELECT
権限を権限受領者がすでに持っている場合にも当てはまります。
オブジェクト権限の制限事項
付与する権限のリストに、権限を指定できるのは1回のみです。
ALL
を指定すると、GRANT
OPTION
付きで付与されているオブジェクト権限に対するすべての権限を付与できます。オブジェクトが定義されているスキーマを所有しているユーザーは、自動的にGRANT
OPTION
付きのオブジェクトに対するすべての権限を持っています。キーワードPRIVILEGES
はセマンティクスを明確にするためのものであり、指定は任意です。
column
権限を付与する表またはビューの列を指定します。INSERT
、REFERENCES
またはUPDATE
の各権限を付与する場合にのみ、列を指定できます。列を指定しない場合、権限受領者には表またはビューのすべての列に対して指定した権限が付与されます。
既存の列オブジェクトに対して付与された権限については、データ・ディクショナリ・ビューUSER_COL_PRIVS
、ALL_COL_PRIVS
またはDBA_COL_PRIVS
を問い合せます。
関連項目:
データ・ディクショナリ・ビューの詳細は、『Oracle Databaseリファレンス』および「別々の列に対する複数のオブジェクト権限の付与: 例」を参照してください。
on_object_clause
on_object_clause
を指定すると、権限が付与されているオブジェクトを識別できます。ユーザー、ディレクトリ・オブジェクト、エディション、データ・マイニング・モデル、Javaソースおよびリソース・スキーマ・オブジェクト、およびSQL翻訳プロファイルは、異なるネームスペースに格納されるため、別々に識別されます。
関連項目:
object
権限を付与するスキーマ・オブジェクトを指定します。object
をschema
で修飾しなかった場合、そのオブジェクトは自分のスキーマ内にあるとみなされます。オブジェクトには次のタイプがあります。
-
表、ビューまたはマテリアライズド・ビュー
-
順序
-
プロシージャ、ファンクションまたはパッケージ
-
ユーザー定義型
-
これらの項目のシノニム
-
ディレクトリ、ライブラリ、演算子または索引タイプ
-
Javaソース、クラスまたはリソース
パーティション表の単一パーティションに直接権限を付与することはできません。
関連項目:
「表に対するオブジェクト権限のユーザーへの付与: 例」、「ビューに対するオブジェクト権限の付与: 例」および「別のスキーマの順序へのオブジェクト権限の付与: 例」を参照してください。
ON USER
権限を付与するデータベース・ユーザーを指定します。
ユーザーへの権限の付与の制限事項
PUBLIC
ユーザーには権限を付与できません。
関連項目:
ON DIRECTORY
権限を付与するディレクトリ・オブジェクトの名前を指定します。directory_name
はスキーマ名で修飾できません。
関連項目:
「CREATE DIRECTORY」および「ディレクトリに対するオブジェクト権限の付与: 例」を参照してください。
ON EDITION
USE
オブジェクト権限を付与するエディションの名前を指定します。edition_name
はスキーマ名で修飾できません。
ON MINING MODEL
権限を付与するマイニング・モデルの名前を指定します。mining_model_name
をschema
で修飾しなかった場合、そのマイニング・モデルは自分のスキーマ内にあるとみなされます。
ON JAVA SOURCE | RESOURCE
権限を付与するJavaソースまたはリソース・スキーマ・オブジェクトの名前を指定します。object
をschema
で修飾しなかった場合、そのオブジェクトは自分のスキーマ内にあるとみなされます。
関連項目:
ON SQL TRANSLATION PROFILE
権限を付与するSQL翻訳プロファイルの名前を指定します。profile
をschema
で修飾しなかった場合、そのプロファイルは自分のスキーマ内にあるとみなされます。
WITH
HIERARCHY
OPTION
を指定すると、この文の後に作成されるサブオブジェクトも含め、object
のすべてのサブオブジェクト(ビューを基に作成したサブビューなど)に対する指定したオブジェクト権限を付与できます。
この句は、READ
またはSELECT
オブジェクト権限とあわせて指定する場合のみ意味があります。
WITH
GRANT
OPTION
を指定すると、権限受領者による、他のユーザーまたはロールに対するオブジェクト権限の付与を許可できます。
たとえば、WITH
GRANT
OPTION
を指定せずにユーザーにオブジェクト権限を付与し、後でWITH
GRANT
OPTION
を指定してその権限を付与した場合、そのユーザーはその権限に関してGRANT
OPTION
を持つことになります。
オブジェクト権限のGRANT
OPTION
をユーザーから取り消す場合、そのユーザーの権限を完全に取り消し、その次にGRANT
OPTION
を指定せずに権限をユーザーに付与する必要があります。
WITH GRANT OPTIONの付与の制限事項
ロールではなく、ユーザーまたはPUBLIC
に付与する場合にのみ、WITH
GRANT
OPTION
を指定できます。
grant_roles_to_programs
この句を使用して、ロールをプログラム・ユニットに付与します。そのようなロールは、コード・ベースのアクセス制御(CBAC)ロールと呼ばれます。
role
付与するロールを指定します。Oracle Databaseの事前定義ロールまたはユーザー定義ロールを付与できます。ロールはプログラム・ユニットのスキーマ所有者によって作成されているか、直接付与する必要があります。
program_unit
ロールを付与するプログラム・ユニットを指定します。PL/SQLファンクション、プロシージャ、またはパッケージを指定できます。schema
を指定しない場合、ファンクション、プロシージャ、またはパッケージは独自のスキーマにあると見なされます。
関連項目:
プログラム・ユニットへのコードに基づくアクセス制御ロールの割当ての詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
CONTAINER句
現在のコンテナがプラガブル・データベース(PDB)である場合:
-
CONTAINER
=
CURRENT
を指定すると、システム権限、オブジェクト権限またはロールをユーザーまたはロールにローカルに付与できます。現在のPDBでのみ、その権限またはロールがユーザーまたはロールに付与されます。
現在のコンテナがルートである場合:
-
CONTAINER
=
CURRENT
を指定すると、システム権限、オブジェクト権限またはロールを共通ユーザーまたは共通ロールにローカルに付与できます。ルートでのみ、ユーザーまたはロールにその権限が付与されます。 -
CONTAINER
=
ALL
を指定すると、システム権限、共通オブジェクトに対するオブジェクト権限またはロールを共通ユーザーまたは共通ロールに共通に付与できます。
この句を省略すると、CONTAINER
=
CURRENT
がデフォルトになります。
ノート:
権限またはロールを付与するときにCONTAINER
句を指定する場合は、現在のコンテナが同じコンテナである必要があります。また、その権限またはロールを取り消すときには、同じCONTAINER
句を指定する必要があります。詳細は、REVOKE
文の「CONTAINER句」を参照してください。
システム権限、オブジェクト権限およびスキーマ権限のリスト
表18-1 システム権限(操作対象のデータベース・オブジェクト別)
システム権限名 | 許可されている操作 |
---|---|
アドバイザ・フレームワーク権限はすべてDBAロールの一部です。 |
|
|
PL/SQLパッケージ( |
|
|
|
|
Enterprise Managerまたは ノート: この権限は現在非推奨になっています。かわりに、 |
|
既存のSQLプロファイルの属性の変更。 ノート: この権限は現在非推奨になっています。かわりに、 |
|
既存のSQLプロファイルの削除。 ノート: この権限は現在非推奨になっています。かわりに、 |
|
|
|
分析ビュー |
— |
|
権限を付与したスキーマ内での分析ビューの作成。 |
|
|
|
|
|
|
属性ディメンション |
— |
|
権限を付与したスキーマ内での属性ディメンションの作成。 |
|
|
|
|
|
|
クラスタ: |
— |
|
権限を付与したスキーマ内でのクラスタの作成。 |
|
|
|
|
|
|
コンテキスト: |
— |
|
任意のコンテキスト・ネームスペースの作成。 |
|
任意のコンテキスト・ネームスペースの削除。 |
データ・リダクション: |
— |
|
既存のOracle Data Redactionポリシーのバイパス、およびData Redactionが定義されている表またはビューの実際のデータの表示。 |
データベース: |
— |
|
データベースの変更。 |
|
|
|
|
データベース・リンク: |
— |
|
権限を付与したスキーマ内でのプライベート・データベース・リンクの作成。 |
|
パブリック・データベース・リンクの作成。 |
接続または認証ユーザーのパスワードが変更された場合の固定ユーザー・データベース・リンクの変更。 |
|
接続または認証ユーザーのパスワードが変更された場合のパブリック固定ユーザー・データベース・リンクの変更。 |
|
|
パブリック・データベース・リンクの削除。 |
デバッグ: |
— |
|
デバッガへの現行のセッションの接続。 |
|
任意のデータベース・オブジェクトのすべてのPL/SQLコードおよびJavaコードのデバッグ。アプリケーションによって実行されたすべてのSQL文に関する情報の表示。 ノート: この権限を付与することは、データベース内の適用可能なすべてのオブジェクトについて |
— |
|
|
データ・ディクショナリ・オブジェクトの分析。 |
ディメンション: |
— |
|
権限を付与したスキーマ内でのディメンションの作成。 |
|
|
|
|
|
|
ディレクトリ: |
— |
|
ディレクトリ・データベース・オブジェクトの作成。 |
|
ディレクトリ・データベース・オブジェクトの削除。 |
DOMAINS: |
— |
|
自分のスキーマ内にドメインを作成します。 |
|
任意のスキーマ内にドメインを作成します。 |
|
任意のスキーマ内のドメインを変更します。 |
|
任意のスキーマ内のドメインを削除します。 |
|
任意のスキーマ内のドメインを参照します。 |
エディション: |
— |
|
エディションの作成。 |
|
エディションの削除。 |
フラッシュバック・データ・アーカイブ: |
— |
|
フラッシュバック・データ・アーカイブの作成、変更または削除。 |
階層 |
— |
|
権限を付与したスキーマ内での階層の作成。 |
|
|
ALTER ANY HIERARCHY |
|
|
|
索引: |
— |
|
|
|
|
|
|
索引タイプ: |
— |
|
権限を付与したスキーマ内での索引タイプの作成。 |
|
|
|
|
|
|
|
|
ジョブ・スケジューラ・オブジェクト: |
次の権限は、 |
|
権限を付与したスキーマ内でのジョブ、チェーン、スケジュール、プログラム、資格証明、リソース・オブジェクトまたは非互換性リソース・オブジェクトの作成、変更または削除。 |
|
ノート: この強力な権限を使用すると、権限受領者は任意のユーザーとしてコードを実行できます。この権限の付与には注意が必要です。 |
|
権限を付与したスキーマ内での、オペレーティング・システム上で実行可能なスケジューラ・ジョブの作成。 |
|
権限を付与したスキーマ内でのジョブのジョブ・クラスの指定。 |
|
権限を付与したスキーマ内でのジョブの任意のプログラムの使用。 |
|
任意のジョブ・クラス、ウィンドウまたはウィンドウ・グループの作成、変更または削除。 |
|
権限を付与したスキーマ内での、任意のスケジュール・リソース・オブジェクトの任意のプログラムまたはジョブとの関連付け。 |
キー管理フレームワーク: |
— |
キーおよびキーストアの管理。 |
|
ライブラリ: |
注意: |
|
権限を付与したスキーマ内での外部プロシージャまたはファンクション・ライブラリの作成。 |
|
|
|
|
|
|
|
|
LogMiner: |
— |
|
CDBまたはPDBの |
マテリアライズド・ビュー: |
— |
|
権限を付与したスキーマ内でのマテリアライズド・ビューの作成。 |
|
|
|
|
|
|
|
この権限は現在非推奨になっています。ユーザー自身のスキーマ内の表またはビューを参照するマテリアライズド・ビューのリライトを可能にする場合、権限は不要です。 |
|
マテリアライズド・ビューが |
|
データベースの任意の表に対するREFRESH ON COMMITモードのマテリアライズド・ビューの作成。 データベースの任意の表に対するマテリアライズド・ビューのモードをREFRESH ON DEMANDモードからREFRESH ON COMMITモードに変更。 |
|
|
マイニング・モデル: |
— |
|
権限を付与したスキーマでの |
|
|
|
|
|
|
|
|
|
|
OLAPキューブ: |
Oracle DatabaseをOLAPオプションで使用している場合は、次の権限が有効です。 |
|
権限を付与したスキーマでのOLAPキューブの作成。 |
|
|
|
|
|
|
|
|
|
|
OLAPキューブ・メジャー・フォルダ: |
Oracle DatabaseをOLAPオプションで使用している場合は、次の権限が有効です。 |
|
権限を付与したスキーマでのOLAPメジャー・フォルダの作成。 |
|
|
|
|
|
|
|
|
OLAPキューブ・ディメンション: |
Oracle DatabaseをOLAPオプションで使用している場合は、次の権限が有効です。 |
|
権限を付与したスキーマでのOLAPキューブ・ディメンションの作成。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OLAPキューブの作成プロセス: |
— |
|
権限を付与したスキーマでのOLAPキューブの作成プロセスの作成。 |
|
|
|
|
|
|
演算子: |
— |
|
権限を付与したスキーマ内での演算子およびバインディングの作成。 |
|
任意のスキーマ内での演算子とそのバインディングの作成、および任意のスキーマ内の演算子に対するコメントの作成。 |
|
任意のスキーマ内での演算子の変更。 |
|
任意のスキーマ内での演算子の削除。 |
|
任意のスキーマ内での演算子の参照。 |
アウトライン: |
— |
|
アウトラインを使用する任意のスキーマ内で使用するパブリック・アウトラインの作成。 |
|
アウトラインの変更。 |
|
アウトラインの削除。 |
PDBロックダウン・プロファイル: |
— |
|
PDBロックダウン・プロファイルの作成。 |
|
PDBロックダウン・プロファイルの変更。 |
|
PDBロックダウン・プロファイルの削除。 |
計画管理: |
— |
|
様々なSQL文に対して保持されている計画の履歴およびSQL計画ベースラインの制御操作の実行。 |
プラガブル・データベース: |
— |
PDBの作成。 CDBから以前に切断されたPDBの接続。 PDBのクローニング。 |
|
この権限が付与されていたコンテナへの共通ユーザーによる切替えの許可。この権限は、共通ユーザーまたは共通ロールにのみ付与できます。 |
|
プロシージャ: |
— |
|
権限を付与したスキーマ内でのストアド・プロシージャ、ストアド・ファンクションまたはストアド・パッケージの作成。 |
|
|
|
|
|
|
|
プロシージャまたはファンクションの実行(スタンドアロンまたはパッケージ)。
|
|
現在のユーザー・データベース・リンクを含む定義者権限プロシージャまたはファンクションの実行。 |
プロファイル: |
— |
|
プロファイルの作成。 |
|
プロファイルの変更。 |
|
プロファイルの削除。 |
PROPERTY GRAPHS: |
— |
|
権限受領者のスキーマにプロパティ・グラフを作成します。 |
|
|
|
|
|
|
|
|
ロール: |
— |
|
ロールの作成。 |
|
データベース内の任意のロールの変更。 |
|
ロールの削除。 |
|
データベース内の任意のロールの付与。 |
ロールバック・セグメント: |
— |
|
ロールバック・セグメントの作成。 |
|
ロールバック・セグメントの変更。 |
|
ロールバック・セグメントの削除。 |
順序: |
— |
|
権限を付与したスキーマ内での順序の作成。 |
|
|
|
|
|
|
|
|
セッション: |
— |
|
データベースへの接続。 |
|
セッション・リソースに対するコストの設定。 |
|
SQLトレース機能の有効と無効の切替え。 |
|
SQL*Plusの |
スナップショット: |
|
SQLファイアウォール管理 |
– |
|
|
— |
|
|
権限を付与したスキーマ内でのSQL翻訳プロファイルの作成。 |
|
|
|
|
|
|
|
|
|
権限受領者のSQL翻訳プロファイル使用した任意のユーザー用のSQLの変換。 |
シノニム: |
注意: |
|
権限を付与したスキーマ内でのシノニムの作成。 |
|
|
|
パブリック・シノニムの作成。 |
|
|
|
パブリック・シノニムの削除。 |
表: |
ノート: 外部表の場合、有効な権限は、 |
|
権限を付与したスキーマ内での表の作成。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表保存期間がパラメータ |
表領域: |
— |
|
表領域の作成。 |
|
表領域の変更。 |
|
表領域の削除。 |
|
表領域のオンラインとオフラインの切替え、および表領域のバックアップの開始と終了の制御。 |
|
任意の表領域の無制限な使用。この権限は、設定されている任意の割当て制限を上書きします。ユーザーからこの権限を取り消した場合、ユーザーのスキーマ・オブジェクトはそのまま残りますが、表領域の割当て制限が許可されないかぎり、それ以上表領域を割り当てることはできません。このシステム権限をロールに付与することはできません。 |
トリガー: |
— |
|
権限を付与したスキーマ内でのデータベース・トリガーの作成。 |
|
|
|
|
|
|
|
データベースに対するトリガーの作成。 |
型: |
— |
|
権限を付与したスキーマ内でのオブジェクト型およびオブジェクト型本体の作成。 |
|
|
|
|
|
|
|
特定のユーザーに付与した場合の、 |
|
非最終オブジェクト型のサブタイプの作成。 |
ユーザー: |
— |
|
ユーザーの作成。この権限によって、次の操作を実行できます。
|
|
|
|
ユーザーの削除。 |
ビュー: |
— |
|
権限を付与したスキーマ内でのビューの作成。 |
|
|
|
|
|
オブジェクト・ビューのサブビューの作成。 |
|
|
|
|
その他: |
— |
|
|
|
|
データ・ポンプ・インポート・ユーティリティ(impdp)および元のインポート・ユーティリティ(imp)のユーザーは、第三者が直接実行できない操作(オブジェクト権限を付与するようなオブジェクトのロード)を実行する場合には、別のユーザー・アイデンティティを引き受けることができます。 Streams管理者は、取得ユーザーおよび適用ユーザーの作成または変更を1つのStreams環境で行うことができます。この権限は、デフォルトではDBAロールに含まれています。Database Vaultでは、この権限はDBAロールから除外されます。したがって、Streamsでこの権限が必要とされるのは、Database Vaultがインストールされている環境でのみです。 |
|
問合せの登録の作成と、登録された問合せに関連付けられたオブジェクトに対するDMLまたはDDL変更があったときのデータベース変更通知の受信。データベース変更通知の詳細は、『Oracle Database開発ガイド』を参照してください。 |
|
|
|
|
|
|
ファイングレイン・アクセス・コントロールの回避。 注意: 強力なシステム権限で、権限受領者がアプリケーション駆動のセキュリティ・ポリシーを回避できます。データベース管理者がこの権限を付与する場合は、注意が必要です。 |
|
ローカル・データベース内の、インダウト分散トランザクションのコミットまたはロールバック。 分散トランザクション・エラーの意図的な発生。 |
|
ローカル・データベース内の、インダウト分散トランザクションのコミットまたはロールバック。 |
|
オブジェクト所有者が付与を許されている任意のオブジェクト権限の付与。
|
|
任意のシステム権限の付与。 |
|
実行者の権限を持つ権限受領者が所有する実行者権限プロシージャの実行。 |
|
権限受領者がアプリケーションを実行している場合、 ノート: この権限が要求の実行時またはフェイルオーバーの間に付与または取消しされると、その要求に対するアプリケーション・コンティニュイティのための再実行中に元の値が戻されなくなります。 |
|
権限受領者がアプリケーションを実行している場合、 ノート: この権限が要求の実行時またはフェイルオーバーの間に付与または取消しされると、その要求に対するアプリケーション・コンティニュイティのための再実行中に元の値が戻されなくなります。 |
|
システム全体のごみ箱からのすべてのオブジェクトの削除。 |
|
再開可能な領域割当ての使用可能化。 |
|
|
|
注意: 強力なシステム権限で、権限受領者が、過去のデータも含めてデータベース内のすべてのデータを参照できます。この権限は、Oracleフラッシュバック・トランザクション問合せ機能を使用する必要があるユーザーのみに付与してください。 |
|
次のバックアップ操作およびリカバリ操作の実行
リストア・ポイント(保証付きリストア・ポイントを含む)の作成、使用、表示、および削除。
|
|
|
|
次のOracle Data Guard操作の実行
リストア・ポイント(保証付きリストア・ポイントを含む)の作成、使用、表示、および削除。
|
|
次の暗号化キー管理操作の実行 データベースへの接続(データベースがオープンされていない場合でも)。 データベースがオープンされている場合は、
|
|
|
表18-2 オブジェクト権限(操作対象のデータベース・オブジェクト別)
オブジェクト権限名 | 許可されている操作 |
---|---|
分析ビュー権限 |
次の分析ビュー権限は、分析ビューの操作を許可します。 |
ALTER |
分析ビューの名前の変更。 |
READ |
|
SELECT |
SELECT 文でのオブジェクトの問合せ。
|
属性ディメンション権限 |
次の属性ディメンション権限は、属性ディメンションの操作を許可します。 |
ALTER |
属性ディメンションの名前の変更。 |
ディレクトリ権限 |
次のディレクトリ権限では、ディレクトリ・オブジェクトをポインタとして使用することにより、オペレーティング・システムのディレクトリに格納されている各ファイルにデータベースから安全にアクセスできるようになります。このディレクトリ・オブジェクトには、ファイルが格納されているオペレーティング・システムのディレクトリへのフルパス名が定義されています。これらのファイルは実際にはデータベース外に格納されているため、Oracle Databaseサーバーの各プロセスは、ファイル・システム・サーバーに対して適切なファイル・アクセス権も持っている必要があります。オペレーティング・システムに対するオブジェクト権限ではなく、ディレクトリ・データベース・オブジェクトに対するオブジェクト権限を個々のデータベース・ユーザーに付与することによって、データベースでファイル運用時のセキュリティが確保されます。 |
|
ディレクトリ内のファイルの読取り。 |
|
ディレクトリ内へのファイルの書込み。この権限は、外部表に接続する場合のみに役立ちます。これによって、権限受領者は、外部表のエージェントがディレクトリに書き込めるのがログ・ファイルなのか不良ファイルなのかを判断できます。 制限事項: この権限を持っていても、 |
ディレクトリ内に存在するプリプロセッサ・プログラムの実行。プリプロセッサ・プログラムは、 |
|
エディション権限 |
次のエディション権限は、エディションの使用を許可します。 |
|
エディションの使用。 |
フラッシュバック・データ・アーカイブ権限 |
次のフラッシュバック・データ・アーカイブ権限では、フラッシュバック・データ・アーカイブに対する操作を許可します。 |
表の履歴追跡を使用可能または使用禁止にします。 |
|
階層権限 |
次の階層権限は、階層の操作を許可します。 |
ALTER |
階層の名前の変更。 |
READ |
|
SELECT |
|
索引タイプ権限 |
次の索引タイプ権限は、索引タイプの操作を許可します。 |
|
索引タイプの参照。 |
ライブラリ権限 |
次のライブラリ権限は、ライブラリの操作を許可します。 |
|
特定のオブジェクトの使用と参照、およびそのメソッドの起動。 注意: この権限は非常に強力であるため、信頼できるユーザーにのみ付与してください。この権限を付与する前に、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
マテリアライズド・ビュー権限 |
次のマテリアライズド・ビュー権限は、マテリアライズド・ビューについての操作を許可します。 |
|
指定した表に対するREFRESH ON COMMITモードのマテリアライズド・ビューの作成。 |
|
指定した表で使用するクエリー・リライトに対するマテリアライズド・ビューの作成。 |
マテリアライズド・ビューを問い合せます。 |
|
|
マテリアライズド・ビューを問い合せます。 |
マイニング・モデル権限 |
次のマイニング・モデル権限では、マイニング・モデルに対する操作を許可します。これらの権限は、ユーザー自身のスキーマ内にあるモデルに対しては必要ありません。 |
|
該当する |
|
マイニング・モデルのスコアリングまたは表示。スコアリングの実行には、SQLファンクションの |
オブジェクト型権限 |
次のオブジェクト型権限は、データベース・オブジェクト型の操作を許可します。 |
|
オブジェクト型に定義されたすべてのパブリック変数、非パブリック変数、メソッドおよび型へのデバッガを介したアクセス。 型本体内の行または指示境界へのブレークポイントの設定、またはこれらの場所のいずれかでの停止。 |
|
特定のオブジェクトの使用と参照、およびそのメソッドの起動。 オブジェクト型に定義されたパブリック変数、型およびメソッドへのデバッガを介したアクセス。 |
|
型のサブタイプの作成。この型の直属のスーパータイプに |
OLAP権限 |
Oracle DatabaseをOLAPオプションで使用している場合は、次のオブジェクト権限が有効になります。 |
|
メンバーをOLAPキューブ・ディメンションに挿入するか、またはメジャーをメジャー・フォルダに挿入します。 |
|
OLAPキューブ・ディメンションまたはキューブの定義を変更します。 |
|
メンバーをOLAPキューブ・ディメンションから削除するか、またはメジャーをメジャー・フォルダから削除します。 |
|
OLAPキューブまたはキューブ・ディメンションを表示または問い合せます。 |
|
OLAPキューブのメジャー値またはキューブ・ディメンションの属性値を更新します。 |
演算子権限 |
次の演算子権限は、ユーザー定義演算子の操作を許可します。 |
|
演算子の参照。 |
プロシージャ、ファンクション、パッケージ権限 |
次のプロシージャ、ファンクションおよびパッケージ権限は、プロシージャ、ファンクションおよびパッケージの操作を許可します。これらの権限は、Javaソース、クラスおよびリソースにも適用されます。Oracle Databaseでは、これらはオブジェクト権限の付与のために生成されたプロシージャとして扱われます。 |
|
オブジェクトに定義されたすべてのパブリック変数、非パブリック変数、メソッドおよび型へのデバッガを介したアクセス。 プロシージャ、ファンクションまたはパッケージ内の行または指示境界へのブレークポイントの設定、またはこれらの場所のいずれかでの停止。この権限は、メソッドまたはパッケージの仕様部および本体の宣言にアクセスする権限を付与します。 |
|
プロシージャかファンクションの直接実行、パッケージの仕様部に宣言された任意のプログラム・オブジェクトへのアクセス、または現在無効であるかコンパイルされていないファンクションかプロシージャへのコール中の暗黙的なオブジェクトのコンパイル。この権限を持っていても、 プロシージャ、ファンクションまたはパッケージに定義されたパブリック変数、型およびメソッドへのデバッガを介したアクセス。この権限は、メソッドまたはパッケージの仕様部のみの宣言にアクセスする権限を付与します。 ジョブ・スケジューラ・オブジェクトは、 ノート: プロシージャ、ファンクションまたはパッケージを間接的に実行する場合、ユーザーはこの権限を持つ必要はありません。 |
PROPERTY GRAPH PRIVILEGES |
次のオブジェクト権限により、プロパティ・グラフに対する操作が認可されます。 |
|
|
|
|
|
|
スケジューラ権限 |
ジョブ・スケジューラ・オブジェクトは、 |
|
ジョブ・クラス、プログラム、チェーンおよび資格証明に対する操作。 |
|
ジョブ、プログラム、チェーン、資格証明およびスケジュールに対する変更。 |
|
指定したスケジューラ・リソース・オブジェクトの、プログラムおよびジョブとの関連付け。 |
順序権限 |
次の順序権限は、順序の操作を許可します。 |
|
|
権限受領者がアプリケーションを実行している場合、順序疑似列 この権限が要求の実行時およびフェイルオーバーの間に付与または取消しされると、その要求に対するアプリケーション・コンティニュイティのための再実行中に、 ノート: この権限は、 ノート: この権限はDBAロールの一部です。 |
|
|
|
次のSQL翻訳プロファイルの権限は、SQL翻訳プロファイルに対する操作を許可します。 |
|
SQL翻訳プロファイルのトランスレータ、カスタムSQL文の翻訳、またはカスタム・エラーの翻訳の変更。 |
|
SQL翻訳プロファイルの使用。 |
|
シノニム権限 |
シノニム権限は、対象となるオブジェクトに対して付与される権限と同じです。シノニムに権限を付与することは、基本オブジェクトに権限を付与することと同じです。同様に、基本オブジェクトに対して権限を付与することは、オブジェクトのすべてのシノニムに権限を付与することと同じです。あるユーザーにシノニムの権限を付与した場合、そのユーザーは、シノニム名または基本オブジェクト名をSQL文に指定して、その権限を使用できます。 |
表権限 |
次の表権限は、表の操作を許可します。 ノート: 外部表に有効なオブジェクト権限は、 |
|
|
|
デバッガを介した次のものへのアクセス。
|
|
ノート: 表がリモート・データベースにある場合は、 |
|
|
|
ノート: 表がリモート・データベースにある場合は、 |
|
|
|
表参照制約の作成。この権限はロールには付与できません。 |
|
問合せ中に特定の表へのアクセスを許可するには、表に対する
|
|
ノート: 表がリモート・データベースにある場合は、 |
|
問合せ中に特定の表へのアクセスを許可するには、表に対する 表でSQLフラッシュバック問合せを発行します。 |
|
ブロックチェーン表に対する 行に委任署名がまだない 行に、ユーザー |
ユーザー権限 |
次の権限はユーザーの操作を許可します。 |
実行者がこの権限を付与されたユーザーの場合、実行者の権限を持つ権限受領者が所有する実行者権限プロシージャまたはファンクションの実行。 |
|
|
この権限が付与されたユーザーが、権限受領者が所有する定義者権限プロシージャまたはファンクション(現在のユーザー・データベース・リンクを含む)を実行することを許可します。 |
権限受領者のSQL翻訳プロファイルを使用して、この権限が付与されたユーザー用にSQLを変換。 |
|
ビュー権限 |
次のビュー権限は、ビューの操作を許可します。 ビューの権限を付与する場合、そのビューのすべての実表に関して |
|
デバッガを介した次のものへのアクセス。
|
|
|
|
|
このオブジェクト権限の動作は、権限がON句で指定されたビューに制限される点を除き、MERGE ANY VIEW |
|
|
|
|
ビューへの外部キー制約の定義。 |
|
関連項目: ビューに対するこのオブジェクト権限の付与の詳細は、「object_privilege」を参照してください。 |
ビューのサブビューの作成。このビューの直属のスーパービューに |
|
|
|
|
問合せ中に特定のビューへのアクセスを許可するには、ビューに対するFLASHBACK権限を付与します。 ビューでSQLフラッシュバック問合せを発行します。 |
表18-3 スキーマ権限(認可される操作ごとに編成)
スキーマ権限名 | 許可されている操作 |
---|---|
分析ビュー |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
属性ディメンション |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
クラスタ: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
データ・リダクション: |
— |
|
既存のOracle Data Redactionポリシーをバイパスして、Data Redactionのポリシーがスキーマで定義されている表またはビューの実際のデータを表示します。 |
ディメンション: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
階層 |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
ALTER ANY HIERARCHY |
|
|
|
索引: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
索引タイプ: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
|
ジョブ・スケジューラ・オブジェクト: |
次の権限は、 |
|
権限受領者がスキーマ所有者である場合、権限受領者には ノート: この強力な権限を使用すると、権限受領者は任意のユーザーとしてコードを実行できます。この権限の付与には注意が必要です。 |
ライブラリ: |
注意: |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
|
マテリアライズド・ビュー: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
マテリアライズド・ビューが |
|
|
マイニング・モデル: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
|
|
|
OLAPキューブ: |
Oracle DatabaseをOLAPオプションで使用している場合は、次の権限が有効です。 |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
|
|
|
OLAPキューブ・メジャー・フォルダ: |
Oracle DatabaseをOLAPオプションで使用している場合は、次の権限が有効です。 |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
|
OLAPキューブ・ディメンション: |
Oracle DatabaseをOLAPオプションで使用している場合は、次の権限が有効です。 |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
|
|
|
|
|
|
|
OLAPキューブの作成プロセス: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
演算子: |
— |
|
任意のスキーマ内での演算子とそのバインディングの作成、および任意のスキーマ内の演算子に対するコメントの作成。 権限受領者がスキーマ所有者である場合、権限受領者には |
|
任意のスキーマ内での演算子の変更。 |
|
任意のスキーマ内での演算子の削除。 |
|
任意のスキーマ内での演算子の参照。 |
プロシージャ: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
プロシージャまたはファンクションの実行(スタンドアロンまたはパッケージ)。
|
順序: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
|
— |
|
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
|
|
権限受領者のSQL翻訳プロファイル使用した任意のユーザー用のSQLの変換。 |
シノニム: |
- |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
表: |
- |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
トリガー: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
型: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
|
|
特定のユーザーに付与した場合の、 |
|
非最終オブジェクト型のサブタイプの作成。 |
ビュー: |
— |
|
権限受領者がスキーマ所有者である場合、権限受領者には |
|
|
|
オブジェクト・ビューのサブビューの作成。 |
|
|
その他: |
— |
|
|
|
|
|
|
|
ファイングレイン・アクセス・コントロールの回避。 注意: 強力なシステム権限で、権限受領者がアプリケーション駆動のセキュリティ・ポリシーを回避できます。データベース管理者がこの権限を付与する場合は、注意が必要です。 |
例
ユーザーへのシステム権限の付与: 例
次の文は、サンプル・ユーザーhr
にCREATE
SESSION
システム権限を付与し、hr
がOracle Databaseにログインできるようにします。
GRANT CREATE SESSION TO hr;
システム権限の付与時のユーザー・パスワードの割当て: 例
ユーザーhr
が存在し、ユーザーnewuser
が存在しないとします。次の文は、ユーザーhr
のパスワードをpassword1
にリセットし、ユーザーnewuser
をpassword2
とともに作成し、両ユーザーにCREATE
SESSION
システム権限を付与します。
GRANT CREATE SESSION TO hr, newuser IDENTIFIED BY password1, password2;
ロールへのシステム権限の付与: 例
次の文は、データ・ウェアハウス管理者ロール(「ロールの作成: 例」で作成)に、適切なシステム権限を付与します。
GRANT CREATE ANY MATERIALIZED VIEW , ALTER ANY MATERIALIZED VIEW , DROP ANY MATERIALIZED VIEW , QUERY REWRITE , GLOBAL QUERY REWRITE TO dw_manager WITH ADMIN OPTION;
dw_manager
の権限ドメインには、マテリアライズド・ビューに関連するシステム権限が含まれます。
ADMIN OPTION付きロールの付与: 例
次の文は、ADMIN
OPTION
付きのdw_manager
ロールをサンプル・ユーザーsh
に付与します。
GRANT dw_manager TO sh WITH ADMIN OPTION;
dw_manager
ロールによって、sh
は次の操作を実行できます。
-
ロールを使用可能にして、
CREATE
MATERIALIZED
VIEW
システム権限を含むそのロールの権限ドメインに登録されている権限の使用 -
他のユーザーに対するそのロールの付与および取消し
-
ロールの削除
-
sh
スキーマ内のプログラム・ユニットのdw_manager
ロールを付与および取り消します。
DELEGATE OPTION付きロールの付与: 例
次の文は、DELEGATE
OPTION
付きのdw_manager
ロールをサンプル・ユーザーsh
に付与します。
GRANT dw_manager TO sh WITH DELEGATE OPTION;
ユーザーsh
は、sh
スキーマ内のプログラム・ユニットのdw_manager
ロールを付与および取り消すことができます。
ロールへのオブジェクト権限の付与: 例
次の例では、データ・ウェアハウス・ユーザー・ロール(「ロールの作成: 例」で作成)に、SELECT
オブジェクト権限を付与します。
GRANT SELECT ON sh.sales TO warehouse_user;
ロールへのロールの付与: 例
次の文は、warehouse_user
ロールをdw_manager
ロールに付与します。どちらのロールも、「ロールの作成: 例」で作成されたものです。
GRANT warehouse_user TO dw_manager;
dw_manager
ロールには、warehouse_user
ロールのドメインにあるすべての権限が含まれます。
ユーザーに対するオブジェクト権限の付与: 例
次の文は、ユーザーsh
に対するINHERIT
PRIVILEGES
オブジェクト権限をユーザーhr
に付与します。
GRANT INHERIT PRIVILEGES ON USER sh TO hr;
ディレクトリに対するオブジェクト権限の付与: 例
次の文は、ユーザーhr
にディレクトリbfile_dir
に対するREAD
権限をGRANT
OPTION
付きで付与します。
GRANT READ ON DIRECTORY bfile_dir TO hr WITH GRANT OPTION;
表に対するオブジェクト権限のユーザーへの付与: 例
次の文は、GRANT
OPTION
を使用して表oe.bonuses
(「表へのマージ: 例」で作成)に対するすべての権限をユーザーhr
に付与します。
GRANT ALL ON bonuses TO hr WITH GRANT OPTION;
この結果、hr
ユーザーは次の操作を実行できます。
-
bonuses
表に対するすべての権限の使用 -
他のユーザーまたはロールに対する、
bonuses
表についての権限の付与
ビューに対するオブジェクト権限の付与: 例
次の文は、ビューemp_view
(「ビューの作成: 例」で作成)に対するSELECT
とUPDATE
の権限をすべてのユーザーに付与します。
GRANT SELECT, UPDATE ON emp_view TO PUBLIC;
この結果、すべてのユーザーが、従業員の詳細についてのビューを問合せおよび更新できるようになります。
別のスキーマの順序へのオブジェクト権限の付与: 例
次の文は、スキーマoe
内のcustomers_seq
順序に対するSELECT
権限をユーザーhr
に付与します。
GRANT SELECT ON oe.customers_seq TO hr;
ユーザーhr
は、次の文を指定して、順序の次の値を作成できるようになります。
SELECT oe.customers_seq.NEXTVAL FROM DUAL;
別々の列に対する複数のオブジェクト権限の付与: 例
次の文は、ユーザーoe
に、スキーマhr
のemployees
表のemployee_id
列に対するREFERENCES
権限と、employee_id
列、salary
列およびcommission_pct
列に対するUPDATE
権限を付与します。
GRANT REFERENCES (employee_id), UPDATE (employee_id, salary, commission_pct) ON hr.employees TO oe;
この結果、ユーザーoe
は、employee_id
列、salary
列およびcommission_pct
列の値を更新できるようになります。ユーザーoe
は、employee_id
列を参照する参照整合性制約を定義することもできます。ただし、GRANT
文にはこれらの列のみが指定されているため、ユーザーoe
はemployees
表の他の列を操作できません。
たとえば、oe
は制約付きの表を作成できます。
CREATE TABLE dependent (dependno NUMBER, dependname VARCHAR2(10), employee NUMBER CONSTRAINT in_emp REFERENCES hr.employees(employee_id) );
スキーマhr
内のemployees
表の従業員に対応するdependent
表の依存性が、制約in_emp
によって保証されます。