プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebCenter Portalの管理
12c (12.2.1.1)
E77296-01
目次へ移動
目次

前
次

30 Webサービス・セキュリティの構成

この章では、WebCenter Portalおよび関連するサービスとコンポーネントに、Webサービス・セキュリティ(WS-Security)を設定する方法を説明します。

WS-Securityでは、OPSSキーストア・サービス(KSS)キーストアを使用し、1つ以上のドメインを対象として、WebCenter Portalアプリケーションと補助アプリケーションおよびコンポーネントのセキュリティ資格証明を取得および管理するメカニズムを提供します。KSSキーストアは、認証およびデータ整合性に使用可能な公開鍵および秘密鍵に関する情報を提供します。

次のトピックでは、WS-Securityを使用した標準トポロジを構成する方法(WebCenter PortalアプリケーションとWSRPプロデューサが同じドメインを共有し、BPELサーバーが外部SOAドメインに存在する場合)、およびこの構成をより複雑な環境用に拡張する方法について説明します(たとえば、2番目のディスカッション・サーバーが別のドメインに存在し、BPELサーバーが別のSOAドメインに存在し、1つのWSRPプロデューサが外部ポートレット・ドメインに存在する場合)。

権限

この章のタスクを実行するには、Oracle WebLogic Server管理コンソールでWebLogic ServerのAdminロールが付与されている必要があります。MonitorまたはOperatorロールを持つユーザーは、セキュリティ情報を表示できますが変更することはできません。

「管理操作、ロールおよびツールの理解」も参照してください。

30.1 標準トポロジの場合のWS-Securityの構成

この項では、WebCenter Portalアプリケーション、WSRPプロデューサおよびディスカッション・サーバーは同一ドメインを共有しているが、BPEL (SOA)サーバーは外部ドメインに配置されているトポロジの場合にWS-Securityを構成する方法を説明します。

標準トポロジ

  • ドメイン1 : WebCenter Portal、ディスカッション、ポートレット・プロデューサ

  • ドメイン2 : SOA

標準の2つのドメイン・トポロジの場合にWS-Securityを構成する手順は、次の各項で説明しています。

30.1.1 WebCenter Portalドメイン・キーストアの作成

この項では、OPSSキーストア・サービス(KSS)を使用してWebCenter Portalキーストアおよびキーを作成する方法を説明します。キーストアとは、使用可能な公開鍵および秘密鍵の情報を提供するファイルです。キーは、認証やデータ整合性など、様々な目的に使用されます。また、ユーザー証明書や、ピア証明書の検証に必要なトラスト・ポイントも、キーストアにセキュアに格納されます。キーストアを作成すると、KSSを使用して、WebCenter Portal、ディスカッション・サーバー、BPELサーバーおよびWSRPプロデューサのセキュリティ資格証明を取得および管理できます。OPSSキーストア・サービスの詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』のキーストア・サービスを使用したキーと証明書の管理に関する項を参照してください。

WebCenter Portalドメイン・キーストアを作成するには:

  1. 次のWLSTコマンドを実行します。
    svc = getOpssService(name='KeyStoreService')
  2. 次のWLSTコマンドを使用して、キーストアを作成します。
    svc.createKeyStore(appStripe='appStripe', name='producer', password='password', permission=true/false))

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名

    • password - キーストア・パスワード

    • permission — 権限とパスワードの両方によって保護する場合はfalse (キーストアを権限のみで保護する場合はtrue)

    例:

    svc.createKeyStore(appStripe='WCPortalStripe', name='producer', password='welcome1', permission=true))
  3. この新しく作成されたキーストアのキー・ペアを生成します。
    svc.generateKeyPair(appStripe='appstripe', name='name', password='password', dn='CN=Producer, OU=Producer, O=MyOrganization, L=MyTown, ST=MyState, C=US', keysize='2048', alias='producer', keypassword='keypassword')

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名

    • password - キーストア・パスワード

    • dn - ドメイン名(dn='CN=webcenter_certificate'など)

    • alias - 公開鍵の別名

    • keypassword - 新しい公開鍵のパスワード

    例:

    svc.generateKeyPair(appStripe='WCPortalStripe', name='producer', password='welcome1', dn='CN=Producer, OU=Producer, O=MyOrganization, L=MyTown, ST=MyState, C=US', keysize='2048', alias='producer', keypassword='welcome1')
  4. プロデューサ証明書(コンシューマによって使用される)をエクスポートします。
    svc.exportKeyStoreCertificate(appStripe='appstripe', name='name', password='password', alias='alias', type='TrustedCertificate',filepath='filepath')

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名

    • password - キーストア・パスワード

    • alias - 公開鍵の別名

    • keypassword - 新しい公開鍵のパスワード

    • filepath - 証明書パス

    例:

    svc.exportKeyStoreCertificate(appStripe='WCPortalStripe', name='producer', password='welcome1', alias='producer', type='TrustedCertificate',filepath='/scratch/certificate/webcenter.cer')

