Oracle Database
リアルアプリケーションセキュリティ
サーチ…
前書き
Oracle Real Application SecurityはOracle 12cで導入されました。ユーザーロールモデル、アクセス制御、アプリケーションとデータベース、エンドユーザーセキュリティ、行と列レベルのセキュリティのような多くのセキュリティトピックを要約しています
応用
アプリケーションをデータベース内の何かに関連付けるには、3つの主要な部分があります。
アプリケーション特権:アプリケーション特権は、 SELECT
、 INSERT
、 UPDATE
、 DELETE
などの特権を表します。アプリケーション特権は、集約特権として要約することができます。
XS$PRIVILEGE(
name=>'privilege_name'
[, implied_priv_list=>XS$NAME_LIST('"SELECT"', '"INSERT"', '"UPDATE"', '"DELETE"')]
)
XS$PRIVILEGE_LIST(
XS$PRIVILEGE(...),
XS$PRIVILEGE(...),
...
);
アプリケーションユーザ:
シンプルなアプリケーションユーザー:
BEGIN
SYS.XS_PRINCIPAL.CREATE_USER('user_name');
END;
ダイレクトログインアプリケーションユーザ:
BEGIN
SYS.XS_PRINCIPAL.CREATE_USER(name => 'user_name', schema => 'schema_name');
END;
BEGIN
SYS.XS_PRINCIPAL.SET_PASSWORD('user_name', 'password');
END;
CREATE PROFILE prof LIMIT
PASSWORD_REUSE_TIME 1/4440
PASSWORD_REUSE_MAX 3
PASSWORD_VERIFY_FUNCTION Verify_Pass;
BEGIN
SYS.XS_PRINCIPAL.SET_PROFILE('user_name', 'prof');
END;
BEGIN
SYS.XS_PRINCIPAL.GRANT_ROLES('user_name', 'XSONNCENT');
END;
(オプション:
BEGIN
SYS.XS_PRINCIPAL.SET_VERIFIER('user_name', '6DFF060084ECE67F', XS_PRINCIPAL.XS_SHA512“);
END;
アプリケーションロール:
通常のアプリケーションの役割:
DECLARE
st_date TIMESTAMP WITH TIME ZONE;
ed_date TIMESTAMP WITH TIME ZONE;
BEGIN
st_date := SYSTIMESTAMP;
ed_date := TO_TIMESTAMP_TZ('2013-06-18 11:00:00 -5:00','YYYY-MM-DD HH:MI:SS');
SYS.XS_PRINCIPAL.CREATE_ROLE
(name => 'app_regular_role',
enabled => TRUE,
start_date => st_date,
end_date => ed_date);
END;
動的アプリケーション役割:(自動化状態に基づいて動的に有効になる)
BEGIN
SYS.XS_PRINCIPAL.CREATE_DYNAMIC_ROLE
(name => 'app_dynamic_role',
duration => 40,
scope => XS_PRINCIPAL.SESSION_SCOPE);
END;
定義済みのアプリケーションロール:
レギュラー:
-
XSPUBLIC
-
XSBYPASS
-
XSSESSIONADMIN
-
XSNAMESPACEADMIN
-
XSPROVISIONER
-
XSCACHEADMIN
-
XSDISPATCHER
動的:(アプリケーションユーザの認証状態に依存する)
-
DBMS_AUTH
:(直接ログオンまたはその他のデータベース認証方法) -
EXTERNAL_DBMS_AUTH
:(直接ログオンまたは他のデータベース認証方法およびユーザーは外部です) -
DBMS_PASSWD
:(パスワード付きダイレクトログオン) -
MIDTIER_AUTH
:(中間層アプリケーションによる認証) -
XSAUTHENTICATED
:(直接または中間層アプリケーション) -
XSSWITCH
:(ユーザーがプロキシユーザーからアプリケーションユーザーに切り替えた)
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow