(偽装者による)偽装セッションを開始する方法および(被偽装者による)偽装セッションを許可する方法の詳細は、『Oracle WebCenter Portalの使用』のWebCenter Portal偽装の使用に関する項を参照してください。偽装ELおよび偽装APIの詳細は、『Oracle JDeveloperによる、WebCenter Portalアセットおよびカスタム・コンポーネントの開発』の偽装に関連したELに関する項を参照してください。
この章の内容は次のとおりです。
権限
この章のタスクを実行するには、Oracle WebLogic Server管理コンソールでWebLogic ServerのAdmin
ロールが付与されている必要があります。Monitor
またはOperator
ロールを持つユーザーは、セキュリティ情報を表示できますが変更することはできません。
「管理操作、ロールおよびツールの理解」も参照してください。
この項には次のトピックが含まれます:
WebCenter Portal偽装を使用すると、WebCenter Portal管理者またはシステム管理者が、サポート担当者やアプリケーション管理者などのユーザーのグループ(「偽装者」)に偽装の権限を割り当てることができます。こうすることによって、偽装者は他のユーザー(「被偽装者」)として操作を実行できます。これは、偽装する追加の権限を偽装者に付与する被偽装者が対象となることに注意してください。この機能は次のような場合に役立ちます。
顧客サポート担当者が、ユーザーが直面している問題を理解するために、そのユーザーのかわりとしてアクションを実行する場合。
管理者が、ユーザーのかわりに操作を実行する場合。
会社の管理職が不在のときに、その管理職のかわりにその責務を果たす権限を誰かに委任する必要がある場合。
また被偽装者のシステムからOracle Access Manager (OAM)に参加するすべてのアプリケーションは、偽装者へのアクセスが可能になります。唯一の例外は、偽装者が偽装タスク・フローにアクセスして、偽装の権限を付与したり変更することができなくなることです。したがって、管理者が偽装の権限を付与する際には、偽装者が潜在的にアクセス可能な対象を考慮して、細心の注意を払う必要があります。偽装者は、ごく限られたグループにする必要があります。
偽装に対する監査ログ機能をオンにして、管理者は監査ログを定期的にモニターし、偽装アクティビティを確認する必要があります。監査ログ機能の詳細は、「WebCenter Portal偽装の監査ログの管理」を参照してください。
偽装セッションを開始するには、被偽装者と偽装者が、偽装セッションの適切な時間帯に同意する必要があります。この場合、被偽装者はその時間帯にのみ偽装の権限を付与する必要があります。被偽装者は、偽装者が完了した直後に偽装の権限を取り消す必要があります。
偽装者がログアウトすると、偽装セッションが終了することに注意してください。また偽装セッションは、指定された偽装時間の終点に達したときにも終了します。たとえば、ユーザーが午後の1:00から2:00の間に偽装者に偽装の権限を付与した場合、偽装者が偽装セッションを1:00から2:00の間のいつ開始しても、そのセッションは2:00に終了します。
また、偽装者が偽装セッションを行っている最中に、ユーザーが明示的に偽装権限付与を取り消した場合、取消し操作はそのユーザーに対する既存の偽装セッションには影響を与えません。影響を与えるのは、次回偽装者がユーザーの偽装を試みたときのみです。ユーザーは、有効な被偽装者のリストには表示されません。
WebCenter Portal偽装はOAM 11.1.2.0に依存しています。WebCenter Portalインスタンスのために偽装を有効化するには、その前にまずOAM 11g (Oracleのシングル・サインオン・ソリューション)をインストールして構成し、OAMで偽装を有効にする必要があります。OAM 11gのインストールと構成の詳細は、「Oracle Access Managerの構成」を参照してください。
この項には次のトピックが含まれます:
WebCenter Portalの偽装を準備するには、まずOAM 11.1.2.0をインストールして構成し、OAMで偽装を有効にする必要があります。また、参加しているユーザーごとに偽装属性を追加する必要があります。
注意:
WebCenter Portal偽装では、OAM 11.1.2.0をシングル・サインオン・ソリューションとしてインストールおよび構成し、OID 11.1.2.0をアイデンティティ・ストアとしてインストールおよび構成することが要求されます。
10gまたは11gのいずれかのWebGateを使用してOAM 11.1.2.0をインストールおよび構成する(「Oracle Access Managerの構成」を参照してください)
偽装を有効化する
アイデンティティ・ストアで各参加ユーザーに偽装属性を追加する
参加しているWebCenter Portalインスタンスごとに偽装を構成する
WebCenterアプリケーション・ロールに偽装の権限を追加することにより、偽装の権限を持つユーザーを構成する
「Oracle Access Managerの構成」で説明されているように(10gまたは11gのいずれかのWebGateを使用して) OAM 11.1.2.0をインストールおよび構成した後、次に示すようにidmConfigTool
を使用してOAMで偽装を有効化して続行します
偽装を有効にする手順は次のとおりです。
idmConfigTool
を使用して、次のドキュメントのIDM構成ツールを使用したAccess Managerの構成に関する項に示されているように、OAMを構成します: 『Oracle Fusion Middleware Oracle Identity Managementエンタープライズ・デプロイメント・ガイド』。true
に設定します。ユーザーを偽装者または被偽装者として有効にするには、それらのユーザーが、OIDで偽装権限付与を保存するために使用可能な次の属性を保持している必要があります。
orclImpersonationGrantee
orclImpersonationGranter
これらの属性は、OIDでデフォルトで使用可能なorclIDXPerson
オブジェクト・クラスの一部です。このオブジェクト・クラスは、偽装者または被偽装者として参加させるユーザーのユーザー・レコードごとに、オブジェクト・クラスのリストに追加する必要があります。これを実行するには、次の各トピックで説明されているように、オブジェクト・クラスの追加を個別のユーザーに対して行うか、複数のユーザーに対するバルク更新として行います。
個々のユーザーに対してOIDで偽装権限付与を保存するための属性を追加するには、次の手順に従います。
個々のユーザーにオブジェクト・クラスを追加するには:
ODSMにログインします(通常はhttp://
host:port
/odsm
)。
OAMおよびWebCenter用に構成されているディレクトリに接続します。
各参加ユーザーに対して、次の手順を実行します。
データブラウザでドリルダウンするか、データブラウザの検索フィールドを使用して、変更するユーザーを見つけます。
図32-1
で示されているように、「属性」画面を開いて、既存のオブジェクト・クラスのリストにorclIDXPersonオブジェクト・クラスを追加します。
「適用」をクリックします。
OAMをインストールして構成し、OAMで偽装を有効化したら、次に示すように、WebCenter PortalインスタンスでOAM偽装のトリガー・エンド・ポイントを構成する必要があります。
WLSTを使用して、Weblogic管理サーバーに管理者として接続し次のコマンドを実行しますが、このとき、oamhost
およびoamserverport
をOAMの該当するホストIDおよびポートで置き換えます。
addOAMSSOProvider(loginuri="/${app.context}/adfAuthentication", logouturi="/oamsso/logout.html", beginimpuri="http://oamhost
:oamserverport
/oam/server/impersonate/start", endimpuri="http://oamhost
:oamserverport
/oam/server/impersonate/end")
WebCenter Portalドメイン内のすべてのサーバーを再起動します(管理サーバーを含む)。
WebCenter PortalサーバーとOAMとの間に時間差がある場合は、それを説明することが必要になることもあります。偽装の開始時刻と終了時刻は、WebCenter Portalで受け入れられても、時間設定の整合性を取るために、OAMによって強制されます。時間差を説明する手順は次のとおりです。
管理者としてWebCenter Portalにログインします。
「管理」→「属性」を選択します。
「属性」ページが表示されます。
ヒント:
ブラウザでページを開くことにより、「属性」ページに直接アクセスすることもできます。
http://host:port
/webcenter/faces/oracle/webcenter/webcenterapp/view/pages/admin/WebCenterAdmin-CustomAttributes.jspx
ここでhost
およびport
は、WC_Portal
サーバーのホストおよびポートのIDです。
WebCenter PortalサーバーがOAMサーバーより遅れている場合は+を使用して偽装時間デルタを秒単位で指定し、進んている場合は-記号を使用して指定します。例:
oracle.webcenter.security.impersonation.timedelta = -480
これは、OAMとWebCenter Portalとの間に8分の時間差があり、WebCenter Portalサーバーの方が進んでいる場合を示しています。
ヒント:
$domain.home/bin/setDomainEnv.sh
ファイルに設定を追加することもできます。
EXTRA_JAVA_PROPERTIES="-Doracle.webcenter.spaces.osso=true
-Doracle.webcenter.security.impersonation.timedelta=-480"
export EXTRA_JAVA_PROPERTIES
WebCenter Portal管理対象サーバー(WC_Portal
)を再起動します。
OAMとWebCenter Portalを構成したら、webcenter#-#impersonators
ロールにユーザーまたはグループを追加することにより、偽装権限の付与先のユーザーを構成することも必要になります。初期設定でこのロールが付与されているユーザーはいません。WebCenter Portalインスタンスでユーザーを偽装する資格があるのは、直接のメンバーシップまたはエンタープライズ・ロール・メンバーシップによってこのロールに属しているユーザーのみです。
注意:
他のユーザーを偽装できるようになる権限をユーザーに付与する際には、注意が必要です。偽装の権限を付与するのは、この機能を業務上必要としているユーザーのみにしてください。ベスト・プラクティスの詳細は、「WebCenter Portal偽装の使用のベスト・プラクティス」を参照してください。
grantAppRole
WLSTコマンドを使用して、webcenter#-#impersonators
ロールを1つ以上のエンタープライズ・ロールまたは1人以上のユーザーに付与します。例:
SupportRepresentatives
と呼ばれるエンタープライズ・ロールに偽装者のロールを付与するには:
grantAppRole(appStripe="webcenter", appRoleName="webcenter#-#impersonators", principalClass="weblogic.security.principal.WLSGroupImpl", principalName="SupportRepresentatives")
weblogic
という名前のユーザーに偽装者のロールを割り当てるには:
grantAppRole(appStripe="webcenter", appRoleName="webcenter#-#impersonators", principalClass="weblogic.security.principal.WLSUserImpl", principalName="weblogic")
エンタープライズ・ロールまたはユーザーの偽装者権限を取り消すには、revokeAppRole
WLSTを使用します。例:
SupportRepresentatives
と呼ばれるエンタープライズ・ロールから偽装者のロールを取り消すには:
revokeAppRole(appStripe="webcenter", appRoleName="webcenter#-#impersonators", principalClass="weblogic.security.principal.WLSGroupImpl", principalName="SupportRepresentatives")
weblogic
という名前のユーザーから偽装者のロールを取り消すには:
revokeAppRole(appStripe="webcenter", appRoleName="webcenter#-#impersonators", principalClass="weblogic.security.principal.WLSUserImpl", principalName="weblogic")
注意:
ロールの割当ての変更はすぐに有効になります。管理対象サーバーを再起動する必要はありません。
WebCenter Portal偽装はデフォルトでは無効になっているので、偽装をあらかじめ有効にしていないかぎり、オフにするためにすべきことはありません。ただし、すでに偽装を有効にしていて、これから無効にする場合は、WebCenter PortalおよびOAMで次の手順に従ってオフにしてください。
WebCenter Portalで偽装をオフにした場合、その特定のインスタンスでのみ無効になることに注意してください。OAMで偽装を無効にするまで、偽装が無効化された他のWebCenter Portalインスタンスが影響を受けることはありません。
WebCenter Portalの偽装を無効化する手順は次のとおりです。
管理者としてFusion Middleware Controlにログインします。
「WebCenterドメイン」→「セキュリティ」→「セキュリティ・プロバイダ構成」に移動します。
「プロパティ」セクションに移動して「構成」をクリックします。
PropertySetsで、偽装の開始URIと終了URI (通常は"props.auth.uri.0
")を定義するプロパティ・セットを見つけます。
プロパティimp.begin.url
およびimp.end.url
を削除します。
WebCenter Portalドメイン内のすべてのサーバーを再起動します(管理サーバーを含む)。
OAMで偽装を無効にするまで、他のWebCenter Portalドメインの偽装は引き続き有効になることに注意してください。
OAMで偽装を無効にして、偽装を完全にオフにする手順は次のとおりです。
セッション・インジケータは、偽装セッション中にデフォルトで偽装者の画面に表示されるオーバーレイです。このオーバーレイは、偽装セッションがアクティブであるという視覚的な手掛かりを提供し、また「偽装の中止」をクリックすることでセッションを中止する迅速な方法も提供しますが、図32-2に示すようにユーザーの(被偽装者の)画面の一部の表示を妨げる場合があります。
注意:
偽装セッション通知ツールバーがオフになっている場合、「偽装の中止」ボタンが表示されなくなるので、ユーザーは「偽装」ページを使用して偽装セッションを中止する必要があります。
次に示すように、セッション・インジケータのオーバーレイをオフにすることができます。
セッション・インジケータをオフにするには:
偽装者が被偽装者のリストを表示するために使用するデフォルトの[Ctrl]+[Shift]+[I]ホットキー・シーケンスは、必要に応じてオーバーライドできます。
ホットキー・シーケンスを変更するには:
WebCenter Portal偽装を有効にすると、Fusion Middleware Audit Serviceの一部として偽装関連のイベントのログ記録がアクティブになります。デフォルトでは、監査ログ・イベントはファイル(監査バスストップ)に格納されますが、データベースにアップロードして永続化することもできます。
注意:
WebCenter Portal偽装を有効にする場合は、監査ログも有効にすることを強くお薦めします。偽装を有効にすると、監査ログによって、偽装者、被偽装者および各偽装イベントのコンテキストが追跡されます。
監査バスストップ・ファイルの容量は限られているため、イベントの発生後、それらが問合せ可能になるまでに時間がかかる場合は、ログ情報をデータベースに格納することもお薦めします。
偽装監査ログの主な利点は次のとおりです。
ポータル、ポータル・サーバーおよびポータル・サーバーの主要アーティファクトのセキュリティ設定を変更するイベントを追跡できます。
監査可能なイベントには、偽装者、被偽装者およびイベントのコンテキストの定義に役立つすべての関連イベント・ペイロードが含まれます。
ロギング・レベルを定義できます
ログに記録されたイベントをデータベースにアップロードすると、それらは永続的に参照可能になります。
監査サービスを通じて、監査イベントに関するレポートを参照できます。
WebCenter Portalの監査ログ機能の管理の詳細は、「Oracle WebCenter Portal監査ログの管理」を参照してください。監査サービスを構成してデータベースを使用する方法の詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』の監査の構成および管理に関する項を参照してください。