30.1.2 SOAドメイン・キーストアの作成

この項では、OPSSキーストア(KSS)を使用してSOAドメイン・キーストアおよびキーを作成する方法を説明します。KSSコマンドの構文情報および参照情報は、『Oracle Fusion Middlewareインフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のOPSSキーストア・サービス・コマンドに関する項を参照してください。

SOAドメイン・キーストアを作成するには:

  1. 次のWLSTコマンドを使用して、OPSSサービス・コマンド・オブジェクトを取得します。
    svc = getOpssService(name='KeyStoreService')
  2. キーストアを作成します。
    svc.createKeyStore(appStripe='appStripe', name='name', password='password', permission=true/false))

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名

    • password - キーストア・パスワード

    • permission — 権限とパスワードの両方によって保護する場合はfalse (キーストアを権限のみで保護する場合はtrue)

    例:

    svc.createKeyStore(appStripe='SOAStripe', name='bpel', password='welcome1', permission=true))
  3. 新しく作成されたキーストアのキー・ペアを生成します。
    svc.generateKeyPair(appStripe='appstripe', name='name', password='password', dn='CN=Producer, OU=Producer, O=MyOrganization, L=MyTown, ST=MyState, C=US', keysize='2048', alias='bpel', keypassword='keypassword')

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名

    • password - キーストア・パスワード

    • dn - ドメイン名(dn='CN=webcenter_certificate'など)

    • alias - 公開鍵の別名

    • keypassword - 新しい公開鍵のパスワード

    例:

    svc.generateKeyPair(appStripe='SOAStripe', name='bpel', password='welcome1', dn='CN=BPEL, OU=Consumer, O=MyOrganization, L=MyTown, ST=MyState, C=US', keysize='2048', alias='bpel', keypassword='welcome1')
  4. プロデューサによってエクスポートされた証明書をインポートします。
    svc.importKeyStoreCertificate(appStripe='appStripe', name='name', password='password', alias='webcenter_spaces_ws', keypassword='keypassword', filepath='filepath',type='TrustedCertificate')

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名

    • password - キーストア・パスワード

    • keypassword - 新しい公開鍵のパスワード

    • filepath - 証明書パス

    注意:

    importKeyStoreCertificateコマンドの別名は、常にwebcenter_spaces_wsに設定する必要があります。この別名は変更しないでください。SOAユースケースが失敗します。

    例:

    svc.importKeyStoreCertificate(appStripe='SOAStripe', name='bpel', password='welcome1', alias='webcenter_spaces_ws', keypassword='welcome1', filepath='/scratch/certificate/webcenter.cer',type='TrustedCertificate')
  5. プロデューサによってインポートされる公開証明書をエクスポートします。
    svc.exportKeyStoreCertificate(appStripe='appstripe', name='name', password='password', alias='alias', filepath='filepath',type='TrustedCertificate')

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名

    • password - キーストア・パスワード

    • alias - 公開鍵の別名

    • filepath - 証明書パス

    例:

    svc.exportKeyStoreCertificate(appStripe='SOAStripe', name='bpel', password='welcome1', alias='bpel', filepath='/scratch/certificate/bpel.cer',type='TrustedCertificate')
  6. SOAドメインに新しく作成されたストライプを登録します。
    configureWSMKeystore('/WLS/base_domain','KSS', 'kss://appstripe/bpel', signAlias='bpel', cryptAlias='bpel', signAliasPassword='signAliasPassword',cryptAliasPassword='cryptAliasPassword')

    ここで:

    • WLS/base_domain — ドメイン名で、次の形式に従う必要があります。WLS/<domainName>

    • kss://appstripe/bpel — KSSキーストア名

    • cryptAlias — 公開鍵別名

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • signAliasPassword — 公開鍵のパスワード

    • cryptAlias — 公開鍵別名

    • cryptAliasPassword — 公開鍵のパスワード

    例:

    configureWSMKeystore('/WLS/base_domain','KSS', 'kss://SOAStripe/bpel', signAlias='bpel', cryptAlias='bpel', signAliasPassword='signAliasPassword',cryptAliasPassword='cryptAliasPassword')
  7. SOAドメインに新しく作成されたbpelストライプにキーストア権限を付与します。
    grantPermission(permClass="oracle.security.jps.service.keystore.KeyStoreAccessPermission", permTarget="stripeName=SOAStripe,keystoreName=bpel,alias=*", permActions="read")
  8. コンシューマ証明書をWebCenterにインポートします。
    svc.importKeyStoreCertificate(appStripe='appstripe', name='name', password='password', alias='bpel', keypassword='keypassword', filepath='filepath', type='TrustedCertificate')
    

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名

    • password - キーストア・パスワード

    • alias - 公開鍵の別名

    • keypassword - 新しいキーのパスワード

    • filepath - 証明書パス

    例:

    svc.importKeyStoreCertificate(appStripe='WCPortalStripe', name='producer', password='welcome1', alias='bpel', keypassword='welcome1', filepath='/scratch/certificate/bpel.cer', type='TrustedCertificate')
    
  9. プロデューサ・ストライプを登録します。
    configureWSMKeystore('/WLS/wc_domain','KSS', 'kss://appstripe/producer', signAlias='producer', signAliasPassword='signAliasPassword', cryptAlias='cryptAlias', cryptAliasPassword='cryptAliasPassword')

    ここで:

    • wc_domain — WebCenter Portalドメイン

    • signAliasPassword — 公開鍵のパスワード

    • cryptAlias — 公開鍵別名

    • cryptAliasPassword — 公開鍵のパスワード

    例:

    configureWSMKeystore('/WLS/WLS_SOAWC','KSS', 'kss://WCPortalStripe/producer', signAlias='producer', signAliasPassword='welcome1', cryptAlias='producer', cryptAliasPassword='welcome1')
  10. 新しく作成されたトライプにキーストア権限を付与します。
    grantPermission(permClass="oracle.security.jps.service.keystore.KeyStoreAccessPermission", permTarget="stripeName=WCPortalStripe,keystoreName=producer,alias=*", permActions="read")

