>> 連載トップページに戻る

 


~オラクルコンサルタントの Big 3(大竹、大野、大木)が語る~
データベース運用における Oracle Enterprise Manager 徹底活用への道
第6回 オラクル・コンサルタントが語る、EMユーザの権限分掌について


[著者紹介]
日本オラクル株式会社
コンサルティングサービス事業統括
クラウド・テクノロジーコンサルティング事業本部
大竹 ブライアン(おおたけ ブライアン)

日本オラクルに新卒で入社。以来主にOracle Databaseの運用・設計・移行に関わる業務に携わってきた。
Oracle Enterprise Manager(EM)と出会ってから早5年。
その素晴らしさと使いやすさを広く世に普及するため、日々EMと戯れている。


本記事では、Oracle Enterprise Manager Cloud Control (以下、EMCC) におけるユーザの権限分掌について説明します。

なお、本記事で取り扱う EMCC の画面例やマニュアルの参照情報は、特に断りがない限り Oracle Enterprise Manager Cloud Control 13c Release 2 を対象とします。また、監視対象やリポジトリとして使用するOracle Database は 12c Release 1 を対象とします。

1. EMの権限分掌の必要性について

過去の記事からもEMCCには数多くの機能があり、データベース(以下、DB)の管理者にとって非常に便利なものだと理解頂けたかと思います。しかし、EMCCを活用したいというニーズはDB管理者だけでなく、アプリケーション担当者など他ユーザにもあると想定できます。複数のユーザがEMCCを使用する場合に注意すべきなのは、それぞれにどういう権限をするべきか、という点です。権限分掌が正しく設定されていない場合、EMCCだけでなく、管理している全てのターゲットに対して想定外の影響が発生する可能性も考えられます。

権限分掌を行わず、1つのEMユーザ(例:SYSMAN)を複数の担当者(EM管理者、DB管理者、アプリケーション担当者)で共有すると、どういうことが考えられるでしょうか。

EM管理者には閲覧する必要の無いDBの画面が表示でき、DB管理者にはEMCC全体を管理するための権限が不要に割り当てられ、アプリケーション担当者には担当外のDBをEMCC上で閲覧する権限が付与されます。(DBとEMCCのログインユーザは異なるため、EMCC上として強力な権限が付与されていた場合でもDBに対してのログインはできません。) この様な状況では、セキュリテイ・インシデントが発生した場合に、EMCCのユーザを共有しているがために、誰が不正な操作を実施したのかを把握することができません。


図1:EMCCにおけるユーザ権限分掌

EMCCユーザの権限分掌を実現するための機能として、「Flexible Database Access Control」(以下、FDAC) を使用します。この機能を用いることで各ユーザが閲覧できるEMCC画面を制限することができ、ユーザによる不要な操作を未然に防止することが可能となります。※ ただし、この機能はEMCCユーザの権限分掌を補助するためのものであるため、各ターゲット(DBなど)の権限についてはそれぞれのレイヤで別途検討・実装する必要があります。

2. どのような権限が設定できるのか

Flexible Database Access ControlではEMCCの画面単位で権限が細分化されており、利用ユーザのニーズに合わせて自由にカスタマイズすることができます。FDACを利用することで、EM管理者、DB管理者、アプリケーション担当者とそれぞれ用途が異なるユーザに対してそれぞれ適切な権限を付与することが出来るようになります。また権限付与されていない機能はグレーアウト(選択できない)されるため、作業ミスを未然に防ぐこともできます。


図2:EM画面例 – 通常の画面とFDACによる機能のグレーアウトの比較

FDACにて設定可能な権限の一覧の詳細については下記をご参照ください。

Oracle® Enterprise Manager Cloud Controlセキュリティ・ガイド 13c リリース2 E78866-04 4 Enterprise Managerでのデータベース管理のセキュリティ・ベスト・プラクティス

https://docs.oracle.com/cd/E83823_01/EMSEC/GUID-8337AD48-1A32-4CD5-84F3-256FAE93D043.htm#GUID-8337AD48-1A32-4CD5-84F3-256FAE93D043
(Jan 30, 2018, 17:40 p.m. UTC+9)

上記図でも示したように、FDACを使用してユーザごとに権限分掌を行うことによって1) 必要の画面にのみ遷移できるため、誤操作が無い、2) ユーザも最小限の機能を理解するだけでEMCCが使用できる、といったメリットが挙げられます。ただし、精緻な権限分掌を行うためには使用したいEMCC画面と権限の紐付け・理解が必要となるため、初期セットアップには時間を要することが考えられます。

3. 権限分掌はどうやって作成・設定するのか

それでは実際にFDACを使用してEMのユーザを作成してみましょう。「第3回 オラクル・コンサルタントが語る、Database 性能分析を効率化する AWR Warehouse活用のススメ –後編-」でも紹介した手順と一部重複しておりますが、おさらいを兼ねて一から説明します。

