Oracle EBS Role-Based Access Control(RBAC)入門

 

ページ内目次

 RBAC
 ロール作成
 ロール継承
 ロール取消
 プロキシユーザー


🎯 Role-Based Access Control(RBAC)

Oracle EBS R12で導入された「Role-Based Access Control(RBAC)」について、以下のことを理解する:

  • 旧来の「責任(Responsibility)」ベースのアクセス制御と比べて、何が改善されたのか?

  • RBACの使い始め方(初期設定)

  • なぜ「User Management」責任だけでは足りないのか?


📘 ポイント①:Role-Based Access Controlとは?

Oracle EBS R12から導入された新しいアクセス管理方法です。

🔑 従来:Responsibilityベース(責任)

  • ユーザーに「責任(Responsibility)」を割り当てることでアクセス制御

  • 誰がいつどの権限を持っていたか追跡(トレーサビリティ)が困難

🆕 R12以降:ロールベース(Role-Based)

  • ユーザーに「ロール」を割り当てて管理

  • いつ誰に何のロールを付与したか記録されるため、監査(Audit)対応に強い

  • クラウド版のOracleとも似ているため、将来の移行にも有利


📍 ポイント②:RBACの準備に必要な手順

RBACを使うには、単に「User Management」という責任を付けただけでは不十分です。以下のステップが必要です。

✅ ステップ1:User Management責任をユーザーに付与

  • System Administrator責任にログイン

  • Security > User > Define から対象ユーザーに User Management 責任を割り当て

  • 一旦ログアウト&再ログイン(反映に時間がかかる場合あり)

💬 しかし…これだけでは User Managementの画面は何も表示されない!


⚠️ ポイント③:「ロールの付与」が必要!

User Management責任を持っていても、ロールを付与されていなければ操作できない!