30.1.3 ディスカッション・サーバーの構成

トポロジのディスカッション・サーバーがWC_Portalサーバーと同じドメインにあり、本番環境で使用されない場合は、追加のキーストア構成は必要ありません。これは、WebCenter Portalドメインに構成されているキーストアがディスカッション・サーバーでも使用されるからです。ただし、本番環境では、ディスカッションWebサービス・エンドポイントをOWSMポリシーで保護し、ディスカッション・サーバー接続設定を構成する必要があります。これらの構成手順は、次の各トピックで説明します。

注意:

WebCenter Portalからディスカッション・サーバーに送信されるディスカッション固有のWebサービス・メッセージは暗号化されません。メッセージの機密保護のため、Secure Socket Layer (SSL)を介してディスカッション・サーバーのURLにアクセスする必要があります。詳細は、「SSLの構成」を参照してください。

30.1.3.1 WebCenter PortalおよびディスカッションWebサービス・エンドポイントに対するセキュリティ・ポリシーの添付

新規またはパッチ適用済のWebCenter Portalインスタンスでは、割り当てられたセキュリティ/ポリシーの構成は、セキュリティ・ポリシーなしに設定されます。Oracle Web Services Manager (OWSM)のセキュリティ・ポリシーを、WebCenter PortalのWebサービス・エンドポイントおよびディスカッションの認証Webサービス・エンドポイントに添付する必要があります。本番環境では、「ディスカッション・エンドポイントの保護」の手順に従って、セキュリティを強化することで続行します。

注意:

パッチが適用されるWebCenter Portalインスタンスでは、パッチを適用する前にポリシー名を決定し、アップグレードした後にポリシーが同じであることを確認する必要があります。

Webサービス・セキュリティ・ポリシー構成を新しいインスタンスに添付する手順は次のとおりです。

注意:

クラスタ化環境では、WebCenter Portalおよびディスカッションがデプロイされている管理対象サーバーごとにこれらの手順を繰り返します。

  1. WC_PortalおよびWC_Collaboration管理対象サーバーが実行中であることを確認します。
  2. 次のWLSTコマンドを実行して、OWSMポリシーをディスカッションWebサービス・エンドポイントに添付します。
    attachWebServicePolicy(application='owc_discussions', moduleName='owc_discussions', moduleType='web', serviceName='OWCDiscussionsServiceAuthenticated', subjectName='OWCDiscussionsServiceAuthenticated', policyURI='oracle/wss10_saml_token_service_policy')
    
  3. WC_PortalおよびWC_Collaboration管理対象サーバーを再起動します。

30.1.3.2 ディスカッション・エンドポイントの保護

ディスカッションWebサービス・エンドポイントでは、WebCenter Portalから発信されるコールに対してユーザー・アイデンティティを伝播する必要があります。本番環境では、転送中に他者がメッセージを改ざんしたり、表示したりできないように、Webサービス・エンドポイントをOWSMポリシーで保護する必要があります。これを実行するには、パブリック・アクセス用のWebサービス・エンドポイントと認証済ユーザー・アクセス用のエンドポイントの両方を、Fusion Middleware ControlまたはWLSTを使用して適切なOWSMポリシーで保護する必要があります。