1. EMCCコンソールより、「セキュリティ」-> 「管理者」を選択します。


図3:EM画面例 – ユーザ作成画面1

2. 「作成」を押下します。


図4:EM画面例 – ユーザ作成画面2

3. 作成するユーザ情報を入力します。


図5:EM画面例 – ユーザ作成画面3

4. 付与するロールを選択します。「EM_USER」と「PUBLIC」ロールはEMCCユーザとしての最低限のロールであるため、剥奪しないようにしてください。また、ロールは複数の権限の集合体ですので、権限の最小化を行う場合、不要な権限が無いことを確認した上でロールを付与してください。


図6:EM画面例 – ユーザ作成画面4

5. 付与するターゲット権限を選択します。ここではEMCCの画面ごとの権限を付与することができます。権限の付与を全てのターゲットを対象とするか、個別のターゲットを対象とするかも選択できるため、FDACにおいては重要な画面となります。


図7:EM画面例 – ユーザ作成画面5

個別のターゲットに対して権限付与する場合は、下の「追加」を押下し、出てきたポップアップから対象となるターゲットを選択します。


図8:EM画面例 – ユーザ作成画面6

表示されるターゲット横にある鉛筆アイコンを押下し、権限を設定します。


図9:EM画面例 – ユーザ作成画面7

6. 付与するEMリソース権限を選択します。こちらはEMCCの管理において使用する権限であるため、一般的にはEM管理者に付与すべきものとなっています。


図10:EM画面例 – ユーザ作成画面8

7. 「終了」を押下して、ユーザを作成します。


図11:EM画面例 – ユーザ作成画面9

4. オラクル・コンサルタントがオススメする権限分掌案

EMCCにおけるユーザの作成方法とFDACの設定方法についてご理解頂けたところで、実際に前述した3種類のユーザにどういった権限を付与すべきかを見ていきましょう。まずそれぞれのユーザの特性について考えて見ましょう。

※ 下記は筆者が考えた権限分掌案であるため、実際に使用する際には改めて権限の精査を実施ください。

  • • EM管理者:EMCCの管理に纏わる全ての操作は実行できるが、ターゲットへはアクセスできない (EM管理者はスーパー管理者であるSYSMANとは別にEMCC操作に特化したユーザを作成したい場合にご検討ください)
  • • DB管理者:管理対象となるDB(ホスト、ASM等含む)に対する操作は実行できるが、EMCCの管理操作は実行出来ない
  • • アプリケーション担当者:管理対象となるDBに対しての読み取り専用操作は実行できるが、EMCCの管理操作や他のDBに対する操作は実行出来ない

それではFDACを使用して上記特性を踏まえた権限をユーザに付与していきましょう。

まず、EM管理者はターゲットに対してのアクセスが不要であり、EMCCの権限のみで良いため、基本的には「EMリソース権限」配下の権限を付与していきます。とはいえ、管理対象ターゲットのステータスは確認したいと考えられるため、ターゲット一覧を表示する機能も付与します。従って、以下の様な権限構成となります。

種別 権限
ターゲット権限 任意のターゲットの表示
EMリソース エンタープライズ・ルール・セット
EMリソース システム(システム・ロールの管理)
EMリソース ダッシュボード
EMリソース テンプレート・コレクション
EMリソース メトリック拡張
EMリソース モニタリング・テンプレート
EMリソース レポート
EMリソース 修正処理
EMリソース 名前付き資格証明

表1:EM管理者向けの権限一覧

次に、DB管理者は担当するDBに対するアクセス権限のみを必要とします。「ターゲット権限」から対象となるターゲットを選択した上で、以下権限の付与を行います。

種別 権限
ターゲット権限 完全

表2:DB管理者向けの権限一覧

「完全」ターゲット権限を付与することで、対象ターゲットに対する全ての操作が可能となります。ただし、ターゲット側(例:DB)に対する操作を行う場合は、ターゲットのログインを必要とする場合があります(例:初期化パラメータの変更やDB起動/停止)。従って、全ての操作が可能 = なんでも出来るではなく、あくまで全ての操作が可能な状態、と理解したほうが良いと考えます。

最後に、アプリケーション管理者ですが、管理対象のDBに対する読み取り専用でのアクセス権限が必要となります。DB管理者と異なり、DBに対する変更操作は実施出来ず、かつ不要な情報も可能な限り排除する必要があります。例えば、アプリケーション担当者は処理の性能劣化に伴いトップ・アクティビティ画面から問題となったSQLの特定やAWRレポートの出力は行いますが、セキュリティ設定やバックアップの管理はしないため、上記に沿った権限付与が必要となります。筆者の考えるアプリケーション担当者向けの権限は以下となります。

