はじめに
Oracle Database 23aiでは、Oracleが考えるデータベース開発者に必要なロールと権限を、新しいDB_DEVELOPER_ROLEロールとして提供されました。CONNECTロールとRESOURCEロールと比較してみました。
DB_DEVELOPER_ROLEロールは、通常の方法で付与および取り消しできます。
grant db_developer_role to testuser1;
revoke db_developer_role from testuser1;
システム権限
CONNECTロール | RESOURCEロール | DB_DEVELOPER_ROLEロール |
---|---|---|
CREATE SESSION SET CONTAINER |
CREATE ANALYTIC VIEW CREATE ATTRIBUTE DIMENSION CREATE CLUSTER CREATE HIERARCHY CREATE INDEXTYPE CREATE MATERIALIZED VIEW CREATE OPERATOR CREATE PROCEDURE CREATE PROPERTY GRAPH CREATE SEQUENCE CREATE SYNONYM CREATE TABLE CREATE TRIGGER CREATE TYPE CREATE VIEW |
CREATE CUBE CREATE CUBE BUILD PROCESS CREATE CUBE DIMENSION CREATE DIMENSION CREATE DOMAIN CREATE JOB CREATE MINING MODEL CREATE MLE CREATE SESSION DEBUG CONNECT SESSION EXECUTE DYNAMIC MLE FORCE TRANSACTION ON COMMIT REFRESH |
ロール
CONNECTロール | RESOURCEロール | DB_DEVELOPER_ROLEロール |
---|---|---|
なし | SODA_APP | CTXAPP RESOURCE |
オブジェクト権限
CONNECTロール | RESOURCEロール |
---|---|
なし | なし |
DB_DEVELOPER_ROLEロール
権限 | オブジェクト |
---|---|
EXECUTE | DBMS_REDACT |
EXECUTE | DBMS_RLS |
EXECUTE | DBMS_TSDP_MANAGE |
EXECUTE | DBMS_TSDP_PROTECT |
EXECUTE | JAVASCRIPT |
READ | V_$PARAMETER |
READ | V_$STATNAME |
SELECT | DBA_PENDING_TRANSACTIONS |
おわりに
ユーザーに権限を付与する場合は「最小権限」アプローチを使用することをお薦めします。セキュリティの観点からは、ユーザーの権限が少ないほど、攻撃対象領域が小さくなります。
DB_DEVELOPER_ROLEロールにはCONNECTロールとRESOURCEロールを組み合せた権限より多くの権限があります。利用が適切かどうかを判断して利用しましょう。