この項では、次の項目について説明します。

30.1.3.2.1 Fusion Middleware Controlを使用したディスカッション・サーバー・エンドポイントの保護

Fusion Middleware Controlを使用してディスカッション・エンドポイントを保護する手順は次のとおりです。

  1. Fusion Middleware Controlにログインして、ナビゲーション・ペインから、「WebCenter」→「ポータル」→「ディスカッション」を開いて、「ディスカッション(WC_Collaboration)」をクリックします。

    「ディスカッション」ホームページが表示されます(図30-1を参照)。

    図30-1 「ディスカッション」ホームページ

    図30-1の説明が続きます
    「図30-1 「ディスカッション」ホームページ」の説明
  2. owc_discussionsターゲットをクリックします。

    owc_discussionsアプリケーションのホームページが表示されます(図30-2を参照)。

    図30-2 owc_discussionsのホームページ

    図30-2の説明が続きます
    「図30-2 owc_discussionsのホームページ」の説明
  3. 「アプリケーションのデプロイ」メニューから、「Webサービス」を選択します。

    owc_discussionsアプリケーションの「Webサービス」ページが表示されます(図30-3を参照)。

    図30-3 owc_discussionsの「Webサービス」ページ

    図30-3の説明が続きます
    「図30-3 owc_discussionsの「Webサービス」ページ」の説明
  4. 「Webサービス」タブを開き、OWCDiscussionsServiceAuthenticated Webサービス・エンドポイントをクリックします。

    owc_discussionsのWebサービス・エンドポイント・ページが表示されます(図30-4を参照)。

    図30-4 「Webサービス・エンドポイント」ページ

    図30-4の説明が続きます
    「図30-4 「Webサービス・エンドポイント」ページ」の説明
  5. 「アタッチ/デタッチ」をクリックします。

    「ポリシーの添付」ページが表示されます(図30-5を参照)。

    図30-5 「ポリシーの添付」ページ

    図30-5の説明が続きます
    「図30-5 「ポリシーの添付」ページ」の説明
  6. 「アタッチ」ボタンと「デタッチ」ボタンを使用して、oracle/wss11_saml_token_with_message_protection_service_policyを添付し、oracle/wss10_saml_token_service_policyを削除します。
  7. 「OK」をクリックします。
30.1.3.2.2 WLSTを使用したディスカッション・サーバー・エンドポイントの保護

WLSTを使用してディスカッション・サーバー・エンドポイントを保護するには、次のWLSTコマンドを使用して、wss10_saml_token_service_policyを削除し、wss11_saml_token_with_message_protection_service_policyを添付します。

detachWebServicePolicy(application='owc_discussions', moduleName='owc_discussions', moduleType='web', serviceName='OWCDiscussionsServiceAuthenticated', subjectName='OWCDiscussionsServiceAuthenticated', policyURI='oracle/wss10_saml_token_service_policy')

attachWebServicePolicy(application='owc_discussions', moduleName='owc_discussions', moduleType='web', serviceName='OWCDiscussionsServiceAuthenticated', subjectName='OWCDiscussionsServiceAuthenticated', policyURI='oracle/wss11_saml_token_with_message_protection_service_policy')

30.1.3.3 ディスカッション・サーバーの接続設定の構成

「ディスカッション・サーバーの登録」で説明しているように、使用しているWebCenter Portalアプリケーションに構成されているディスカッション・サーバーの接続にWS-Securityクライアント証明書情報を指定する必要があります。図30-6は、「ディスカッションおよびお知らせ接続の編集」ページの接続詳細の設定の例を示しています。

図30-6 「ディスカッションおよびお知らせ接続の編集」ページ

図30-6の説明が続きます
「図30-6 「ディスカッションおよびお知らせ接続の編集」ページ」の説明

30.2 複数ドメインのWS-Securityの構成

この項では、たとえば、WebCenter Portalアプリケーション、BPEL (SOA)サーバー、ディスカッション・サーバーおよびWSRPプロデューサ・サーバーがそれぞれ独自のドメインに存在するトポロジの場合に、標準トポロジのWS-Securityの構成を拡張する方法を説明します。

複数ドメイン・トポロジ

  • ドメイン1 : WebCenter Portal

  • ドメイン2 : SOA (BPEL)サーバー

  • ドメイン3 : ディスカッション・サーバー

  • ドメイン4 : WSRPプロデューサ

複数のドメインが含まれるトポロジの場合にWS-Securityを構成する手順は、次の各トピックで説明しています。

30.2.1 WebCenter Portalドメイン・キーストアの設定

