ビジネス・アプリケーションのセキュリティー・アーキテクチャー
ハッカーの世界では、あらゆるデータ資産は盗難や改ざんに対して脆弱です。データ保護はコストがかかりますが、ハッキングされる方がさらにコストが高くつきます。IBMの行列アクセス制御を実行してください。ビジネスがセキュリティー、特にデータベース・セキュリティーを制御する効果的なツールを求めている中で、RCACは重要なツールです。
RCAC によってデータベース・セキュリティー管理者は、データベースのデータを閲覧できるユーザーの管理を、引き締めることができます。さらによいことに、アプリケーションを変更せずに、これら多くのセキュリティー対策を実装できます。DB2 の各種バージョン、Postgre SQL、Oracle、SQL Server (Azure v12 および SQL Server 2016 を現在プレビュー中)、また他のデータベース・エンジンも、何らかの形で行のセキュリティーを実装できるため、喜ばしいことに IBM i で利用できます。このヒントでは、行アクセス・セキュリティーについてご紹介します。
前提条件は以下のとおりです。
1.IBM i 7.2 が必要です。
2.IBM Advanced Data Security for i (5770SS1 オプション 47) ライセンス・プログラム (無償) をインストールする必要があります。7.2 については、この製品にはメディア・ラベル i72_B_GROUP3_04.iso が付きます。
このライセンス・プログラムがインストールされていない場合、以下のような見苦しいエラーが表示されます。
SQL 状態:560CR
メッセージ:[SQL7056] Database support not available for reason 3. (データベース・サポートは理由 3 には利用できません。)
原因.....:必要なライセンス・プログラムがインストールされていません。
理由コードは 3 です。1 - IBM XML Toolkit for i (5733XT2) または International Components
for Unicode (5770-SS1) がインストールされていません。2 - Java Developer Kit 5.0 (5770JV1)、または
J2SE 5.0 32 bit (5770JV1)、または J2SE 5.0 64 bit (5770JV1)、ポータブル・アプリ・ソリューション
環境 (5770-SS1) がインストールされていません。3 - IBM Advanced Data Security for i
(5770SS1 オプション 47) がインストールされていません。
リカバリー...:必要なライセンス・プログラムが正しくインストールされていることを確認してください。
もう一度要求をしてみてください。
多くのビジネス・アプリケーションでは、どのユーザーがどのビジネス機能にアクセスできるか制御する際にアプリケーションが利用する、「ビジネス機能と許可ユーザー」表のようなものを使って設計しています。そのため、それは開発者に代わって新しいまたは余分な作業をすることを示しているのではありません。すべてのオペレーティング・システムは、プログラムの構築時また実行中でも実行されている権限 をプログラムが操作できる仕組みと API をサポートしています。どのデータ・オブジェクトにアクセスしているか、またそれらのオブジェクトにアクセスする際にプログラムが実行していなければならない権限について理解しているプログラマーとしては、最適な API を使用して、プログラムがデータにアクセスするときに必要なデータ権限を持たせることができます。これは開発者にとって余分な作業ですが、1 回のみであり、(特に、管理者がすべてのデータ・オブジェクトを特定し、それらのオブジェクトに対して各ユーザーにどの権限が必要か判断し、時間とともにアクセス制御を管理しようとするのに必要な労力と比べたら) 大したことはありません。
最近、IBM Systems Magazine の AIXExtra ニュースレターに記事を書きました。これには、開発者がこのセキュリティー・アーキテクチャーの実装に使用できる AIX と IBM i で利用可能な仕組みと API (借用権限とユーザー・プロファイル「スワップ」APIの2つだけ) の技術的な詳細を記載しています。ここでご覧いただけます。開発者はこれらのツールを活用して、権限の失敗によるアプリケーションの失敗を防ぎ、管理者はそれらのアプリケーションの実行を許可されたユーザーのアクセス制御のみに集中できます。