種別 権限
ターゲット権限 ターゲットの接続
ターゲット権限 データベースADDMの表示
ターゲット権限 データベース・アラート・ログの表示
ターゲット権限 データベース・アプリケーション開発者
ターゲット権限 データベースASHレポートおよびアナリティックの表示
ターゲット権限 データベースAWRレポートの表示
ターゲット権限 データベース・データファイルの表示
ターゲット権限 データベース初期化パラメータの管理
ターゲット権限 データベース・パフォーマンス・ホームページの表示
ターゲット権限 データベース・プロシージャおよび機能の表示
ターゲット権限 データベース・セグメントの表示
ターゲット権限 データベースSQLパフォーマンス・アナライザの表示
ターゲット権限 データベースSQLモニターの表示
ターゲット権限 データベースSQLアクセス・アドバイザの使用
ターゲット権限 データベースSQLの表示
ターゲット権限 データベース記憶域権限グループの表示
ターゲット権限 データベース・ユーザーの表示

表3:アプリケーション担当者向けの権限一覧

DB管理者の際にも説明していますが、EMCCの画面出力に際しターゲットDBへのログインが必要となる場合があります。事前にログインするユーザ名とパスワードをEMCCに登録することでDBログインやOSログインを簡易的に行うための機能として、「名前付き資格証明」があります。運用観点では非常に便利な機能ではありますが、利用する場合は設定するアカウントを慎重に選定する必要があります。時間をかけてEMCCユーザの権限分掌を行っても、DBへのログインで強力なユーザを使用してしまうと、DBへの変更操作が可能となり権限分掌が無意味となってしまうことがあるためです。アプリケーション担当者向けには「CREATE SESSION」、「SELECT_CATALOG_ROLE」及び「EXECUTE ON DBMS_WORKLOAD_REPOSITORY」権限のみを持つユーザをターゲットごとに作成し、EMCCでの操作時に使用頂くのが良いでしょう。

5. AWR Warehouse と BI Publisher の権限分掌

この項目では、過去の連載記事でご紹介してきたAWR Warehouse と BI Publisher を使用いただく場合において今回の記事のテーマである権限分掌をどのように考えるべきかを記載します。

まず、AWR WarehouseとBI Publisherはどういったユーザが利用したい機能でしょうか。複数のDBから取得したAWRレポートを基としたレポート作成やEMCCのターゲットを基にしたレポート作成といったニーズは、筆者は前述した3ユーザとは異なる別のユーザ(AWR Warehouse管理者やBI Publisherレポート管理者など)であると考えます。それでは、それぞれの機能を利用するためにはどういった権限が必要となるかを見てみましょう。

AWR Warehouseについては、本連載「第3回 オラクル・コンサルタントが語る、Database 性能分析を効率化する AWR Warehouse活用のススメ –後編-」の「3.2 AWR Warehouseの権限分掌」に記載した通り、新規EMCCユーザを作成後「自動ワークロード・リポジトリ・ウェアハウスの管理」のリソース権限を付与し、AWR Warehouseの権限設定を実施してください。

次に、EMCCに付属しているBI Publisherの権限分掌では以下2点を考慮する必要があります。1点目は、BI Publisher側の資産(カタログやレポート定義など)へのアクセス権限となります。こちらは事前定義されているBI Publisherのロール(EMBIPViewer、EMBIPAuthor、EMBIPScheduler、EMBIPAdministrator)をEMCCユーザに付与ください。2点目は、レポート出力対象となるターゲットに対するアクセス権限となります。ここでは、EMCCユーザに対して、レポート出力対象としたいDBへのアクセスが可能となるようにFDACのターゲット権限を設定してください。

EMCCでのBI Publisherの設定の詳細については、以下マニュアルをご参照ください。

Oracle® Enterprise Manager Cloud Controlアドバンスト・インストレーションおよび構成ガイド 13c リリース2 E78876-03

16 Enterprise ManagerでのBI Publisherの構成

https://docs.oracle.com/cd/E83823_01/EMADV/GUID-F1F0D522-E43F-47BF-B249-512F78A9B81C.htm#GUID-F1F0D522-E43F-47BF-B249-512F78A9B81C

(Feb 14, 2018, 21:37 p.m. UTC+9)

最後に

本記事ではEMCCユーザの権限分掌をFDACを使って実現する方法及び活用例を紹介させて頂きました。

オラクル・コンサルタントの Big 3(大竹、大野、大木)が連載してきましたデータベース運用における Oracle Enterprise Manager 徹底活用への道は本記事を持って終了となります。如何でしたでしょうか。EMCCの基本機能、AWR Warehouseを用いたAWRレポートの集中管理、BI Publisherを使用したレポートの作成と自動配信、そしてEMユーザの権限分掌といった多岐に渡る内容をご紹介させて頂きました。読者の皆様がEMを知るきっかけ、EMを活用・運用していくためのきっかけ、またEMを好きになるきっかけとなってくれていれば幸甚です。それではまた別の場でお会い致しましょう。