WebCenter Portalドメイン・キーストアを作成する場合は、「WebCenter Portalドメイン・キーストアの作成」で説明している、標準トポロジでWS-securityを構成する手順に従います。キーストアを作成すると、KSSを使用して、WebCenter Portal、ディスカッション・サーバー、BPELサーバーおよびWSRPプロデューサのセキュリティ資格証明を取得および管理できます。OPSSキーストア・サービスの詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』のキーストア・サービスを使用したキーと証明書の管理に関する項を参照してください。

30.2.2 SOAドメイン・キーストアの作成

「SOAドメイン・キーストアの作成」の説明に従い、OPSSキーストア(KSS)を使用してSOAドメイン・キーストアおよびキーを作成します。KSSコマンドの構文情報および参照情報は、『Oracle Fusion Middlewareインフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のOPSSキーストア・サービス・コマンドに関する項を参照してください。

30.2.3 外部ディスカッション・サーバーの構成

ディスカッション・サーバーがWebCenter Portalとは異なるドメインにある場合は、ディスカッション・サーバーにキーストアを作成して構成し、公開鍵が含まれる証明書をエクスポートして、それをWebCenter Portalドメインにインポートする必要があります。本番環境では、ディスカッションのWebサービス・エンドポイントをOWSMポリシーで保護し、ディスカッション・サーバー接続設定を構成する必要もあります。それらの設定手順は、次の各項で説明します。

30.2.3.1 ディスカッション・サービス・エンドポイントの保護

ディスカッションのWebサービス・エンドポイントでは、WebCenter Portalから発信されるコールに対してユーザー・アイデンティティを伝播する必要があります。「ディスカッション・エンドポイントの保護」の手順に従い、Fusion Middleware ControlまたはWLSTを使用してこれらのエンドポイントを保護します。

30.2.3.2 ディスカッション・サーバー・キーストアの作成

この項では、OWSMで使用されるキー・ペアが含まれるキーストアをディスカッション・サーバーに作成し、公開鍵が含まれる証明書をエクスポートして、それをWebCenter Portalドメインにインポートできるようにする方法を説明します。

owc_discussionsキーストアを作成するには:

  1. ディスカッション・サーバーから、次のWLSTコマンドを実行します。

    svc = getOpssService(name='KeyStoreService')

  2. キーストアを作成します。
    svc.createKeyStore(appStripe='appStripe', name='discussions', password='password', permission=true/false))

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名

    • password - キーストア・パスワード

    • permission — 権限とパスワードの両方によって保護する場合はfalse (キーストアを権限のみで保護する場合はtrue)

    例:

    svc.createKeyStore(appStripe='dfstripe', name='discussions', password='welcome1', permission=false)
  3. 新しく作成されたキーストアのキー・ペアを生成します。
    svc.generateKeyPair(appStripe='appstripe', name='name', password='password', dn='CN=Producer, OU=Producer, O=MyOrganization, L=MyTown, ST=MyState, C=US', keysize='2048', alias='discussions', keypassword='keypassword')

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名(この場合はdiscussions)。

    • password - キーストア・パスワード

    • dn — ドメイン名

    • alias - 公開鍵の別名(この場合はdiscussions)

    • keypassword - 新しい公開鍵のパスワード

    例:

    svc.generateKeyPair(appStripe='dfstripe', name='discussions', password='welcome1', dn='CN=DISCUSSIONS, OU=Consumer, O=MyOrganization, L=MyTown, ST=MyState, C=US', keysize='2048', alias='discussions', keypassword='welcome1')
  4. プロデューサによってエクスポートされた証明書をインポートします。
    svc.importKeyStoreCertificate(appStripe='appStripe', name='name', password='password', alias='webcenter_df_ws', keypassword='keypassword', filepath='filepath',type='TrustedCertificate')

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名(この場合はdiscussions)

    • password - キーストア・パスワード

    • keypassword - 新しい公開鍵のパスワード

    • filepath - 証明書パス

    例:

    svc.importKeyStoreCertificate(appStripe='dfstripe', name='discussions', password='welcome1', alias='webcenter_df_ws', keypassword='welcome1', filepath='/scratch/certificate/webcenter.cer',type='TrustedCertificate')
  5. プロデューサによってインポートされる公開証明書をエクスポートします。
    svc.exportKeyStoreCertificate(appStripe='appstripe', name='name', password='password', alias='alias', filepath='filepath',type='TrustedCertificate')

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名

    • password - キーストア・パスワード

    • alias - 公開鍵の別名

    • filepath - 証明書パス

    例:

    svc.exportKeyStoreCertificate(appStripe='dfstripe', name='discussions', password='welcome1', alias='discussions', filepath='/workplace/certificate/discussions.cer',type='TrustedCertificate')
  6. 新しく作成されたストライプを登録します。
    configureWSMKeystore('/WLS/base_domain','KSS', 'kss://dfstripe/discussions', signAlias='discussions', cryptAlias='discussions', signAliasPassword='signAliasPassword',cryptAliasPassword='cryptAliasPassword')

    ここで:

    • signAliasPassword — 署名鍵別名のパスワード

    • cryptAliasPassword — 暗号化鍵別名のパスワード

  7. 新しく作成されたdiscussionsストライプにキーストア権限を付与します。
    grantPermission(permClass="oracle.security.jps.service.keystore.KeyStoreAccessPermission", permTarget="stripeName=dfstripe,keystoreName=discussions,alias=*", permActions="read")
  8. 管理対象サーバーおよび管理サーバーを再起動します。
  9. ディスカッション公開証明書をWebCenterにインポートします。
    svc.importKeyStoreCertificate(appStripe='appstripe', name='name', password='password', alias='discussions', keypassword='keypassword', filepath='filepath', type='TrustedCertificate')
    

    ここで:

    • appstripe - キーストア・ストライプ名。キーストア内に作成されたキーおよび証明書はアプリケーション・ストライプまたは製品内に存在し、ドメイン内の各ストライプには一意の名前が付けられます

    • name - キーストア名

    • password - キーストア・パスワード

    • alias - 公開鍵の別名

    • keypassword - 新しいキーのパスワード

    • filepath - 証明書パス

    例:

    svc.importKeyStoreCertificate(appStripe='WCPortalStripe', name='producer', password='welcome1', alias='discussions', keypassword='welcome1', filepath='/workplace/certificate/discussions.cer', type='TrustedCertificate')
    