そのためには:

  • すでに権限を持っているユーザー(たとえば SYSADMIN」でログインし、

  • 自分のユーザーに「Security Administrator」というロールを付与する必要があります。


🔑 Security Administratorロールとは?

項目説明
ロール名Security Administrator
権限- 他ユーザーへのロール付与・削除
    - ゲストアカウント管理
    - 全体的なユーザー管理
特徴監査用に記録される
   ✅ 有効期間・理由も記録可能

📝 つまり「このロールを持っている人」しか、本格的にRBAC機能を操作できません。


🧭 実際の手順まとめ

  1. System Administratorユーザーでログイン

  2. 「User Management」責任を対象ユーザーに付与

  3. 再ログインしても機能が見えない(←仕様)

  4. User Management責任から、対象ユーザーに Security Administrator ロールを付与

  5. ロールの割り当て時に:

    • 理由(Justification) を記入(必須)

    • 開始日・終了日を設定(空白にすれば無期限)

✏️ 保存または「Apply」で完了。


👀 Security Administratorロールを付与後の画面の変化

再度ログインすると、User Management責任に以下の機能が表示されるようになります:

メニュー名
Users
Roles
Role Inheritance
Role Categories
Registration Process
Security Report
Proxy Configuration
Responsibility

→ つまり ようやく「ロールの管理」が可能になる!


📌 補足:User ManagementとSystem Administratorの違い

機能System AdministratorUser Management(+ロール)
ユーザー検索・作成
ロールの付与・削除×〇(要ロール)
監査(いつ誰が何をしたか)×(不明)〇(記録される)
クラウドとの互換性高(将来を見据えて有利)

まとめ

学んだこと
✅ R12以降、EBSにRole-Based Access Controlが導入された
✅ User Management責任だけでは不十分。ロール付与も必要
✅ 「Security Administrator」ロールで初めてRBAC機能が使えるようになる
✅ すべての操作が記録され、監査に強く、クラウドと親和性が高い


🛠️ ロールの作成方法


✅ 事前条件(前提)

まず以下の状態であることを確認してください:

  • 自分のユーザーに「User Management」責任がある

  • かつ「Security Administrator」ロールが割り当てられている


📍 手順①:User Management責任にログイン

ログイン後、ナビゲーションメニューに以下が見えるはずです:

User Management > Roles & Role Inheritance > Roles

これが見えない場合は、Security Administratorロールが付与されていない可能性があります。


🧱 手順②:新しいロールの作成

  1. [Roles] をクリック

  2. 画面右上の 「Create」ボタン を押す


✍️ 手順③:ロールの基本情報を入力

以下の情報を入力します:

フィールド内容
Role Name任意のロール名(例:XX_PAYROLL_VIEW_ONLY
Role Codeシステム内部で使うコード(通常は大文字+_)
Description説明文(何のためのロールか)
Category適切なカテゴリを選ぶ(例:Miscellaneousなど)
Active From / To有効期間(通常は開始日のみでOK)

➡️ 入力後、**「Next」**をクリック


🧩 手順④:ロールに「アクセス権限」を関連付ける

この画面では、以下を割り当てることができます:

セクション説明
Responsibilities従来の「責任」ベースで特定のResponsibilityを割り当てたい場合
Menusメニュー単位でアクセス制御したい場合
Functionsより細かい単位(特定機能)で制御したい場合

💡例:XX_PAYROLL_VIEW_ONLY というロールには「給与明細参照のみ」できる機能だけを割り当てたい場合、該当の Function や Menu を選ぶ。

➡️ 必要な項目を選んだら 「Next」


🧬 手順⑤:ロールの継承(Role Inheritance)設定(任意)

これは「他のロールをこのロールに含める」ことができる機能です。

  • 例:
     HR_MANAGERロールに、HR_VIEWERロールを継承させる
     → HR_MANAGERを持つ人は、HR_VIEWERの権限も自動で持つ

📝 ここでは設定せず「Skip」してもOK。


💾 手順⑥:ロールの確認と保存

最後の画面で内容を確認し、問題なければ:

  • 「Finish」 ボタンを押して作成完了!

作成したロールは、User Management > Roles からいつでも検索・編集できます。


📎 ロール作成後の次のステップ

ロールをユーザーに割り当てるには:

  1. User Management > Users

  2. 対象のユーザーを検索

  3. 「Update」ボタンを押す

  4. 「Assign Roles」から、作成したロールを割り当てる

  5. Justification(理由)・有効期間を記入し、「Apply」で完了


🔍 まとめ

ステップ説明
User Management責任にログイン
[Roles] 画面から「Create」ボタン押下
ロール名や説明を入力
Responsibilities / Menus / Functionsを関連付ける
必要なら他のロールを継承させる
完了して保存

📝 補足:命名規則のベストプラクティス

  • カスタムロールには XX_ZZ_ を頭につける(Oracle標準と区別)

  • 説明文には「このロールは何を目的としているか」を明記

  • 無効化したいロールは「Active To」を設定して期限管理する


🎓 ロール継承

Oracle EBS R12 User Management


🔰 目的

このレッスンの目的は、**「ロール継承」**の仕組みを理解することです。
最もシンプルな例を通じて説明されており、最終的には「ロールの中にロールを含めることで、権限がどう継承されるのか」が理解できるようになります。


🧱 ロールの作成手順(復習)

前回のレッスンで作成したロール:

  • R12_Training_Student_Role_One
     → 基本的なトレーニング受講者向けロール

今回新しく作成するロール:

  • R12_Training_Advanced_Student_Role
     → 上級トレーニング受講者用ロール


🆕 新しいロールの作成手順(Advanced Student Role)

  1. User Management責任から「Roles」画面にアクセス

  2. 「Create」ボタンを押して新しいロールを作成

入力した情報(一例):

項目名入力内容
Role NameR12 Training Advanced Student Role
Role CodeR12_TRAINING_ADVANCED_STUDENT
Display NameR12 Training Advanced Student
DescriptionEBS上級トレーニングを受講している学生専用のロール
ApplicationReceivables(任意)
CategoryMiscellaneous
Active From/To開始日を指定(Toは任意)

※ ここでは「Receivables」アプリケーションを選んでいますが、どの責任を割り当てられるかには影響しません


📚 このロールに割り当てる責任(Responsibilities)

上級ユーザーには以下の責任を割り当てました:

  • Assets Super User

  • General Ledger Super User

  • Intercompany Super User

これらをロールに追加する方法は:

  1. 「View Hierarchy(階層表示)」をクリック

  2. 「+(Add Node)」でノードを追加し、該当の責任を選択して追加


🔁 ロール継承の設定(ロールの中にロールを含める)

この時点で、上級ロール(Advanced)には3つの責任が入っていますが、それに加えて 前回作成した「基本トレーニングロール」 も継承させます。

手順:

  1. R12_Training_Advanced_Student_Role に対して「Add Role」機能を使い、
     R12_Training_Student_Role_One を追加

  2. これにより、下記のような構造になります:

R12_Training_Advanced_Student_Role
├─ Assets Super User ├─ General Ledger Super User ├─ Intercompany Super User └─ R12_Training_Student_Role_One ├─ Inventory ├─ Payables └─ Receivables

🧪 ユーザーにロールを割り当てて動作確認

  • 新規ユーザー(例:User#3)を作成

  • R12_Training_Advanced_Student_Role を割り当てる

  • → 自動的にすべての責任がユーザーに付与される(継承によってまとめて付与

表示例:

責任名継承元ロール
IntercompanyAdvanced
AssetsAdvanced
General LedgerAdvanced
InventoryStudent
PayablesStudent
ReceivablesStudent

これにより、1つのロールを割り当てるだけで複数の権限を付与できることが分かります。


💡 実際の業務での応用例

  • **ジュニアアナリスト(新入社員)**には Junior Analyst Role を割り当て(例:APのみ)

  • シニアアナリストになると、Senior Analyst Role を新たに割り当て
     → そこに Junior Analyst Role を含めておくことで、前の権限も保持しつつ追加権限を付与

このようにして、社員の成長に合わせてアクセス権限を拡張していくことができます。


🔁 ワークフローと注意点

  • ロールを作成・変更後は Workflow Background Process を実行して、システムに反映させる必要があります。

  • ロールを**削除(revoke)**する場合は、「親ロール(上位ロール)」側から削除しないと、継承された責任が残る可能性があります。


🧭 まとめ:ロール継承のメリット

ポイント説明
🔄 柔軟性ロールの中にロールを含めることで階層的な管理が可能
📦 再利用性同じ権限セットを別のロールに再利用できる
👨‍💼 成長対応ユーザーのキャリアアップに応じてロールを拡張しやすい
🧹 管理の簡素化責任の一元管理が可能で、付け忘れ・外し忘れを防止


📕 ロールの取り消しと再付与(Oracle EBS)

Oracle EBS で、あるユーザーからロール(役割)を取り消す(revoke)方法と、別のロールを再び割り当てる(reassign)方法を学びます。

🧍‍♂️ 登場人物と背景:

前回、「Kawae ユーザー番号3(例:user3)」に「Advanced Student Role(上級学生ロール)」を割り当てました。
ところが、実はこの人は上級ではなく初級レベルのユーザーだったことが分かりました。
そのため、ロールを取り消し、代わりに初級ロールを付け直す必要があります。


❌ ロールを取り消す手順(Revoke)

  1. 「ユーザーに割り当てられているロール」の画面を開きます。

  2. ユーザー3に割り当てた「Advanced Student Role」を探します。

  3. 「Active To(有効期限)」の日付に今日の日付を設定します。

    • ⚠ 過去の日付は指定できません。

    • 例:「2025年8月4日」など。

  4. 保存(💾)すると、そのロールは無効になります。

    • この操作により、そのロール経由で付与されていたすべての責任(Responsibility)も取り消されます。


🔁 注意点:変更を有効にするには?

ロールの変更(追加・削除)を行った後は、「Workflow Background Process(ワークフローのバックグラウンド処理)」必ず実行してください。

  1. Oracle メインメニューから:

    • Request(リクエスト) > Submit a New Request

    • Workflow Background Process を選択し実行。

  2. 完了後、該当ユーザーで再ログインすると反映されます。


🔄 ロールの再付与(Reassign)

  1. ユーザー3は「上級」ではなかったため、「Student Role 1(初級ロール)」を代わりに割り当てます。

  2. 再度「ユーザーにロールを割り当てる」画面で:

    • R12_Training_Student_Role_1 を選択。

    • 「Justification(理由)」も入力して保存。

  3. 再度、Workflow Background Process を実行。


🧾 結果の確認:

  • ユーザー3で再ログインすると、次のような責任が付与されています:

    • Inventory(在庫)

    • Payables(買掛金)

    • Receivables(売掛金)

✅ つまり、以前の「Advanced Role(上級ロール)」で付与されていた AssetsGL(総勘定元帳) などはもう使えず、初級ロールに含まれる責任だけが残るというわけです。


💡 補足:なぜロールベース制御が便利なの?

  • 従来は、1つ1つの責任(Responsibility)をユーザーに個別で割り当てていました。

  • ロールを使えば:

    • 複数の責任をまとめてユーザーに与えたり

    • 一度に削除したり

    • 権限の階層構造(上級ロールが初級ロールを内包)を作ることができます。

👨‍💼 これにより、管理者はより柔軟かつ効率的にユーザー権限を制御できます。


✅まとめ

操作方法
ロールの取り消し「Active To」 に日付を設定して保存
変更の反映「Workflow Background Process」を実行
ロールの再付与ユーザー画面からロールを追加し、再度 Workflow を実行
効果の確認ユーザーで再ログインして Navigator(ナビゲータ)を確認

🕵️‍♂️ プロキシユーザーとは?

プロキシユーザーとは、他のユーザーが一時的に自分の役割(責任・操作権限)を代理で行えるようにする機能です。
たとえば、マネージャーが休暇に入る前に、信頼できるシニアアナリストに自分の業務を代行してもらうときなどに使います。


⚠️ パスワード共有の代替手段として重要

EBS R12以前は「パスワード共有」で対応していたケースもありました。しかし現在では多くの企業が**シングルサインオン(SSO)**を使っており、
1つのパスワードでPCログイン、給与明細閲覧などすべてにアクセスできるため、パスワードを共有するのは非常に危険です。

プロキシユーザー機能を使えば、安全に他人に自分の役割を一時的に与えることができます。


👨‍🏫 プロキシユーザーの設定方法

① ログインして「Manage Proxies」に移動

  1. 対象のユーザー(例:Chu)でログイン

  2. 右上の歯車アイコンをクリック → Manage Proxies を選択

  3. 「Add Proxy」で代理人を追加

② 代理人の情報を入力

  • 代理人ユーザー名(例:Kawae No.3)

  • 開始日・終了日(例:4月17日~月末)

  • 付与するアクセスの種類

    • Responsibility Access(責任範囲)

    • Worklist Access(ワークフロー項目)

→ 入力後、Submit(保存)

🔸補足:終了日を必ず設定しましょう!期限なしにすると、永続的に代理アクセスが可能になります。


🔄 変更反映のために必要な作業

設定後は、必ず Workflow Background Process(ワークフローバックグラウンド処理) を実行して、設定をシステムに反映させましょう。


👥 プロキシユーザーの操作画面

代理人がログイン(例:Kawae No.3)すると、右上に「2人のアイコン」のようなものが表示されます。

  • このアイコンから「Switch」すると、元のユーザー(Chu)として操作できるようになります。

  • 画面右上に「Proxy for Chu(Chuの代理として)」と表示され、現在代理中であることが分かります。


🔧 代理ユーザーとして可能な操作

代理アクセス中は、元ユーザーが持つすべての権限・機能にアクセスできます。
たとえば、他のユーザーに責任(Responsibility)を付与したり、レポートを実行することも可能です。

✅ ただし、その操作は「誰の代理で行われたか」もシステム上で記録されます。


📝 利用上の注意

  • 代理人にはすべての権限が委任されるため、利用者のモラルがとても重要です。

  • 推奨運用:

    • プロキシ機能の使用は一部のマネージャーのみに制限すべきです。

    • 一般ユーザーが自由に代理設定をすると、運用が混乱しがちです。


🔐 監査対応にも有効

例えば、短期間だけ監査担当者にEBSを使わせたいときは:

  1. 監査用の専用ユーザーを作成

  2. 必要なユーザーから一時的にプロキシアクセスを付与

  3. 終了後にプロキシ設定を削除 or 期限切れで自動終了

→ これにより、安全かつ柔軟なアクセス管理が可能になります。


✅ まとめ

内容説明
Proxy User の意味他人に一時的に自分の責任・操作権限を与えること
設定方法歯車アイコン → Manage Proxies → Add Proxy
ワークフローの反映Workflow Background Process の実行が必要
利用上の注意必ず終了日を設定、安易な共有は避ける
代理アクセス中の操作元ユーザーと同等の機能が利用可能
監査や代行対応のユースケース一時的なアクセスが必要な場面に有効


前の記事:Oracle EBS Flexfield

次の記事:Oracle EBS 組織構造