『Oracle Database Real Application Security管理者および開発者ガイド』のこのリリースでの変更点
Oracle Database 12cリリース2 (12.2.0.1)での変更点
新機能
このリリースの新機能は次のとおりです。
-
Real Application Securityに権限の有効範囲指定が追加されました
Oracle Database 12cリリース2 (12.2)では、Real Application Securityモデルが拡張され、ネイティブReal Application Securityアプリケーション・ユーザーとしてのプリンシパルに、セッション管理権限を付与するために設定されたACLを使用して、プリンシパルごとにセッション権限を付与できるようになりました。また、Oracle Database 12cリリース2 (12.2)では、Real Application Securityモデルが拡張され、動的ロールとしてのプリンシパルに、
SET_DYNAMIC_ROLES
のみを付与するために設定されたACLを使用して、プリンシパルごとにセッション権限を付与できるようになりました。プリンシパル固有のACL権限付与は、システムレベル・セッション権限付与より優先されます。これにより、プリンシパル固有ACLで付与の拒否を設定できます。ACLを使用することで、動的ロールとネイティブ・アプリケーション・ユーザーのグループに権限付与の共通セットを強制できます。この機能により、次の新規APIが提供されます。-
SET_ACLプロシージャ - 指定されたアプリケーション・ユーザーまたは動的ロールにACLを設定します。
この機能では、acl
パラメータの追加によって次のAPIが拡張されました。この機能では、ユーザーまたは動的ロール、あるいはその両方に設定されたACLを表示することによって、次のビューが拡張されました。この機能では
SET_DYNAMIC_ROLES
権限が追加されました。これはSESSION_SC
セキュリティ・クラスで定義され、セッションの連結操作およびユーザー割当て操作での動的ロールの有効化および無効化を保護するための権限です。詳細は、SET_ACLプロシージャ、CREATE_USERプロシージャ、CREATE_DYNAMIC_ROLEプロシージャ、DBA_XS_USERS、DBA_XS_DYNAMIC_ROLES、およびセキュリティ・クラスの
SESSION_SC
を参照してください。詳細は、ACLによって有効範囲が指定されたReal Application Securityセッション権限についてを参照してください。
-
-
Real Application Securityでは、DML文に対する列レベルのアクセス制御がサポートされます。これにより、ユーザーは付与された列レベルの権限に基づいて、特定の列値を挿入、更新および削除できます。
Oracle Database 12cリリース2 (12.2)以降、必要な権限を持つユーザーはデータ・セキュリティ列に対してDMLを実行できます。これは次のことを意味します。-
行値を更新するには、認可されたユーザーが行レベルの
UPDATE
権限と、更新する保護列に対する列権限の両方を持っている必要があります。 -
行を挿入するには、認可されたユーザーが行レベルの
INSERT
権限と、各保護列に対する列権限の両方を持っている必要があります。INSERT
文によって保護列に値が挿入されない場合、列権限は必要なく、デフォルト値(デフォルト値がない場合はNULL
)が挿入されます。 -
行を削除する場合、認可されたユーザーには行レベルの
DELETE
権限のみが必要です。列権限は必要ありません。 -
行レベルのデータ・セキュリティと列レベル・セキュリティを使用すると、データはDMLに開示されません。
RETURNING INTO
が含まれるかパラメータ -sql92_security
が有効化されているDML文で、RETURNING INTO
句内に列が含まれている場合は、行レベルSELECT
権限と列権限の両方が必要です。
-
-
Real Application Securityスキーマ・レベルのセキュリティ・ポリシー管理がサポートされるようになりました。
この機能により、次のAPIの機能が拡張されます。-
GRANT_SYSTEM_PRIVILEGEプロシージャに
schema
パラメータが追加されました。 -
REVOKE_SYSTEM_PRIVILEGEプロシージャに
schema
パラメータが追加されました。
この機能によって、ポリシー管理において
ADMIN_SEC_POLICY
権限をスキーマに対して使用できるようになりました。詳細は、XS_ACLパッケージ、XS_DATA_SECURITYパッケージおよびXS_SECURITY_CLASSパッケージを参照してください。
この機能では、権限付与されたスキーマ内でポリシーを強制し、アプリケーション内のポリシー強制を実施するための
APPLY_SEC_POLICY
権限が追加されました。ポリシーの強制前に、次のAPIで
APPLY_SEC_POLICY
権限がチェックされます: APPLY_OBJECT_POLICYプロシージャ、REMOVE_OBJECT_POLICYプロシージャ、ENABLE_OBJECT_POLICYプロシージャ、DISABLE_OBJECT_POLICYプロシージャ。この機能により、2つの監査アクションが追加されます。-
—AUDIT_GRANT_PRIVILEGE
GRANT_SYSTEM_PRIVILEGE
APIの監査用 -
—AUDIT_REVOKE_PRIVILEGE
REVOKE_SYSTEM_PRIVILEGE
APIの監査用
この機能により、次のビューが追加されます。ALL_XS_SECURITY_CLASSES、ALL_XS_SECURITY_CLASS_DEP、ALL_XS_PRIVILEGES、ALL_XS_IMPLIED_PRIVILEGES、ALL_XS_ACLS、ALL_XS_ACES、ALL_XS_POLICIES、ALL_XS_REALM_CONSTRAINTS、ALL_XS_INHERITED_REALMS、ALL_XS_ACL_PARAMETERS、ALL_XS_COLUMN_CONSTRAINTS、ALL_XS_APPLIED_POLICIES、DBA_XS_PRIVILEGE_GRANTS。
詳細は、スキーマ・レベルのReal Application Securityポリシー管理についてを参照してください。
-
-
Oracle Database Real Application SecurityのためのOracle Label Securityのサポート
Oracle Databaseの
SA_USER_ADMIN.SET_USER_LABELS
プロシージャおよびSA_USER_ADMIN.SET_USER_PRIVS
プロシージャのuser_name
パラメータでは、Oracle Database Real Application Securityユーザー名を使用できます。詳細は、Oracle Label Security管理者ガイドの
SA_USER_ADMIN.SET_USER_LABELS
プロシージャに関する項、およびOracle Label Security管理者ガイドのSA_USER_ADMIN.SET_USER_PRIVS
プロシージャに関する項を参照してください。Real Application Securityユーザーに割り当てられたラベル権限またはOracle Label Security権限は、Real Application Securityユーザー・セッションで強制されます。Real Application Securityセッション操作(
ATTACH_SESSION
、SWITCH_USER
、ASSIGN_USER
)およびReal Application Security直接ログイン・セッションによって、Oracle Label Securityコンテキストが確立されます。現在のReal Application Securityセッションが持つラベルまたは権限あるいはその両方に基づいて、Oracle Label Securityポリシーが強制されます。詳細は、従来のデータベース・セッションへのアプリケーション・セッションの連結、匿名アプリケーション・セッションへのアプリケーション・ユーザーの割当て、現在のアプリケーション・セッションの別のアプリケーション・ユーザーへの現在のアプリケーション・ユーザーの切替え、およびOracle Label Securityコンテキストの直接ログイン・セッションでの確立を参照してください。
- 事前定義済アプリケーション・ロール
XSCONNECT
このロールが付与されたユーザーがデータベースに接続することを許可します。言い換えると、この事前定義済ロールが付与されていないユーザーはデータベースに接続できません。
詳細は、標準アプリケーション・ロール、GRANT_ROLESプロシージャおよび直接ログイン・アプリケーション・ユーザー・アカウントの作成についてを参照してください。
非推奨となった機能
次の機能は非推奨になったため、今後のリリースではサポートされません。
-
CREATE_USER
プロシージャパラメータ
STATUS
の値PASSWORDEXPIRED
およびLOCKED
は非推奨です。詳細は、CREATE_USERプロシージャを参照してください。
-
SET_USER_STATUS
プロシージャPASSWORDEXPIRED
ステータス値は非推奨です。詳細は、SET_USER_STATUSプロシージャを参照してください。
-
SET_PASSWORD
プロシージャパスワード・タイプ
XS_MD4
およびXS_O3LOGON
は非推奨です。詳細は、SET_PASSWORDプロシージャを参照してください。
-
SET_VERIFIER
プロシージャ検証機能タイプ
XS_SALTED_MD5
、XS_SHA1
、XS_SASL_MD5
、XS_MD5
、XS_MD4
およびXS_O3LOGON
は非推奨です。詳細は、SET_VERIFIERプロシージャを参照してください。