概要
情報を共有する場合、セキュリティは重要な問題です。Yellowfinを導入する際には、要求されるセキュリティレベルについて詳細な分析が行われるべきです。Yellowfinには、共有される情報の安全性を保つためのセキュリティ機構が複数組み込まれています。必要とされるセキュリティレベルに合わせてこれらを組み合わせて使用します。使用可能なセキュリティ機構は次のとおりです。
このセクションでは、Yellowfinで使用できるセキュリティフレームワークについて解説します。解説は粗いセキュリティレベルから始まり順に細かなレベルへと進みます。たとえば、ロールは最も粗いレベルのセキュリティで管理も簡単です。逆にカラムレベルのセキュリティは詳細な設定が可能ですが、たくさんのユーザーが使うシステムを管理する場合には複雑過ぎるかもしれません。
アクセス権と機能
Yellowfinのユーザー管理は、ユーザーロールの考え方に基づいて設計されています。これは、複数のユーザーがアプリケーションにアクセスするために定義されたロールを共有することを意味します。個別のユーザーにユニークなセキュリティプロファイルを設ける必要はありません。
ロールは、利用可能なセキュリティ機能のコレクションです。各々のユーザーにはなんらかのロールが割り当てられます。たとえばある人物をレポート作成者にするには2つの方法があります:
- その人のロールを変更する:その人にアプリケーションにアクセスできるロールを割り当てます。
- その人に割り当てられているロールの設定を変更する:そのロールを共有するすべてのユーザーのアクセス権をアプリケーションにアクセスできるように変更します。
ユーザーがログオンすると、システムはその人がアプリケーションに登録されているか、そしてどんなロールを割り当てられているかをチェックします。そしてそのロールに設定されたアクセス権に基づき、そのロールがアクセス権を持つ機能だけを表示するようユーザーインターフェースがダイナミックに構築されます。
詳細については、ロールを参照してください。
例
ログオンしたユーザーのロールがダッシュボードへのアクセス権を持たない場合、その人にはレポート一覧のページが表示されることになります。ダッシュボードにアクセス権を持つユーザーには、ダッシュボードページが表示されます。
主な用途 | アクセスを特定の機能(たとえばレポート作成)に制限したい場合に使用します。 |
使うべきでない場合 | ロールには情報やデータに対するアクセスを制限する効果はありません。 |
利点 | すべてのユーザーに対する設定や更新が簡単です。 |
ヒント | 設定するロールの種類は極力少なくしましょう。ロールが増えるに従って管理が煩雑になります。通常、ユーザー一人につき1つのロールを割り当てるようにしてください。Yellowfinで、一人に複数のロールを割り当てることは、ビジネスユーザーに混乱をもたらしがちです。 |
レポートカテゴリー
すべてのレポートはコンテンツアクセスの設定によって管理されており、同様のセキュリティとカテゴリー構造によって管理されています。
レポートのセキュリティは、個々のアイテムレベルではなく、カテゴリーとサブカテゴリーのレベルで管理されます。これはレポートの作成をよりシンプルにするためです。
詳細については、コンテンツカテゴリーを参照してください。
例
新しいレポートを作成するたびに誰がそれを見ることができるのか設定しなければならないのは煩雑です。この機能により、新規作成されたレポートのセキュリティは、属するカテゴリーとサブカテゴリーから継承します。
主な用途 | レポートの参照を部署などのビジネスグループによって制限する場合に有効です。 編集・更新レベルのセキュリティが設定されているビューで、カテゴリーにアクセス権を与えられているということは、それを閲覧する権限しか持たないカテゴリーに対してレポートを公開する権限を与えることになります。 |
使うべきでない場合 | ユーザーがあるビューからレポートを作成することができるのに(これはすなわちそのビューのセキュリティが無効であることを意味します)、そのビューに論理的に適合するカテゴリーを見つけることができないような場合、カテゴリーを使ったセキュリティに意味はありません。 たとえば、カテゴリーが人事レポートで、ビューが人事データベースのビューだとします。 ビューのセキュリティが無効で、ユーザーがレポートを作成することができる場合、ユーザーはレポートビルダーを通して元のデータにアクセスできるわけですから、カテゴリーに設定されたセキュリティは無意味です。 また、すべてのビューに対して閲覧レベルのアクセス権しか設定しないのであれば、カテゴリーへのセキュリティは必要ありません。 |
利点 | カテゴリーのセキュリティは、閲覧のみのユーザーを特定分野から除外したいときに有効です。 |
ヒント | カテゴリーはユーザーが直観的に理解できるように作成してください。 たとえば「人事専用」というカテゴリーは、経営幹部が人事のために利用するためだけに使われます。 カテゴリーにレポートを公開するユーザーは、そのカテゴリーのセキュリティについて十分理解していなければなりません。 |
ソースシステムのアクセス管理
Yellowfinでソースシステムとの接続を設定する際、どのユーザーがソースに対してSQLクエリーを発行できるかだけでなく、どのユーザーがそのソースに対してビューを作成できるかも設定することができます。
ソースシステムのセキュリティに関する原則は、レポート作成者に対して、そのソースからビューを作成することを制御するためのものだということです。ユーザーがソースシステムに対してレポートを作成でき、それによって無制限にデータにアクセスできるのであれば、このプロセスをスルーしていることになります。
詳細については、データソースを参照してください。
例
人事管理システムがソースシステムとしてセットアップされているとして、ソースのセキュリティが無効な場合、ビューを作成できる権限をもつユーザー全員が、従業員名簿を含むすべてのテーブルを閲覧できてしまいます。人事システムにセキュリティを設定することで、許可されたユーザーだけがこのソースに対してビューを作成、管理することができるようになります。
主な用途 | 複数のビュー管理者がいる場合:管理者ごとにアクセス可能なソースデータベースを指定することができます。 レポート作成のためにソースに対するSQLクエリーの発行を許可しており、かつデリケートなデータが含まれる場合にはお使いください。 |
使うべきでない場合 | レポート作成者にドラッグ&ドロップによるレポート作成を制限するために使うものではありません。 |
利点 | 選ばれた数人のユーザーを管理するのに便利です。 |
ヒント | ビューの管理権限を持つユーザーの数を制限してください。特に彼らに同じソースシステムを編集させる場合これは重要です。 管理者が複数存在すると、ビューを管理する時に競合の問題が発生することがあります。 |
注意:稼働中のYellowfinでレポート作成者が1人しかおらず、ソースにSQLクエリーを発行できるユーザーもいない場合には、ソースシステムのセキュリティを無効に設定しておいてもかまいません。
ビューのアクセス管理
レポートを作成し、どんなレポートでも作成することができるビューへのアクセス権限を持つユーザーに対するセキュリティは、ビューセキュリティによって設定されます。
レポートを作成、あるいは編集する場合、ユーザーはどのフィールドが利用可能かビューレコードに問い合わせます。ここではセキュリティチェックがおこなわれ、セキュリティが設定されているビューに対してアクセス権限を持つユーザーだけがアクセスすることができます。
ビューに関するセキュリティは、それに保存されるデータへのアクセスを管理する観点から、最も厳しいものになっています。編集のアクセス権をコントロールできるだけでなく、どのユーザーが特定のビューから作成されたレポートを閲覧ことができるのかを制御することが可能です。
詳細については、ビューオプションを参照してください。
例
たとえば財務に関するビューが作成され、財務部だけが、そのビューを使ったレポートの作成を許されているとします。この場合、ビューをセキュアに設定し、財務部に属するユーザーを編集のアクセス権を持つアクセスリストに加えます。
主な用途 | 特定のビューを使ってレポートを作成できるユーザーを制限したい場合に使うべきです。 特定のビューによって作成されたレポートについて、閲覧することはできるものの作成する権限を持たないユーザーを設定したい場合にも使用します。 |
使うべきでない場合 | ビューのレポートが少数のユーザーによって作成され、より広いコミュニティに公開されるような場合には、閲覧レベルのセキュリティは使わないほうがいいでしょう。代わりにカテゴリーのセキュリティを使ってください。 たとえば、ビューがデリケートなデータを含む場合でも、このビューを使って(そのデータを含まない)レポートを作成して配信しなければならないことがあります。 カテゴリーとビューの両方でアクセスを制限するよりは、単にレポートが所属するカテゴリーでそれを制限する方が簡単です。 デリケートなデータがないのであれ、無用なセキュリティをかけるべきではありません。 |
利点 | 編集・更新レベルセキュリティを管理するのが簡単です。カテゴリーセキュリティと一緒に閲覧レベルのセキュリティを使うことは混乱の原因になりがちです。 |
ヒント | そのビューに対して誰がレポートを作成しているか、またそのレポートが誰に向けて作成されているのかを把握する必要がある場合には、これを使うのが良いでしょう。また、レポートが広く公開されるものならば、参照の制限をかけるべきではありません。 |
カラムアクセスと制限
時として、一般的な利用のために作成されたビューにデリケートなカラムが混在している場合があります。たとえば、人事管理に関するビューには、当然給料のカラムが含まれます。しかしながら、これは誰にでも見られていいものではありません。
このような場合、次のような2種類の対策が考えられます。
- ビューのコピーを作成して、給料カラムをそれから除外します。ビューにデリケートなデータが含まれないことをがわかるように、新しい名前でこのビューを保存してください。
- Yellowfinには、特定のカラムだけに制限をかける機能があります。あるカラムにこの制限をかければ、そのカラムは許可されたユーザー以外は参照できなくなります。
注意:カラムへの制限は、グローバルに適用されます。1つのビューに含まれる複数のカラムに対して、異なるユーザーへのアクセス許可を指定することはできません。
レポートを作成するときは、アクセス権をもつユーザーだけがそのカラムを見ることができます。ただし、有効化したレポートについては、制限がかけられたカラムであってもそのレポートへのアクセス権を持つすべてのユーザーに表示されてしまいます。
詳細については、フィールドアクセスと使用方法を参照してください。
例
主な用途 | そのビューが多くのユーザーが利用できるべきものであり、デリケートなカラムへのアクセスを許可するユーザーがごく少数で済む場合にお使いください。 |
使うべきでない場合 | そのビューが一般的なものであり、ユーザーがそれに含まれるカラムすべてに同じようにアクセスできるような場合には使うべきではありません。 |
利点 | ビューに含まれるカラムに対して個別にセキュリティを設定することができます。 |
ヒント | 管理の観点から言えばメンテナンスが難しいセキュリティオプションです。できるだけ他の方法を検討してください。 ビューへのアクセス権をもつユーザーだけが、カラムレベルのアクセス権を持つことができます。 |
アクセスフィルター/値ベースのフィルターの追加
時として、一般的な利用のために作成されたビューから、ユーザーの組織内での役職(たとえばコストセンターの管理者など)に関連したデータのみにアクセスさせたい場合があります。そのような場合には、アクセス権、あるいは値に基づくフィルターを作成することができます。
たとえばコストセンターとそのユーザーだけがそデータソースを使えるようにデータソース接続の設定を変更してください。次にそのビューでソースフィルターに関連する特定のカラムを指定します。つまりビューのどのカラムがコストセンターに関わるカラムであるかを明示するわけです。
レポート作成にあたって、このコストセンターフィルターがアクセス権のフィルターとして動作するように指定します。この場合、レポート閲覧者が所有する権限が、クエリーのフィルターとして渡されます。こうすることで、アクセス権限をもつユーザーだけが、そのレポートでデータを閲覧することができます。
詳細については、ソースアクセスフィルターを参照してください。
例
主な用途 | そのビューが多くのユーザーが利用できるべきものであり、かつアクセス権をデータとユーザーの関係(たとえばコストセンターとその管理者など)に基づいて制限したい場合にお使いください。 このメカニズムは、個人向けのレポートを作成するような場合非常に便利です。値に基づくフィルターを使えば、1つのレポートを多くのユーザー向けに公開することができます。各々のユーザーは同じレポートから自分の権限に見合ったデータだけを閲覧することができます。 |
使うべきでない場合 | そのビューが一般的なものであり、ユーザーがそれに含まれるカラムすべてに同じようにアクセスできるような場合には使うべきではありません。 |
利点 | ビューに含まれるデータのうち、関連のあるデータだけ表示するように制限することができます。 |
ヒント | これは、管理者から見てメンテナンスのしやすいオプションです。 このメカニズムによって、自分がビューの中の特定のデータのみを参照できるということを知っているすべてのユーザーに適切なアクセス権を与えることができます。 |