30.2.3.3 ディスカッション・サーバーの接続設定の構成

「ディスカッション・サーバーの登録」で説明しているように、WebCenter Portalに構成されているディスカッション・サーバーの接続にWS-Securityクライアント証明書情報を指定する必要があります。図30-7は、「ディスカッションおよびお知らせ接続の編集」ページの接続詳細の設定の例を示しています。

図30-7 「ディスカッションおよびお知らせ接続の編集」ページ

図30-7の説明が続きます
「図30-7 「ディスカッションおよびお知らせ接続の編集」ページ」の説明

30.2.4 外部ポートレット・ドメイン・キーストアの作成

外部ポートレット・ドメイン・キーストアを作成するには:

  1. JDK_HOME/jdk/binに移動し、コマンド・プロンプトを開きます。
  2. keytoolを使用して、WebCenter Portalドメインの公開証明書をインポートすることでキーストアを生成します。
    keytool -importcert -alias webcenter_public -file webcenter_public.cer -keystore producer.jks -storepass keystore_password
    

    ここで:

    • keystore_passwordは、キーストア・パスワードです。

    例: 証明書のインポート

    keytool -importcert -alias webcenter_public -file webcenter_public.cer -keystore producer.jks -storepass MyPassword
    
  3. keytoolを使用して、キー・ペアを生成します。
    keytool -genkeypair -keyalg RSA -dname "consumer_dname" -alias producer  -keypass key_password -keystore producer.jks -storepass keystore_password  -validity days_valid
    

    ここで:

    • consumer_dnameは、コンシューマの名前です(例: cn=producer,dc=example,dc=com)。

    • key_passwordは、新規公開鍵のパスワードです(例: MyPassword)。

    • keystoreは、キーストア名です(例: webcenter.jks)。

    • keystore_passwordは、キーストアのパスワードです(例: MyPassword)。

    • days_validは、キーのパスワードが有効な日数です(例: 1064)。

      例: キー・ペアの生成

      keytool -genkeypair -keyalg RSA -dname "cn=producer,dc=example,dc=com" -alias  producer -keypass MyPassword -keystore producer.jks -storepass MyPassword  -validity 1064

    注意:

    キーを生成するためにkeytoolによって使用されるデフォルト・アルゴリズム(DSA)は、Oracle Web Services Security Managerの要件に適合しないため、上に示すように、-keyalgパラメータを使用し、その値としてRSAを指定する必要があります。

  4. WebCenter Portalドメインのキーストアにインポートできるように、公開鍵が含まれる証明書をエクスポートします。
    keytool -exportcert -v -alias producer -keystore producer.jks -storepasskeystore_password -rfc -file producer_public_key.cer
    

    ここで:

    • keystore_passwordは、キーストアのパスワードです(例: MyPassword)。

    例: 公開鍵が含まれる証明書のエクスポート

    keytool -exportcert -v -alias producer -keystore producer.jks -storepass MyPassword  -rfc -file producer_public_key.cer
    
  5. WebCenter Portalドメインに、異なる別名で証明書をインポートします(別名がproducer_public_keyの既存の証明書を上書きするかどうかを尋ねられたら「Yes」を選択します)。
    keytool -importcert -alias producer_public_key -file producer_public_key.cer  -keystore webcenter.jks -storepass keystore_password
    

    ここで:

    • keystore_passwordは、キーストアのパスワードです(例: MyPassword)。

    例: 証明書のインポート

    keytool -importcert -alias producer_public_key -file producer_public_key.cer  -keystore webcenter.jks -storepass MyPassword
    

