legacy-knowledge-base
公開されました Jul. 2, 2025

Liferay Portal 6.1 EE GA2 における SAML のクイックスタートガイド

written-by

Justin Choi

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

この記事はレガシー記事です。 Liferay製品の旧バージョンにも適用されます。 記事のメンテナンスは終了していますが、情報はまだ通用する可能性があります。

SAML(Security Assertion Markup Language)は、IDプロバイダーとサービスプロバイダー間で認証・認可データを交換するためのXMLベースのオープンスタンダードなデータフォーマットです。 2001年にOASISによって開発され(SAML 1.0)、2005年に最新の規格に更新された(SAML 2.0)が、この規格がある。

Liferayの観点では、SAML 2.0はEEプラグインとして提供されています。 このプラグインは、IDプロバイダーとサービスプロバイダーの2つの動作モードをサポートしています。 このプラグインはOpenSAMLをベースに構築されており、プラットフォームに依存せず、多くのSaasアプリケーションでサポートされています。 認証情報には、java keystoreが使用されます。

対象製品

Liferay Portal 6.1 EE GA2

SAMLユースケース#1 - Quick Start SAML Integration with Salesforce.com - 【LiferayをIdP、SFDCをSPとして】

解像度

I. SAMLをセットアップする

1. Idp用のキーストアを作成する
鍵ストアをまだ持っていない場合は作成します。 bundles/dataフォルダーで、実行します:
keytool -genkeypair -alias [name of the key] -keyalg RSA -keysize 2048 -keypass [password to the key] -storepass [password to the key store] -keystore data/keystore.jks
以下の質問にお答えください:
あなたの姓と名を教えてください。
[Unknown]:
組織単位の名称をお聞かせください。
[Unknown]:
組織名を教えてください。
[Unknown]:
あなたの市町村の名称は何ですか?
[Unknown]:
あなたの州や県の名前は何ですか?
[Unknown]:
本機の2文字の国番号は何ですか?
[Unknown]:
CN=xxxx、OU=xxxx、O=xxxx、L=xxxx、ST=xxxx、C=xxxxでしょうか。
[no]: はい
のキーパスワードを入力してください。
(keystoreのパスワードと同じ場合はRETURN):
新しいパスワードを再入力してください:
キーが生成されると、データフォルダーの $Liferay_Homeに以下のファイルとして表示されます。
01.JPG
2. salesforce.com用の証明書をエクスポートします:
keytool -export -alias [name of the key] -file liferaysamlidpdemo.crt -keystore keystore.jks
これには、ステップ1で設定したキーストアのパスワードが必要です
証明書のエクスポートに成功すると、データフォルダ内に以下のファイルが表示されます:
02.JPG
II. セールスフォース・ドットコムにアカウントを設定する
1. http://www.salesforce.com でアカウントを作成します。
2. Setup-> Security Controls-> Single Sign On Settings に移動します。
3. SAML バージョン 2 を有効にする
4. SAMLシングルサインオン設定の新規追加
5. スクリーンショットのような設定を追加し、設定を保存します。
03.JPG
6. salesforceからメタデータXMLファイル salesforce-meta.xml をダウンロードし、 $liferay_home/data に保存する。
III. Portal-ext.properties(ポータルエクストプロパティ
portal-ext.propertiesファイルに以下のSAMLプロパティを追加し、ファイルを保存します。
saml.enabled=true
saml.role=idp
saml.entity.id=liferaysamlidpdemo
saml.require.ssl=false
saml.sign.metadata=true
saml.idp.authn.request.signature.required=true
saml.keystore.path=${liferay.home}/data/keystore.jks
saml.keystore.password=[キーストアに設定したパスワード]。
saml.keystore.type=jksとします。
saml.keystore.credential.password[liferaysamlidpdemo]= [キーストアに設定したパスワード]。
saml.metadata.paths=${liferay.home}/data/salesforce-meta.xml
注:プロパティの一部の項目は、お客様の設定に応じて更新する必要があります。
IV. ポータルの構成
1. Marketplace から SAML 2.0 Provider EE Portlet をダウンロードします。
2. Liferay 6.2 EE bundle を起動します。
3. SAML 2.0 Provider EE Portletをデプロイします。
4. Liferay Portalを再起動する
5. 管理者としてログインし、Liferayポータルで以下の操作を行います:
6.1. 手順2でsalesforce.comに登録したアカウントと同じユーザー名を持つユーザーを作成する。
6.2. 以下の情報を含むページをサイトに追加してください:
名称:セールスフォース
タイプ: URLへのリンク
URL: /c/portal/saml/sso?entityId=https://saml.salesforce.com
04.JPG
9. 手順6.1で作成したユーザーでサインインします。
10. 手順6.2で作成したページをクリックする
結果:
正しく設定されていれば、手順8.2で作成したページをクリックした後、再認証することなくsalesforce.comに誘導されます。

SAMLユースケース#2 - LiferayをIdPとして2つのSPにつなぐ

ほとんどのプロパティは、SPごとに設定可能です。 (セールスフォースで述べたような) メタデータパスのプロパティには、カンマ(,)で区切って、さらにSPを追加することができます。 ファイルシステムのパスやURLも使用可能です。

SAMLユースケース#3 - Liferayの2つのインスタンス - 一方はIdPとして、もう一方はSPとして。

このユースケースは、2つのLiferayインスタンスをセットアップし、一方をIdPとして、もう一方をSPとしてセットアップする方法を詳細に説明します。 Liferayの1つのインスタンスでIdPとSPの両方の役割を果たすように設定することは、現在できません。

1. 最初のインスタンスをIdP として構成する(例としてユースケース#1を参照)。

2. 2番目のインスタンスをSPとして構成する:

以下は、2ndインスタンスをSPとして設定する場合の設定例です:

## SAML
saml.enabled=true
saml.role=sp
saml.entity.id=liferaysamlspdemo
saml.metadata.paths=http://localhost:8080/c/portal/saml/metadata
# Keystore
saml.keystore.type=jks
saml.keystore.path=${liferay.home}/data/keystore.jks
saml.keystore.password=liferay
saml.keystore.credential.password[liferaysamlspdemo]=liferay
#Service Provider
saml.sp.default.idp.entity.id=psosamldemo
saml.sp.sign.authn.request=true
saml.sp.assertion.signature.required=false
saml.sp.clock.skew=3000
saml.sp.user.attribute.mappings=screenName=screenName\ne

SAMLユースケース#4「メールアドレス以外のLiferayユーザーフィールドでSSO IDを構成する

1. 今回のユースケースでは、Salesforceのidとしてメールアドレスを、Google AppのidとしてscreenNameを設定する予定です。

これはSP固有の設定で実行されます:
saml.idp.metadata.name.id.format[https://saml.salesforce.com]=urn:oasis:names:tc:SAML;1.1:nameid-format:unspecifiedのような設定です。

2. saml.idp.metadata.name.id.attribute プロパティを設定し、nameid に使用するものを設定します。

これはどのようなユーザー属性でも可能であり、expandoが前に付いている場合はexpando値でも可能です:

3.
expando:myCustomAttributeName
saml.idp.metadata.name.id.attribute[https://saml.salesforce.com]=expando.myCustomAttributeName
このようにカスタムフィールドを作成したら、そのフィールドにアクセスできます。

何も指定しない場合、emailAddressはデフォルトのUser属性となります。

4. ための構成であると仮定する:

Google Apps

entityidはgoogle.com

idにscreenNameを使用


saml.idp.metadata.name.id.attribute[google.com]=screenNameのようになります。

追加情報

1. IdPがメタデータのダウンロードに対応していない場合はどうすればよいですか? Liferay SPは証明書(Salesforceと同様)のインストールをサポートしていますか?

SAML Metadata XMLを提供する必要があります。 URLまたはファイルを通して提供することができます。 IdPがSAMLメタデータをサポートしていない場合、XMLファイルを手動で作成する必要があります。

2. SalesforceにSSOした際に、自動的にユーザーをプロビジョニングするためには、どのような変更が必要ですか? 以下のリンクからSalesforceの設定を済ませたのですが、https://login.salesforce.com/help/doc/en/sso_saml.htm

現時点では、参考となる設定はございません。 自動プロビジョニングのテストは、Liferay SAML SP経由でのみ行われています。


saml.idp.metadata.attributes.enabled[liferaysamlspdemo]=true
saml.idp.metadata.attribute.names[liferaysamlspdemo]=screenName,firstName,lastName,emailAddress,uuid


liferaysamlspdemo は SP のエンティティ ID です。

3. LiferayをIdPとして使用する場合、カスタマイズしたSAMLアサーション属性値としてLiferayのexpando属性値を追加することはできますか? SAMLアサーション属性「Customer Type」を追加し、この契約者をSPにプロビジョニングする際に、「Customer Type」属性にエキスパンド値を割り当てることは可能でしょうか。

可能です。 この方法は実行可能です。

4. メタデータにアクセスしようとすると、ログにNullPointerExceptionが表示され、ページでエラーが発生するのですが...。

解答はこちら .

did-this-article-resolve-your-issue

legacy-knowledge-base