6 ACLおよびロールの使用
ACLは、管理システムと配信システムの両方で使用されます。ただし、次のトピックの主要な焦点は、管理システムのユーザー管理です。配信システムのユーザー管理の詳細は、『Oracle WebCenter Sitesでの開発』の、WebCenter Sitesの開発プロセスに関する項を参照してください。
6.1 ACLとロールの概要
ユーザー、データベース表およびWebCenter SitesページにACLを割り当てることで、WebCenter Sitesシステムまたはデータベース表へのアクセスを制御できます。サイトおよびそのコンポーネントへのアクセスを管理するために、ロールを使用します。インタフェース機能を有効化したり、非表示にしたりするには、サイト上でロールをユーザーとインタフェース機能に割り当てます。
ユーザーのACLがデータベースのACLと一致すると、ユーザーにはデータベース表での操作権限(ACLにより定義されます)が与えられます。そのため、ACLはセキュリティおよびユーザー管理モデルの基盤としての役割を果たします。ACLがない場合、ユーザー・アカウントは作成できません。
ユーザーのロールがインタフェース機能に割り当てられたロールと一致すると、その機能がそのユーザーに対して有効になります。一致しないと、その機能は無効となります。
ユーザーを設定する前に、ユーザーのACLおよびロールを決定する必要があります。LDAPプラグインを使用してユーザー・アカウントを作成する予定であっても、ACLおよびロールが存在しない場合には、WebCenter Sitesでこれらを作成する必要があります。
6.2 アクセス制御リスト(ACL)
アクセス制御リスト(ACL)は、読取り、書込み、作成、取得などの指定された一連のデータベース操作権限です。WebCenter Sites (およびWebCenter Sitesのコンテンツ・アプリケーション)のすべてが、1つ以上のデータベース表に、1つ以上の行で表されるため、すべてのWebCenter Sitesシステムのユーザー管理はACLから始まります。
ACLにより、次のアイテムへのアクセスを制限できます。
-
個々のデータベース表
-
個々のWebCenter Sitesページ
WebCenter SitesおよびWebCenter Sitesコンテンツ・アプリケーションは、これらの機能を表すデータベース表へのユーザーのアクセス権をACLを介して制御します。WebCenter Sitesは、機能の実行を試みるユーザーのユーザー・アカウントに、データベース表に割り当てられたものと同じACLが割り当てられていることを確認します。
たとえば、ユーザー・アカウント情報は、SystemUsersとSystemUserAttrsというシステム表に含まれています。特定のACLがこれらのシステム表に割り当てられているため、ユーザー・アカウントに同じACLが割り当てられているユーザーのみが、ユーザーを作成したり、既存のユーザー情報を編集できます。
ACLは、許可機能を提供することによって、WebCenter Sitesシステムにおけるセキュリティおよびユーザー管理モデルの基盤として機能します。ユーザー情報の格納にLDAPなどの外部のユーザー・マネージャを使用している場合でも、WebCenter SitesのACLを使用する必要があります。
WebCenter Sitesページを表示するには、ユーザーは必ず、少なくともBrowser ACLを持っている必要があります。ただし、追加のACLの制限が適用されるのは、wcs_properties.json
ファイル内のcc.security
プロパティ(「コア」カテゴリ)がtrue
に設定されている場合のみです。cc.security
プロパティの詳細は、『Oracle WebCenter Sitesプロパティ・ファイル・リファレンス』のコア・プロパティに関する項を参照してください。「外部セキュリティの設定」も参照してください。
ACLは、ユーザー・アカウント、データベース表、およびSiteCatalog表のページ・エントリ(つまり、WebCenter Sitesページ)の3つに割り当てられます。
ノート:
配信システムでのユーザー管理もACLに基づきます。訪問者がそのサイトの領域にアクセスするには登録またはログインが必要となるようにオンライン・サイトを設計している場合は、配信システムで必要となるACLを作成し、それらを該当するデータベース表に割り当てます。
一般的には、サイト・デザイナがWebCenter SitesページへのACLの割当てを行います。『Oracle WebCenter Sitesでの開発』の管理システムのユーザー管理に関する項では、配信システムでのユーザー管理プロセスの設計方法について説明し、訪問者をサイトにログインさせて訪問者のIDを検証するページのコード・サンプルを提供しています。
トピック:
6.2.1 ユーザー・アカウントのACL
各ユーザーには、少なくとも1つのACLが割り当てられる必要があります。ユーザーに割り当てられたACLにより、そのユーザーのWebCenter Sitesシステムへのアクセス権が定義されます。
ユーザーにユーザー・アカウントが1つとACLが1セットあれば、アクセスするサイトがいくつあっても、ユーザーは、サイトごとに異なるロール・セットを持つことができます。したがって、ユーザーには、サイト固有のすべてのロールを実行するために必要な権限を与えるために必要となるすべてのACLが割り当てられる必要があります。
たとえば、そのロールを持つユーザーがテンプレート・アセットを作成できるようにするロールを作成する場合、テンプレートの作成ではElementCatalog
表にデータを書き込むため、そのロールを割り当てられたユーザーには、ElementEditor ACLも割り当てる必要があります。
Oracle WebCenter SitesとWebCenter Sitesコンテンツ・アプリケーションでは、いくつかのシステムACLを使用して、機能へのユーザー・アクセスを制御します。これらのACLの様々な組合せをユーザーに割り当てる必要があります。システムACLとその権限については、システム・デフォルトを参照してください。
6.2.2 データベース表のACL
表内のデータへのアクセスを制限するには、「管理」ノード(「一般的な管理」ツリー配下)を介して使用できるWebCenter Sitesデータベース・フォームを介して、それにACLを割り当てます。これで、同じACLを持つユーザーのみが、この表のデータにアクセスできるようになります。
表に複数のACLを割り当てる場合、ユーザーが表にアクセスするためには、それらのACLのうち1つのみ必要です。ユーザーのその表に対するアクセス権(読取り、書込み、作成など)は、そのACLで定義されているものとなります。
WebCenter Sitesシステムのすべての表(およびWebCenter Sitesのコンテンツ・アプリケーションのいくつかの表)には、ACLの制限があります。SystemInfo表には、WebCenter Sitesデータベース内のすべての表とそれらに割り当てられているACLがリストされています。「カスタム表へのACLの割当て」を参照してください。
ノート:
Oracle WebCenter Sites Explorerアプリケーションを使用して、ACLをデータベース表に追加しないでください。かわりに、「管理」ノードの「システム・ツール」ノードにある「サイト・データベース」オプションを使用してください。
WebCenter Sitesデータベースで外部の表を登録する場合を除き、たとえ変更が可能なACLを持つユーザー・アカウントであっても、SystemInfo
表の情報は変更しないでください。『Oracle WebCenter Sitesでの開発』の外部表に関する項を参照してください。
6.2.3 SiteCatalog表のページ・エントリのACL
SiteCatalog表には、オンライン・サイト(つまり、配信システムから配信しているサイト)に表示されるページおよび、WebCenter Sitesコンテンツ・アプリケーションに表示されるすべてのページのページ・エントリが含まれます。ページへのアクセスを制限するには、これにACLを割り当てます。
一般的には、サイト開発者が配信システムでのページ制限の構成方法を決定します。ただし、管理システムでユーザー・インタフェースをカスタマイズしている場合は、管理者がACLを使用してカスタム・ページへのアクセスを制限する必要が生じることがあります。
6.2.4 システムACL
新たにインストールしたWebCenter Sitesシステムには、システムACLのみが含まれています。Sitesとともにパッケージ化されているサンプル・サイトに対して追加のACLは作成されていません。
6.2.5 カスタムACL
WebCenter Sitesでは、包括的なACLのセットを提供しているので、独自に作成する必要が生じることはほとんどありません。ただし、管理システムまたは配信システムでのユーザー管理ニーズによりACLを作成する必要が生じる場合もあります。次に例を示します。
-
サイトでユーザー登録が必要な場合、サイト訪問者のACLのセットを作成する必要が生じることがあります。
-
開発者が機能を作成し、これらを新しいタブに配置して管理システムをカスタマイズする場合、その新しい機能とタブをサポートするには、追加のACL (またはロール)を作成する必要が生じることがあります。
ACLの作成と適用は管理タスクですが、まずは、サイト・デザイナや開発者とともに、必要となるACLとそれらの適用方法を決定する必要があります。
6.3 ACLの使用
ノート:
LDAP統合オプションを使用している場合、ユーザーおよびサイト管理操作に対するシステム・レスポンスに注意してください。システム・レスポンスについては、LDAP統合Sitesシステムでのユーザー、サイト、およびロールを参照してください。
6.3.1 ACLの作成
ノート:
ACLを作成する際、ACLがロールと釣り合うように、使用するロールを考慮してください。たとえば、ユーザーがテンプレート・アセットを作成できるようにするロールを作成する場合、テンプレートの作成ではElementCatalog表にデータを書き込むため、そのロールを割り当てられたユーザーには、ElementEditor
ACLも割り当てる必要があります。
新規ACLを作成するには:
6.3.4 カスタム表へのACLの割当て
管理者またはサイト・デザイナが表を作成する場合、管理者はACLをこれらの表に割り当てることによってこれらの表へのアクセスを制限する必要が生じることがあります。一般的には、新しい表を作成するときに、これらにACLを割り当てます。(『Oracle WebCenter Sitesでの開発』のユーザー・アクセスの制御に関する項を参照してください)。
ノート:
追加ACL (デフォルトで割り当てられている以外のACL)を、システムやコア製品の表に割り当てないでください。
ACLを既存の表に割り当てるには::
6.3.5 WebCenter SitesページへのACLの割当て
ACLは、ほとんど常に、Oracle WebCenter Sites Explorerツールを使用して設定します。ただし、管理者は、「作成」または「編集」フォームのフィールドを介して、SiteEntryまたはテンプレート・アセットに対して作成されたページ・エントリにACLを割り当てることができます。
SiteEntryアセットにACLを割り当てるには:
-
変更するSiteEntryアセットを検索して開きます。
-
「アクセス制御リスト」フィールドで、このアセットに割り当てるACLを選択します。
-
アセットを保存します。
新しいSiteEntryアセットを作成する場合にも、「アクセス制御リスト」フィールドを使用できます。SiteEntryアセットを作成する場合は、同じ方法でACLを割り当てます。
ACLをテンプレート・アセットに割り当てるには:
- 変更するテンプレート・アセットを検索して開きます。
- 「エレメント」セクションを選択します。
- 「アクセス制御リスト」フィールドで、このアセットに割り当てるACLを選択します。
- アセットを保存します。
新しいテンプレート・アセットを作成する場合にも、「アクセス制御リスト」フィールドを使用できます。テンプレート・アセットを作成する場合は、同じ方法でACLを割り当てます。
SiteEntryアセットまたはテンプレート・アセットに関連付けられていないページにACLを割り当てるには、Oracle WebCenter Sites Explorerツールを使用します。
6.4 ロール
ロールは、WebCenter Sitesのインタフェース機能へのサイト固有のアクセスを管理します。業務の説明、またはコンテンツ・プロバイダ、エディタ、サイト・デザイナ、管理者など、類似機能を持つ個々の役職を表します。作成されたサイト数に関係なく、各WebCenter Sitesユーザーには1つのユーザー定義(アカウント)があります。ただし、ユーザーのロールはサイトごとに異なる場合があります。
サイトに対してユーザーを有効にすると、そのユーザーは、そのサイトに対して実行するジョブのコンテキスト内で有効になります。
サイトに対してユーザーに割り当てられるロールにより、次のことが決定されます。
-
そのサイトでユーザーが作成できるアセット。
-
そのサイトでユーザーが検索できるアセット。
-
ユーザーがサイトにログインしたときにツリーで開いているタブ。
-
ユーザーがワークフロー・プロセスに加わることが可能かどうか、および可能な場合、それはワークフロー・プロセスのどのステップか。
-
ワークフロー・プロセスを進める際に、ユーザーがアセットで実行できる機能と実行できない機能。
-
ユーザーがワークフロー・プロセスを管理できるかどうか、あるいはそのサイトでワークフロー・グループを作成または変更できるかどうか。
システム・ロールの理解
いくつかのシステム・ロールはWebCenter Sitesによりインストールされます。WebCenter Sitesのコンテンツ・アプリケーションを機能させるには1つのロールが必要となり、WebCenter Sites管理者を機能させるには3つのロールが必要となります。「システム・ロール」を参照してください。
カスタム・ロールの理解
ACLとは異なり、ロールは通常、サイトにおける全範囲のユーザーの役割に対応するために作成する必要があるオブジェクトです。ロールを作成するには、「ロールの使用」の項の手順を実行してください。
サンプル・ロールの理解
1つ以上のサンプル・サイトをインストールした場合、そのサイトに含まれる多くのサンプル・ロールにアクセスできます。ロールによって、サンプル・サイトのユーザーは様々なツリー・タブへのアクセスが許可されます。独自のサイトでアクセス制御を構成する方法の例として、サンプル・ロールを使用できます。
6.5 ロールの使用
サイトのユーザーに割り当てられたロールを作成、編集および削除して、サイトおよびそのコンポーネントへのアクセスを管理できます。
次の各トピックでは、ロールを作成、編集、削除する方法を示します。
ノート:
LDAPを使用している場合、ユーザーおよびサイト管理操作に対するシステム・レスポンスに注意してください。システム・レスポンスについては、LDAP統合Sitesシステムでのユーザー、サイト、およびロールを参照してください。