30.3 WebCenter Portal Client APIを使用するアプリケーションに対するWS-Securityを使用したWebCenter Portalの保護

この項では、WebCenter Portal APIを公開するアプリケーション(コンシューマ)とWebCenter Portal (プロデューサ)の間の通信のセキュリティが確保され、そのAPIを呼び出すユーザーのアイデンティティが保護されるように、WebCenter PortalにWS-Securityを構成する場合に必要な管理者タスクについて説明します。

この項には次のトピックが含まれます:

30.3.1 WebCenter PortalクライアントAPIを使用するアプリケーションの標準トポロジの構成

クライアント・アプリケーションがWebCenter Portalと同じドメインの一部である場合は、GroupSpaceWSContext()に対して次のコマンドを設定するだけで済みます。

GroupSpaceWSContext context = new GroupSpaceWSContext();
context.setRecipientKeyAlias("producer");

注意:

ここでの別名は常に公開鍵にする必要があります。

クライアント・アプリケーションがJDeveloperであり、WebCenter Portalサーバーの構成済キーストアにアクセスできる場合は、同じキーストアをJDeveloperのDefaultDomain/config/fmwconfig/dirにコピーし、このキーストアを使用するようにJDeveloperドメインを構成します。これらの手順は、「WebCenter Portalドメイン・キーストアの作成」の手順とまったく同じであり、その上で、クライアント・スタブに次のコマンドを指定する必要があります。

GroupSpaceWSContext context = new GroupSpaceWSContext();
context.setRecipientKeyAlias("producer");

30.3.2 WebCenter PortalクライアントAPIを使用するアプリケーションの複数ドメイン・トポロジの構成

クライアント・アプリケーションがWebCenter Portalと同じドメインの一部である場合は、GroupSpaceWSContext()に対して次のコマンドを設定するだけで済みます。

GroupSpaceWSContext context = new GroupSpaceWSContext();
context.setRecipientKeyAlias("producer");

注意:

ここでの別名は常に公開鍵にする必要があります。

クライアント・アプリケーションがJDeveloperの場合、同じキーストアをJDeveloperのDefaultDomain/config/fmwconfig/dirにコピーして、このキーストアを使用するようにJDeveloperドメインを構成します。これらの手順は、「WebCenter Portalドメイン・キーストアの作成」の手順とまったく同じであり、その上で、クライアント・スタブに次のコマンドを指定する必要があります。

GroupSpaceWSContext context = new GroupSpaceWSContext();
context.setRecipientKeyAlias("producer");

30.4 標準トポロジの場合のJKSコマンド・サマリー

標準トポロジの場合にキーストアを迅速に構成するには、次のコマンド・サマリーを使用します。これらのコマンドは、JKSキーストアの構成方法について説明します。

WebCenter側

次のkeytoolコマンドを使用して、キーストアを生成し、太字で示した値をローカル環境の値に置き換えます。

keytool -genkeypair -keyalg RSA -dname "cn=spaces,dc=example,dc=com" -alias webcenter -keypass MyPassword -keystore webcenter.jks -storepass MyPassword -validity 1064
keytool -exportcert -v -alias webcenter -keystore webcenter.jks -storepass MyPassword -rfc -file webcenter_public.cer

SOA側

keytool -genkeypair -keyalg RSA -dname "cn=bpel,dc=example,dc=com" -alias bpel -keypass MyPassword -keystore bpel.jks -storepass MyPassword -validity 1024
keytool -exportcert -v -alias bpel -keystore bpel.jks -storepass MyPassword -rfc -file bpel.cer
keytool -importcert -alias webcenter_spaces_ws -file webcenter_public.cer -keystore bpel.jks -storepass welcome1

WebCenter側

keytool -importcert -alias bpel -file bpel.cer -keystore webcenter.jks -storepass welcome1

webcenter.jksファイルをdomain_home/config/fmwconfigディレクトリにコピーし、bpel.jksファイルをsoa_domain_home/config/fmwconfigディレクトリにコピーします。

SOAドメイン・キーストアの構成

次のWLSTコマンドを実行してキーストアを登録します。

configureWSMKeystore('/WLS/wc_domain',JKS, 'webcenter.jks', signAlias='producer', signAliasPassword='signAliasPassword', cryptAlias='cryptAlias', cryptAliasPassword='cryptAliasPassword')

