サーチ…


前書き

Oracle Real Application SecurityはOracle 12cで導入されました。ユーザーロールモデル、アクセス制御、アプリケーションとデータベース、エンドユーザーセキュリティ、行と列レベルのセキュリティのような多くのセキュリティトピックを要約しています

応用

アプリケーションをデータベース内の何かに関連付けるには、3つの主要な部分があります。

アプリケーション特権:アプリケーション特権は、 SELECTINSERTUPDATEDELETEなどの特権を表します。アプリケーション特権は、集約特権として要約することができます。

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