...

データベース・アプリケーションのための ID 管理

by user

on
Category: Documents
11

views

Report

Comments

Transcript

データベース・アプリケーションのための ID 管理
セキュリティ管理と ID 管理
データベース・アプリケーションのための ID 管理
Sudha Iyer, Oracle Corporation
概要
技術の急速な変化は多くの場合企業に IT インフラストラクチャへの過剰投資を引き起こします。最高情報責任者や IT の
専門家は企業経営の採算性を維持する上で、新しい困難な問題に直面することがますます増えています。これら問題は、
Web サービスへの変更が必要な業務プロセスを特定することから、複雑な管理を簡素化する次世代のインフラストラク
チャへの投資、さらにコストを抑制しつつ、他方では連邦や州の様々な規制を確実に遵守することまで多岐にわたります。
今日、アカウンタビリティと効率向上のために、アプリケーションと新テクノロジを統合させるテクノロジ分野の一つは
ID 管理です。ID 管理により、企業はこれまでユーザー・リポジトリの役割を果たしてきた複数のデータ・ソースを統合
しあるいは関連付けることができます。企業が Grid 上にアプリケーションを配布すると、ID 管理の基礎となる管理モデ
ルはユーザー管理の諸課題の解決に役立ちます。
今日必要なテクノロジはすべて存在しています。しかし問題は、現在配布されているアプリケーションをどのようにして
新しいユーザー・モデルに適合させるか、ということです。このホワイト・ペーパーではいくつかのアプリケーション・
アーキテクチャ・シナリオについて一つ一つ検討し、企業の ID 管理システムを活用するための最善の実施方法を提供し
ます。
効果的なセキュリティのための ID 管理
ID 管理は、セキュアなアプリケーション配布を可能にするために必須のフレームワークを提供します。取引のセキュリ
ティは、取引当事者間の互いの信頼を基礎としています。Web 上での本の注文を例に考えてみましょう。取引を開始す
るにはエンド・ユーザー(顧客)とサーバー(顧客が選んだオンライン書店)両方の識別が必須です。ユーザーからすれ
ば、代金請求先やクレジット・カード番号などの私的情報を開示する相手が間違いないことを確認したいと考えます。
本屋からすれば、顧客が支払いの約束を履行することの確認が必要です。もし取引当事者の識別が信頼できない場合、取
引は拒絶される可能性があります。
いったん発注が行われると、発注者は注文が公開されないことを期待します。言い換えれば、だれも隣人の本の注文を知
りたいとは思わず、自分の本の注文の詳細が第三者に漏洩されることを望みません。アプリケーションを通じてナビゲー
ションが行われるとき、アプリケーションはログインからログアウトまでエンド・ユーザーの ID を追跡し、情報が常に
正しいことを確認する必要があります。このようにして十分なセキュリティがアプリケーションのあらゆる画面に浸透し、
ユーザーあるいはサーバーの確実な認証が、信頼できる状態であることを前提として確立されます。
サプライ・チェーン取引関係を構築する場合などの事業取引関係は、通常会社内部に保持されている重要情報へのアクセ
スを提供することで改善できます。たとえば救急キットのサプライヤは、顧客サイト(病院、現場)にある手元在庫の詳
細情報にアクセスできれば、納期通りの納品を改善できます。ここで大切なのは、病院の在庫情報が資格の不十分なサプ
ライヤに開示されないこと、そして資格の十分なサプライヤは、救急キットを使用する患者へのアクセスが与えられない
ことです。アクセス制御のメカニズムは当事者の身元の信頼性を基礎としています。アプリケーションがたとえば 20 の
データベース上にあり、病院が 50 社のサプライヤと取引する必要があるとすれば、アカウント管理は作業が爆発的に増
えます。アプリケーション開発者にとって重要な課題は、コストを低く保ちながら情報へのアクセス可能性を高めたアプ
リケーションを構築することです。また IT 専門家にとって重要な課題は、配布と管理のコストを削減することです。
データベース・アプリケーションのための ID 管理
1
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
セキュリティ管理と ID 管理
その理想的な解決策は、ユーザーを 1 つのリポジトリで一元的に管理し、ユーザーの活性化、非活性化およびアクセス制
御を一度に正確に行うことです。このために最適・最善なのは、企業ディレクトリである LDAP v3 ベースのディレクト
リ・サーバーです。Oracle データベース上に構築されたアプリケーションが、これまで 20 年以上にわたり活躍してきま
した。企業の現在の IT 投資を保護・支援しながら、他方これら IT システムの管理性を効率化する、これがオラクル社の
方針です。このホワイト・ペーパーでは、企業が ID 管理などの新テクノロジを取り入れることによりレガシー・アプリ
ケーションの稼働寿命を延ばせることを説明します。
ID 管理の利点
ディレクトリ内で一度ユーザーを定義すれば、企業全体に配布されている様々なアプリケーションに同じ ID をリンクす
ることができます。たとえば、ある従業員が仕事のため、E メール、ディレクトリ参照サービス、経費報告システム、給
付給与システムなどのアプリケーションにアクセスする必要があるとします。さらにこの従業員が管理職の場合、HR 管
理システムに、そしてたぶん成績評価システムにもアクセスする必要があります。ID 管理により、ユーザーの ID および
これに対応するアクセス制御情報の一元的管理が可能となり、アプリケーションの管理や、ポータルを経由した 1 箇所で
の認証が容易になります。このため使いやすさが大幅に向上し、管理コストが削減され、セキュアな配布方法が得られま
す。
今日 IT 管理者たちは次のような面倒な管理課題のいくつかを解決するために、ID 管理に力を注いでいます。
•
パスワード紛失の処理
•
複数のパスワード管理スケジュールの管理
•
従業員、サプライヤ、パートナー、その他外部当事者に対するアクセス制御変更のタイムリーな管理
企業はいま、プライバシー問題への対処から監査法令遵守まで、多岐にわたる連邦と州の様々な規制を遵守するよう、
業務プロセスと情報システムの適応化を積極的に行っています。ユーザーの活動を追跡し情報のプライバシーを確保する
には、ユーザーとそのアクセスを正確に特定する必要があります。ID 管理はこのような施策の成功にとって不可欠です。
ORACLE DATABASE 10g における ID 管理
Oracle Identity Management のインフラストラクチャには ID 付与、アクセス管理、実施の諸機能が含まれ、これらは Oracle
10g プラットフォームの一部としてインストールできます。Oracle Database 10g のユーザー・モデル、Oracle Application
Server 10g および Oracle Collaboration Suite などを統合することにより、オラクル社は企業の管理コストと管理改善コスト
の削減を可能にします。
ID 管理の構成要素は次のとおりです。
•
Oracle Internet Directory: Oracle9i データベースに実装されるスケーラブルで堅牢な LDAP V3 準拠のディレクト
リ・サービスです。
•
Oracle Directory Synchronization Service: Oracle Internet Directory の一部で、Oracle Internet Directory と他の複数の
ディレクトリおよびユーザー・リポジトリとの同期化を可能にします。
•
Oracle Provisioning Integration Service: Oracle Internet Directory の一部で、オラクル製品、その構成要素とアプリケー
ション、および標準インタフェース経由でサードパーティのアプリケーションに、自動プロビジョニング・サー
ビスを提供します。
データベース・アプリケーションのための ID 管理
2
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
セキュリティ管理と ID 管理
•
Oracle Delegated Administration Service: Oracle Internet Directory の一部で、ユーザーとアプリケーション管理者によ
る信頼性の高いプロキシ・ベースのディレクトリ情報管理を可能にします。
•
Oracle Application Server Single Sign-On: Oracle9i Application Server の構成要素で、J2EE、Web およびレガシー・ア
プリケーションへのシングル・サインオンを提供します。またサードパーティのシングル・サインオン・ソリュー
ションとの相互運用性も備えています。
•
Oracle Application Server Certificate Authority: Oracle Application Server 10g の新しい構成要素で、X.509 v3 PKI 証明
書を生成・公開し、強力な認証方法とデジタル署名をサポートします。
大企業も小企業も、Web ベースのアプリケーション、クライアント・サーバー(レガシー)アプリケーション両方につ
いてシングル・サインオン機能を有効にするため、企業のプロジェクトに優先順位を付けています。Oracle 10g プラット
フォームは ID 管理インフラストラクチャに基づいて、統一的ユーザー・モデル・アーキテキチャを異機種間 IT 環境に提
供します。Oracle Database 10g と Oracle Identity Management との統合により、管理者はデータベース・ユーザー・パスワー
ドの管理をユーザーに委任することができます。企業はパスワード管理コストの削減という恩恵を受けます。ユーザーは
パスワードを 1 つ所有し、このパスワードにより、企業のセキュリティ方針で設定された複雑さのレベルを記憶し管理し
ます。
Oracle Identity Management を使用するアプリケーションは、ファイングレイン監査と共通監査、仮想プライベート・デー
タベース、Oracle Label Security など、Oracle Database 10g のセキュリティ機能が利用できます。
ID 管理を活用するデータベース・アプリケーションの方針
オラクル社はこれまで強力なデータ操作・管理機能とともに優れたプログラム・インタフェースを提供してきました。企
業は自社製のアプリケーションの他、データベース・ユーザー、データベース・ロール、プロキシ認証など、提供された
ネイティブな諸機能を活用できる既製品アプリケーションを豊富に持っています。この項では、従来のデータベース・ユー
ザー・モデルを使用して、現在展開されているクライアント/サーバー・アプリケーションが、Oracle Internet Directory で
ユーザーを管理するために、いくつかの方針を説明します。
データベース・ユーザーとは、その定義上、データベース内に定義されているユーザーを言います。データベース・ユー
ザーは"Create User Scott Identified by password"という構文を使用して作成されます。また、一見してわかりませんが、デー
タベース・ユーザーはユーザー名と同じ名前のスキーマ・リソースへのアクセスを持っています。
データベース・ロールとは、select、insert、update、delete など、様々なデータ操作を行うためデータベース・ユーザーに
与えられた権限です。
プロキシ認証とは、ユーザーB に代わって行為するユーザーA の能力で、ユーザーA はユーザーB から、その権限を与え
られていることが条件です。これは"Alter UserB grant connect through UserA"という構文を使用して実現されます。プロキ
シ認証の全体的な取扱いはオラクル関連資料(『Oracle データベース セキュリティ・ガイド』)を参照してください。
以上を背景として、4 つの主要なアプリケーション・モデル(シナリオ)があり、次にこれらについて説明します。
どのアーキテクチャでも、アプリケーション・オブジェクトが配置される可能性が最も高い場所は、指定されたアプリケー
ション・スキーマです。たとえば順序表、ビュー、プロシージャは、各ユーザーのスキーマでは定義されず、ORDER_ENTRY
スキーマに配置されます。
データベース・アプリケーションのための ID 管理
3
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
セキュリティ管理と ID 管理
•
シナリオ A − アプリケーションはデータベース・ユーザーの管理能力に依存します。ユーザーは各データベース
で作成され、該当のデータベース・ロールがユーザーのアプリケーション・オブジェクト権限を制御します。
•
シナリオ B − このケースはシナリオ A をわずかに改良したもので、ユーザーはそれぞれ独自のスキーマを操作し
ます。ユーザーはアプリケーション・オブジェクトの一部または全部を所有しますが、ユーザー認証ではデータ
ベースに依存します。
•
シナリオ C − ユーザー認証はデータベースが行いますが、アプリケーションも独自のアクセス制御モジュールを
持っています。
•
シナリオ D − ユーザー管理はすべてアプリケーションが行います。
シナリオ A − ネイティブなデータベース機能によるユーザー管理
アプリケーション・ユーザーはすべてデータベース・ユーザーであり、与えられたアプリケーション・スキーマ中のオブ
ジェクトに対して DML を実行します。さらに、ユーザー権限は直接データベースで管理されます。つまりユーザーには、
アクセスを選択し、挿入/削除し、または更新し、あるいはこれらの任意の組合せを実行するデータベース・ロールが与
えられます。このシナリオでは、全ユーザーは共通のアプリケーション・スキーマでアプリケーション機能にアクセスし
ます(データベース・ロールを通じてその権限が与えられます)。
推奨される最善の実施方法
これらアプリケーション・ユーザーはディレクトリで定義が可能です。アプリケーション・オブジェクトは共通のスキー
マ内にあるため、次の論理的ステップは、これらユーザーを共有スキーマにマップすることです。ここでユーザー認証の
側面が取り扱われます。アクセス制御もまたディレクトリに移すことができます。データベース・ロールはグローバル・
ロールに移行させることができ、これによりアクセス制御メカニズムもセントラル・リポジトリでの管理が可能となりま
す。
データベース・アプリケーションのための ID 管理
4
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
セキュリティ管理と ID 管理
シナリオ B − データベースでのユーザー認証。ユーザーは独自のスキーマで操作。
これを利用する場合、各アプリケーション・ユーザーはデータベース・ユーザーであり、アプリケーションはデータベー
スの認証メカニズムに依存します。さらに各ユーザーは共通のアプリケーション・スキーマから抜け出て、これに代わり
自分のスキーマで操作します。このモデルが普及する可能性は余りありませんが、それでも実現可能なアプリケーショ
ン・モデルです。いったんユーザーの認証が行われると、データベースのアクセス制御機能が使用されデータのセキュリ
ティが確保されます。このアーキテキチャは、仮想プライベート・データベースとマテリアライズド・ビューの時期以前
ならファイングレイン・アクセス制御を達成する手段として配布が可能だったでしょう。
推奨される最善の実施方法
このケースのユーザーは排他的スキーマを持つディレクトリ・ユーザーとなれる候補者です。これらユーザーは排他的ス
キーマを持つため、データベースとディレクトリ内部でのユーザー管理が必要です。このような二重のメンテナンスを回
避する一つの方法は、ファイングレイン・アクセス制御に仮想プライベート・データベースを使用して、排他的スキーマ
の必要をなくすことです。このことは、新たに変換されたエンタープライズ・ユーザーが共有スキーマにマップされ、そ
れによりユーザー管理の場所が 1 箇所のみとなることを意味します。
データベース・アプリケーションのための ID 管理
5
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
セキュリティ管理と ID 管理
シナリオ C − データベースでのユーザー認証。ユーザーのアクセス制御はアプリケーションが行う。
この場合、各アプリケーション・ユーザーはデータベース・ユーザーであり、アプリケーションはデータベースの認証メ
カニズムにのみ依存します。いったんユーザーが認証されると、アプリケーションが引き継ぎます。このケースでは通常、
データ・セキュリティの多くの側面は機能的なセキュリティ課題として取り扱われます。sql*plus を使用したアプリケー
ション・ユーザーからデータへの直接アクセスは、Product User Profile 表を使用して制限されます。このシナリオの場合、
アプリケーションはネイティブなデータベース・ロールに依存せず、かわりに自社製の管理モジュールで持っているアプ
リケーション・ロールに依存します。
推奨される最善の実施方法
このケースでは 2、3 の選択肢があります。もし IT 部門の意志決定者がごくわずかの作業で済ませたいと考えた場合、ユー
ザーを単にエンタープライズ・ユーザーに変換し、共有スキーマにマップするだけで済みます。またもっと効率的なソ
リューションを導入する時間とリソースがある場合は、自社製のログイン・モジュールを実装するために LDAP/PLSQL
API の使用を考慮することができます。
データベース・アプリケーションのための ID 管理
6
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
セキュリティ管理と ID 管理
シナリオ D − ユーザー管理モジュールがアプリケーションに含まれる。
最後に、強固なユーザー管理モジュールを持つアプリケーション・モデルがあります。このモデルは表、ビュー、プロシー
ジャその他を持ち、これらによってユーザーの作成と継続的メンテナンスが可能となります。ユーザー情報とユーザー・
アクセス制御情報はアプリケーション関連諸表に格納されます。
この場合ユーザーはデータベースでは作成されません。その代わりアプリケーション内に優れた管理コンポーネントがあ
り、これがユーザーの作成、メンテナンス、およびこれらと業務諸機能との関連を取り扱います。ユーザー・アクセス制
御メカニズムは、Financial Manager、Order Entry Administrator などの機能的責任に依存します。このアーキテクチャでは、
アプリケーションのエンド・ユーザーがデータベースに直接接続することは皆無です。
データベースにはアプリケーションが接続し、アプリケーションのエンド・ユーザー「に代わって」操作を行います。ユー
ザーに代わって行われるこの接続は、たとえばハードワイヤードとすることもでき、その場合注文入力トランザクション
画面は常に既定の注文入力ユーザー資格証明を使用して接続されます。しかし Oracle データベースからネイティブに提
供されるクライアント識別子とプロキシのメカニズムがアプリケーションで利用される可能性も十分にあります。した
がって、このモデルが特定の操作要件に適合するためどのように拡張できるかは、これらアプリケーションの複雑さに応
じて数多くの組合せが考えられます。
推奨される最善の実施方法
このシナリオは他と比べて、確かにより複雑で、変換は認証モジュールと許可モジュールに分解することにより達成され
ます。たとえば、ユーザーをディレクトリに移行させることのみを決定し、アクセス制御メカニズムはそのままにしてお
くことができます。この場合、エンタープライズ・ユーザーは共有スキーマ(たとえば apps_ guest スキーマ)にマップ
することができます。いったん認証が行われるとアプリケーションは、アプリケーション・コンテキスト・メカニズムや
クライアント識別子メカニズムなどを使用して、アプリケーション・ユーザーとアプリケーション・アクセス制御モジュー
ルとの関連付けを管理します。次のステップとして、エンタープライズ・ロールを活用するため認可機能をマップできま
す。
これらのアプリケーションに適用できる基本的ツールは存在しますが、当然のことながら、アプリケーション設計者と
IT 管理者はアプリケーション・ユーザーをディレクトリ内で管理するためサイト固有のプランを開発する必要がありま
す。
データベース・アプリケーションのための ID 管理
7
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
セキュリティ管理と ID 管理
エンタープライズ・ユーザー・セキュリティ
Oracle Identity Management は一元的管理サービスの基礎を提供しますが、ユーザーをデータベースの世界にプラグインす
る能力は与えません。エンタープライズ・ユーザー・セキュリティはこのギャップを埋める Oracle データベースの一機
能で、ディレクトリ中のユーザーID をデータベースにバインドすることができます。たとえば"SSIMON"という固有の ID
を持つディレクトリ・ユーザーは、自分の会社のポータルに"SSIMON"としてアクセスし、この ID を使用して、データ
ベース利用を認証する自分のレガシー・アプリケーションにアクセスできます。もしアプリケーションが望むならば、デー
タベース全体にわたる SSIMON の権限もディレクトリで一元的に管理できます。
エンタープライズ・ユーザー・セキュリティを構成することにより、企業はコストのかかるリライトに投資する代わりに、
現在保有するデータベース・アプリケーションの稼働寿命を延ばすことができます。管理者はデータベース・ユーザーを
ディレクトリに移し、現在配布しているアプリケーションの使用を続け、管理費を削減することができます。次の図は、
このような移行のためのアプリケーション・アーキテキチャの選択肢を概括的に示したものです。
一元的ユーザー管理を活用したレガシー・アプリケーションの概要
さらに、仮想プライベート・データベースやファイングレイン監査などの強力なデータベース・セキュリティ機能を、ディ
レクトリ・ユーザーのデータベースへのログインと関連付けることができます。Oracle Database 10g 以降、Oracle Label
Security ポリシー、機密性ラベルおよびユーザー・ラベル認可はディレクトリ内で一元的に管理できます。このことから、
ディレクトリ・ユーザーをグラニュル行レベル・ベースのアクセス制御メカニズムと統合する新たな機会が生まれました。
プライバシーが強化されたアプリケーション構築の機会を提供するのみでなく、Oracle 10g の一元的なユーザー・プロビ
ジョニング機能とユーザー管理機能は、Grid でのコンピュータ利用のためのインフラストラクチャとして役立ちます。
データベース・アプリケーションのための ID 管理
8
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
セキュリティ管理と ID 管理
ディレクトリ・ユーザーに対する強力な認証機能
ユーザー認証は、データベースへのセキュアな通信チャンネルを確立する前の重要な第一歩です。その一例として、先に
サプライヤ/病院の取引関係を詳細に説明しました。パスワードの使用は一般化していますが、その導入と展開を抑制す
るいくつかの要因があり、このためセキュリティの観点からパスワードの使用はそれほど望ましいものではありません。
たとえば、パスワード・ポリシーは必ずしも常に有効とされておらず、複雑性ルールも実施されていないことがあります。
これらが実施されている場合でも、ユーザーはパスワードの期限を、あるいはもっと悪い場合パスワードそのものを忘れ
ないため、付箋紙メモに頼ります。
パスワード・ベースの認証の代替案
オラクル社はアプリケーションに、ディレクトリ・ユーザーの ID の信頼性をより高いレベルで保証できる能力を与えま
す。
証明書または Kerberos ベースの認証の利用は、2 つの明確にセキュアな認証方法です。使いやすくするため、これらも必
要に応じ Windows 上のネイティブな認証に統合されます。この方式では、Oracle データベース・アプリケーションにロ
グインするために必要な資格証明がデスクトップのログイン・プロセスから与えられます。
エンタープライズ・ユーザー・セキュリティ機能の導入以来、オラクル社は X509v3 によるデータベースへの証明書認証
をすべてのネットワーク要素、ユーザー、データベース、ディレクトリについて実施してきました。Oracle データベース
は、企業内に配布された既存の PKI セキュリティ・フレームワークとの統合を提供してきました。Oracle Database 10g SSL
の配布では、Oracle の SSL インフラストラクチャ・レイヤーで提供される証明書失効リスト・ベースの妥当性チェック
を利用できます。そのユーザーはまたスマート・カード上の PKI 資格証明も持ち、真の意味でデータベースへのローミ
ング・アクセスが可能です。
Oracle 7 以来、データベース・ユーザーはデータベース認証のため Kerberos フレームワークが利用できるようになりまし
た。Oracle Database 10g とともに、ディレクトリ・ユーザーは Kerberos ベースの認証の利点の恩恵を享受します。これは
とりわけ、既存の Kerberos セキュリティ・インフラストラクチャに依存する企業にとって意味があります。今日多くの
オペレーティング・システムは Kerberos Distribution Center をバンドルしており、これを構成した場合、ユーザー・ログ
インにより Kerberos Ticket Granting Ticket の受領が自動的にトリガーされます。このような動作のほとんどはユーザーが
知らないうちに実行されるため、その使いやすさを大幅に改善します。ユーザーがデスクトップにログインするとともに、
Oracle データベースへの接続の準備が整います。
これらのセキュアな認証の代替案を取り入れるため、配布済の既存アプリケーションを発展させることは、企業にとって
大きな課題です。オラクル社は、このような移行でアプリケーション開発者を支援するため、 Identity Management イン
フラストラクチャ内にテクノロジを提供します。一つの選択肢は、これらアプリケーションを Oracle の Single Sign-On
Server のパートナー・アプリケーションとして有効にすることです。ユーザーが Oracle Internet Directory に割り当てられ、
自分のシングル・サインオン・ユーザー名およびパスワードを使用して認証に成功したなら、Oracle9iAS 認証局にデジタ
ル証明を申請することができます。この証明書は自動的に発行され、ただちに Oracle Internet Directory で交付されます。
この証明書交付方法は、ユーザーを識別しきわめて簡単なやり方でユーザーにデジタル証明を与える Oracle9iAS のシン
グル・サインオン機能を利用します。
データベース・アプリケーションのための ID 管理
9
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
セキュリティ管理と ID 管理
ID 管理を活用するための課題
企業内で共通のアプリケーション・アーキテクチャのほとんどを学んだ後、次に来るのは、直面する課題を細目に分類し、
重要と思われる改善事項の範囲を決定することです。この項では主として、一元的ユーザー管理を活用するため、2 層の
アプリケーションを有効にする場合に必要ないくつかの課題を取り上げます。次のことを考えてください。
•
データベース中で定義されたデータベース・ユーザーをどのようにして Oracle Internet Directory に移すか。
•
自分の企業はユーザー認可を一元化できるか。
•
一元的資格証明管理のためにどのようなセキュリティ方針を実施すべきか。
•
パフォーマンス向上のため接続プーリングを使用すべきか。
•
Oracle の ID 管理ソリューションは企業ディレクトリへの既存の投資とどのようにして共存できるか。
これら課題の中には、製品と同梱のツールを使用して解決できるものもありますが、アプリケーションの慎重な設計変更
が必要なものもあります。
ユーザー移行ユーティリティ
このツールを使用してデータベース・ユーザーを Oracle Internet Directory に移行できます。この移行プロセスで、データ
ベース・ユーザーはグローバル・ユーザーに変換されます。
選択によっては、このユーティリティで新たに作成されたグローバル・ユーザーを共有スキーマにマップもできます。こ
れは注目すべき重要点です。データベース・ユーザーを作成すると、必ず指定されたユーザー名と同じ名前でデータベー
ス・スキーマが作成されるからです。データベース・スキーマは、データベース・ユーザーが何らかの DML 文または
DDL 文を実行するためデータベースにアクセスできる場所としての役割を果たします。エンタープライズ・ユーザーを
共有スキーマにマップすれば、データベースは共有スキーマのみを知っておけばよいため、ユーザー管理コストが削減さ
れます。エンタープライズ・ユーザーはすべてデータベースの関与なしにディレクトリ内で作成が可能です。
共有スキーマは、上述の両方のアプリケーション・アーキテクチャで使用できます。ユーザー移行ユーティリティの詳細
は『Oracle Advanced Security 管理者ガイド』で説明しています。
ディレクトリへの認可の格納
一元的アクセス制御は効率的であり、従業員の労働移動と職務異動に関する管理コストを削減します。ディレクトリの時
期以前に書かれたほとんどのアプリケーションは認可と緊密に結び付いているため、この課題は段階的に実行することが
できます。
シナリオ A で述べられたアーキテクチャによるアプリケーションは、エンタープライズ・ロールとグローバル・ロール
の機能を容易に採用できます。この達成には、次の一連の課題を完了することが必要です。
•
グローバル・ロールを作成します。このロールは既存のデータベース・ロールと似たものになる可能性がありま
す。
•
おそらく各機能的責任別にエンタープライズ・ロールを作成し、これに該当のグローバル・ロールを割り当てま
す。
•
エンタープライズ・ユーザーをエンタープライズ・ロールにマップします。
データベース・アプリケーションのための ID 管理
10
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
セキュリティ管理と ID 管理
エンタープライズ・ユーザーは 1 つ以上のエンタープライズ・ロールにマップすることができ、授与されたエンタープラ
イズ・ロールに関連付けられた権限、および特定のデータベース・ロールが授与された場合はこれに関連付けられた権限
をも、ログインとともに取得します。
シナリオ B のアーキテクチャのように構築されたアプリケーションの場合、アプリケーションがいったんエンタープラ
イズ・ロール機能を利用する一時的努力を果たしたならば、そのアクセス制御モジュールの追加的コード・メンテナンス
は不要となります。この移行に関連する追加的な課題には、アプリケーションの機能セキュリティ要素をデータ・アクセ
ス制御から切り離すことが含まれます。
一元的な資格証明管理
Oracle 10g プラットフォームに同梱の Oracle Identity Management は、ユーザー管理を行うための単一の場所を提供します。
シングル・サインオン・ユーザーが Web ポータルにアクセスするためのユーザー・フットプリントはクライアント/サー
バー・アプリケーションに要求されるものと同じであるため、ユーザーのアクティビティはエンド・トゥ・エンドに追跡
できます。ディレクトリ・ユーザーは、そのポータル認証とデータベース認証のため 1 セットのパスワード管理ポリシー
を持ちます。もしユーザーが定義済みの Kerberos プリンシパルを持つ場合、該当の資格証明はオペレーティング・シス
テムのネイティブな認証機能と統合されます。
接続プーリングとプロキシ認証のメカニズムの確立
これは、もし実装されたクライアント/サーバー・アプリケーションのために接続プーリングまたはプロキシ認証が現在
使用されているなら、ユーザー・モデルが Oracle Identity Management と統合される場合に、つまりアプリケーションがエ
ンタープライズ・ユーザーを使用する場合に利用できる機能です。接続プールを設け様々なディレクトリ・ユーザーから
の接続要求を切り換える "fat app user"の可能性も考慮できます。
データベース・リンクとディレクトリ・ユーザー
現在のユーザー・データベース・リンクでは、ディレクトリ・ユーザーは、分散データベースの真の可能性をすでに利用
しているアプリケーションにアクセスできます。Oracle Database 10g 以降、SSL オプションに加え、Kerberos が使用可能
なカレント・ユーザー・データベース・リンクが利用できます。
既存の企業ディレクトリとの統合
Oracle Identity Management 10g のコンポーネントである Oracle Directory Synchronization Service は、Microsoft Active
Directory と iPlanet を含むサードパーティ LDAP とデフォルトでのコネクタを提供します。Oracle Internet Directory と同期
化されたユーザー・エントリとそのグループ結合により、ユーザーID の伝播は、VPD と監査を含む Oracle データベース
のセキュリティ機能と効果的に結び付くことができます。
データベース・アプリケーションのための ID 管理
11
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
セキュリティ管理と ID 管理
セキュリティへの投資から得られる利益の改善
結論として、企業は現在のアプリケーション全体のユーザー・モデルを十分に理解すれば、IT 予算の増額なしに管理効
率を向上させることができます。アプリケーションは個人をマシンと、あるいはマシンを他のマシンと接続します。これ
らのネットワーク要素を正確に特定すれば、アカウンタビリティとアクセス制御メカニズムの質が向上します。Oracle
Identity Management は、正確な情報提供にとどまらず、法的規制および監査への遵守を支援するため、情報システムにこ
のような効率向上をもたらします。
ORACLE WORLD 2003(サンフランシスコ)で発表された ID 管理/セキュリティ関連のホワイト・ペーパー
Lee Cooper, Raymond Ng - 『Oracle Identity Management による J2EE アプリケーションのセキュリティ確保』 (40128)
Michael Mesaros - 『Oracle Identity Management 配布をどう計画するか』(40207)
David Saslav - 『Oracle と Thor: ID 管理の実践』(40017)
データベース・アプリケーションのための ID 管理
12
Paper # 40128
Oracle Corporation 発行「IDENTITY MANAGEMENT FOR DATABASE APPLICATIONS」の翻訳版です。
Copyright © 2003 Oracle Corporation, All rights reserved
Fly UP