ここで:

  • wc_domain — WebCenter Portalドメイン

  • signAliasPassword — 公開鍵のパスワード

  • cryptAlias — 公開鍵別名

  • cryptAliasPassword — 公開鍵のパスワード

例:
configureWSMKeystore(context='/WLS/wc_domain', keystoreType='JKS', location='./consumer.jks',keystorePassword='welcome1', signAlias='consumer', signAliasPassword='welcome1', cryptAlias='consumer', cryptAliasPassword='welcome1')

30.5 標準トポロジを拡張する場合のJKSコマンド・サマリー

複数ドメイン・トポロジの場合にキーストアおよびDFプロパティを迅速に構成するには、次のコマンド・サマリーを使用します。

WebCenter側

次のkeytoolコマンドを使用して、キーストアを生成し、太字で示した値をローカル環境の値に置き換えます。

keytool -genkeypair -keyalg RSA -dname  "cn=spaces,dc=example,dc=com" -alias webcenter -keypass MyPassword -keystore webcenter.jks -storepass MyPassword -validity 1064

keytool -exportcert -v -alias webcenter -keystore webcenter.jks -storepass MyPassword -rfc -file webcenter_public.cer

SOA側

keytool -genkeypair -keyalg RSA -dname "cn=bpel,dc=example,dc=com" -alias bpel -keypass MyPassword -keystore bpel.jks

keytool -exportcert -v -alias bpel -keystore bpel.jks -storepass MyPassword -rfc -file bpel.cer

keytool -importcert -alias webcenter_spaces_ws -file webcenter_public.cer -keystore bpel.jks -storepass welcome1

証明書を信頼するかを尋ねられたら、yesと答えます。

ディスカッション

keytool -genkeypair -keyalg RSA -dname "cn=disc,dc=example,dc=com" -alias discussions -keypass MyPassword -keystore discussions.jks

keytool -exportcert -v -alias discussions -keystore discussions.jks -storepass MyPassword -rfc -file disc.cer

keytool -importcert -alias webcenter_public -file webcenter_public.cer -keystore discussions.jks -storepass MyPassword

証明書を信頼するかを尋ねられたら、yesと答えます。

WebCenter側

keytool -importcert -alias df_webcenter_public -file disc.cert -keystore discussions.jks -storepass MyPassword

証明書を信頼するかを尋ねられたら、yesと答えます。

keytool -importcert -alias webcenter_spaces_ws -file bpel.cer -keystore bpel.jks -storepass MyPassword

注意:

webcenter_spaces_wsとしての別名を維持します。

外部ディスカッション・サーバー・ドメイン・キーストアの構成

WebCenter側で次のWLSTコマンドを実行してキーストアを登録します。

configureWSMKeystore(context='/WLS/wc_domain',keystoreType='JKS',location='./producer.jks',keystorePassword='welcome1',signAlias='producer',signAliasPassword='welcome1',cryptAlias='producer',cryptAliasPassword='welcome1')

ここで:

  • wc_domain — WebCenter Portalドメイン

  • signAliasPassword — 公開鍵のパスワード

  • cryptAlias — 公開鍵別名

  • cryptAliasPassword — 公開鍵のパスワード

SOAドメイン・キーストアの構成

次のWLSTコマンドを実行してキーストアを登録します。

configureWSMKeystore(context='/WLS/wc_domain',keystoreType='JKS',location='./bpel.jks',keystorePassword='welcome1',signAlias='producer',signAliasPassword='welcome1',cryptAlias='producer',cryptAliasPassword='welcome1')

ここで:

  • wc_domain — WebCenter Portalドメイン

  • signAliasPassword — 公開鍵のパスワード

  • cryptAlias — 公開鍵別名

  • cryptAliasPassword — 公開鍵のパスワード

ディスカッション・キーストアの登録

次のWLSTコマンドを実行してキーストアを登録します。

configureWSMKeystore('/WLS/wc_domain','JKS', discussions.jks, signAlias='producer', signAliasPassword='signAliasPassword', cryptAlias='cryptAlias', cryptAliasPassword='cryptAliasPassword')

ここで:

  • wc_domain — WebCenter Portalドメイン

  • signAliasPassword — 公開鍵のパスワード

  • cryptAlias — 公開鍵別名

  • cryptAliasPassword — 公開鍵のパスワード

ディスカッション・サーバー接続の構成

「ディスカッション・サーバーの登録」で説明しているように、WebCenter Portalに構成されているディスカッション・サーバーの接続にWS-Securityクライアント証明書情報を指定します。「ディスカッションおよびお知らせ接続の編集」ページの接続詳細の設定の例は、「ディスカッション・サーバーの接続設定の構成」も参照してください。