次のコマンドを実行して、アイデンティティプロバイダのエンティティをトラストサークルにインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name -m
/tmp/idpm -x
/tmp/idpx -t
sampleidffcot -c idff
両方のマシンで Web コンテナを再起動します。これで、ディスカバリブートストラップのセッションコンテキストで名前識別子の暗号化が有効になりました。
|
|
Q: SAML v1.x を使って署名をつけるにはどうすればよいですか?
SAML POST プロファイルを使うと自動的に署名がつけられます。
以下の手順では、SAML v1.x SAML アーティファクトプロファイルを用いて署名をつける方法を説明します。
すべての SAML 応答に署名をつけるには、以下のコマンドを実行します。
ssoadm set-attr-defs -s iPlanetAMSAMLService -t
global -u amadmin -f admin_password_file_name
--attributevalues iplanet-am-saml-signresponse=true -d
すべての SAML 要求に署名をつけるには、以下のコマンドを実行します。
ssoadm set-attr-defs -s iPlanetAMSAMLService -t
global -u amadmin -f admin_password_file_name
--attributevalues iplanet-am-saml-signrequest=true -d
すべての SAML 表明に署名をつけるには、以下のコマンドを実行します。
ssoadm set-attr-defs -s iPlanetAMSAMLService -t
global -u amadmin -f admin_password_file_name
--attributevalues iplanet-am-saml-signassertion=true -d
|
|
Q: Liberty ID-FF を使って署名をつけるにはどうすればよいですか?
以下の 2 点がどちらも満たされていれば、 Liberty ID-FF による署名は有効となっています。
もし、満たされていなければ
以下の手順に従って必要な変更を行い、web コンテナを再起動してください。
|
|
hosted_entityid
|
プロバイダエンティティの ID を次のフォーマットで指定:
protocol://host:port/deploy_uri
例 http://happy1.red.sun.com:8080/openfm
|
|
|
standard_metadata
|
標準メタデータがエクスポートされるファイル
|
|
extended_metadata
|
拡張メタデータファイルがエクスポートされるファイル
|
|
metadata_spec
|
idff または saml2。ここでは
idff を指定します。
|
extended_metadata で signingCertAlias の値が設定されていて、
standard_metadata で KeyDescriptor の値が設定されていれば以降の作業を行う必要はありません。そうでない場合は、次の手順に進みます。
ホストプロバイダでメタデータを再生成します。
ホストアイデンティティプロバイダで次のコマンドを実行します。
ssoadm create-metadata-templ -y idp_entity_id
-u amadmin -f admin_password_file_name
-m standard_metadata -x
extended_metadata -i
idpMetaAlias -b
idpSCertAlias -c
metadata_spec
ホストサービスプロバイダで次のコマンドを実行します。
ssoadm create-metadata-templ -y sp_entity_id
-u amadmin -f admin_password_file_name
-m standard_metadata -x
extended_metadata -s
spMetaAlias -a spSCertAlias
-c metadata_spec
必要に応じて拡張メタデータ属性も変更してください。
(例えば providerHomePageURL)
ホストプロバイダで、次のコマンドを実行してメタデータを削除します。
ssoadm delete-entity -y hosted_entity_id
-u amadmin -f admin_password_file_name
-e realm -c metadata_spec
ホストプロバイダで、さきほど再生成および変更したメタデータ XML ファイルをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name -m
standard_metadata -x
extended_metadata -t
cot_name -c metadata_spec
amadmin で OpenSSO にログインし、「設定」 -> 「Liberty ID-FF サービス」に移動し、 XML 署名のラジオボタンで「真」が選択されているか確認する。選択されていなければこの場で選択し、保存する。
リモートプロバイダの標準メタデータ XML ファイルで KeyDescriptor 属性が適切に設定されている。
確認方法:
ホストプロバイダ上で以下のコマンドを実行し、
リモートプロバイダの標準メタデータをエクスポートします。
ssoadm export-entity -y remote_entity_id
-u amadmin -f admin_password_file_name
-m remote_standard_metadata
-x remote_extended_metadata
-c metadata_spec
remote_standard_metadata ファイルを開いて、KeyDescriptor 属性に適切な値が入っているかを確認します。
もし、値が入っていなければ、以下の手順を行います。
ホストプロバイダが動いているマシン上で、以下のコマンドを実行し、リモートプロバイダのメタデータを削除します。
ssoadm delete-entity -y remote_entity_id
-u amadmin -f admin_password_file_name
-e realm -c metadata_spec
標準メタデータファイルで、KeyDescriptor の値を設定した上で、以下のコマンドを実行してそれをホストプロバイダマシンにインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name -m
new_remote_standard_metadata -x
remote_extended_metadata
-t circle-of-trust_name -c
metadata_spec
|
|
new_remote_standard_metadata
|
KeyDescriptor の値を追加した標準メタデータファイル
|
|
|
remote_extended_metadata
|
手順 1 でエクスポートしたときに生成された拡張メタデータファイル
|
|
|
|
Q: どのようにしてキーストアを設定したらよいですか?
Java Development Kit (JDK) に付属されている keytool
コマンドを用いてキーストアを設定する方法について以下に示します。
次のコマンドを実行します:
JDK Home/bin/keytool -genkey
-keyalg rsa -alias test -dname "cn=sun-unix,ou=SUN Java
System Access Manager,o=Sun, c=US" -keypass 11111111
-keystore keystore.jks -storepass 11111111
コマンドにより生成された
keystore.jks ファイルを
<configuration_dir>/<deploy_uri>
ディレクトリにコピーします。
ここで、 <configuration_dir> は OpenSSO を設定したときに指定した設定ディレクトリで
<deploy_uri> は OpenSSO WAR ファイルを配備した URI です。
キーストアのパスワードを暗号化するために、OpenSSO インスタンスの encode.jsp にアクセスします。
server_protocol://server_host:server_port/server_deploy_uri/encode.jsp
encode.jsp にアクセスするには事前に
opensso.war が配備されている必要があります。また、amadmin などのユーザーで penSSO にログインする必要があります。
テキストパスワードを入力し、「符号化」をクリックします。
例えば、 11111111 が
AQICQS+KlLm9oNd2l98bnkd7TraHI/cv8B1p になります。
<configuration_dir>/<deploy_uri> ディレクトリに
.storepass という名前で新しいファイルを作成し、キーストア用に符号化されたパスワードをコピー&ペーストします。
上の例の場合、AQICQS+KlLm9oNd2l98bnkd7TraHI/cv8B1p を
.storepass に貼り付けます。
<configuration_dir>/<deploy_uri> ディレクトリに
.keypass という名前で新しいファイルを作成し、個人鍵(private key)用に符号化されたパスワードをコピー&ペーストします。
上の例の場合、AQICQS+KlLm9oNd2l98bnkd7TraHI/cv8B1p を
.keypass に貼り付けます。
Web コンテナを再起動します。
|
|
Q: SAML 1.x と ssoadm コマンドを使ってどのようにシングルサインオンを設定したらよいですか?
SAML 1.x を用いてシングルサインオンを実現するには、
SAML プロデューサの OpenSSO インスタンスと SAML コンシューマの OpenSSO インスタンスの両方で以下の手順を実行します。
ここでは例として、プロデューサインスタンスを配備したホストを hostA.example.com、コンシューマインスタンスを配備したホストを hostB.example.com とし、 それぞれ OpenSSO をポート 58080 に配備したものとします。
また、テスト用に両方の OpenSSO 上で amuser1 というアカウントを作成済みであるとします。
始める前に
-
課題 4307で報告されているように、この機能は、OpenSSO Enterprise 8.0 リリース時点で動作しません。
2009年1月23日以降にリリースされた安定版ビルド、もしくは最新のナイトリービルドを使用してください。
-
2 つのホストが同じドメイン上にある場合は、双方の cookie 名が異なるように、片方の cookie 名を変更する必要があります。
cookie 名を変更するには、OpenSSO コンソールにログインして、「設定」→「サーバーおよびサイト」へアクセスし、
「デフォルトのサーバー設定値」をクリックして、「セキュリティ」タブにある「Cookie 名」の値を変更して、Application Server を再起動してください。
コンシューマインスタンスに対して次のコマンドを実行し、サイト ID を取得します。
ssoadm get-attr-defs -s iPlanetAMSAMLService -t
global -u amadmin -f admin_password_file_name
-a iplanet-am-saml-siteid-issuername-list
例えばこのコマンドの出力が次のとおりだとします。
iplanet-am-saml-siteid-issuername-list=instanceID=http://hostB.example.com:58080|siteid=VhqieajnHbbNX1usZkmnQLTxNeQ=|issuerName=hostB.example.com:58080
siteid プロパティの値がサイト ID です。
この場合、VhqieajnHbbNX1usZkmnQLTxNeQ= です。
次の手順により、プロデューサインスタンスの SAML サービスに信頼パートナーエントリを設定します。
次のコマンドを実行して、既存の信頼パートナーを表示させます。
ssoadm get-attr-defs -s iPlanetAMSAMLService -t
global -u amadmin -f admin_password_file_name
-a iplanet-am-saml-partner-urls
出力は、たとえば次のようになります。(既存のパートナーが存在しない場合)
iplanet-am-saml-partner-urls=
パートナーの情報を
partner.txt というファイルに記述します。
ファイルには次の属性と対応する値を含めます。
partnername=partnername (ここには任意の値を指定できます。ここで指定した名前が、OpenSSO コンソール上で「信頼パートナー」テーブルの名前の欄に表示されます。)
target=partner_domain (パートナーとなるコンシューマホストのドメイン名)
sourceid=remote_siteid_from_previous_step (手順 1 で取得したサイト ID を指定する)
samlurl=protocol://partner_hostname:partner_port/uri/SAMLAwareServlet
posturl=protocol://partner_hostname:partner_port/uri/SAMLPOSTProfileServlet
hostlist=partner_hostname (パートナーのホスト名)
例:
iplanet-am-saml-partner-urls=partnername=samltest|target=example.com|sourceid=VhqieajnHbbNX1usZkmnQLTxNeQ=|samlurl=http://hostB.example.com:58080/opensso/SAMLAwareServlet|posturl=http://hostB.example.com:58080/opensso/SAMLPOSTProfileServlet|hostlist=hostB.example.com
他の属性も必要に応じて設定します。
Version
Certalias
AuthType
authuser
authpassword
AttributeMapper
PartnerAccountMapper
SiteAttributeMapper
ActionMapper
nameidentifiermapper
前の手順で作成したファイルをインポートします。
ssoadm add-attr-defs -s iPlanetAMSAMLService -t
global -u amadmin -f admin_password_file_name
--datafile ./partner.txt
ファイルがインポートされたことを確認するには、次のコマンドを実行します。
ssoadm get-attr-defs -s iPlanetAMSAMLService -t
global -u amadmin -f admin_password_file_name
-a iplanet-am-saml-partner-urls
例えば、出力は次のようになります。
iplanet-am-saml-partner-urls=partnername=samltest|target=example.com|sourceid=VhqieajnHbbNX1usZkmnQLTxNeQ=|samlurl=http://hostB.example.com:58080/opensso/SAMLAwareServlet|posturl=http://hostB.example.com:58080/opensso/SAMLPOSTProfileServlet|hostlist=hostB.example.com
- 次に、手順 1 をプロデューサインスタンスに対して実行し、サイト ID を取得します。
次の手順により、コンシューマインスタンスの SAML サービスに信頼パートナーエントリを設定します。
次のコマンドを実行して、既存の信頼パートナーを表示させます。
ssoadm get-attr-defs -s iPlanetAMSAMLService -t
global -u amadmin -f admin_password_file_name
-a iplanet-am-saml-partner-urls
出力は、たとえば次のようになります。(既存のパートナーが存在しない場合)
iplanet-am-saml-partner-urls=
パートナーの情報を
partner.txt というファイルに記述します。
ファイルには次の属性と対応する値を含めます。
partnername=partnername (ここには任意の値を指定できます。ここで指定した名前が、OpenSSO コンソール上で「信頼パートナー」テーブルの名前の欄に表示されます。)
target=partner_domain (パートナーとなるプロデューサホストのドメイン名)
sourceid=remote_siteid_from_previous_step (手順 1 で取得したサイト ID を指定する)
soapurl=protocol://partner_hostname:partner_port/uri/SAMLSOAPReceiver
issuer=partner_hostname:port:partner_port (パートナーのホスト名:OpenSSOを配備したポート番号 を指定します。)
例:
iplanet-am-saml-partner-urls=partnername=samltest|sourceid=SaiueoHbbNX1usZkmnQLTxNeQ=|soapurl=http://hostA.example.com:58080/opensso/SAMLSOAPReceiver|issuer=host.exampleA.com:58080
他の属性も必要に応じて設定します。
Version
Certalias
AuthType
authuser
authpassword
AttributeMapper
PartnerAccountMapper
SiteAttributeMapper
ActionMapper
nameidentifiermapper
前の手順で作成したファイルをインポートします。
ssoadm add-attr-defs -s iPlanetAMSAMLService -t
global -u amadmin -f admin_password_file_name
--datafile ./partner.txt
ファイルがインポートされたことを確認するには、次のコマンドを実行します。
ssoadm get-attr-defs -s iPlanetAMSAMLService -t
global -u amadmin -f admin_password_file_name
-a iplanet-am-saml-partner-urls
例えば、出力は次のようになります。
iplanet-am-saml-partner-urls=partnername=samltest|sourceid=SaiueoHbbNX1usZkmnQLTxNeQ=|soapurl=http://hostA.example.com:58080/opensso/SAMLSOAPReceiver|issuer=host.exampleA.com:58080
SAML アーティファクトプロファイルまたは、SAML ポストプロファイルにアクセスするには、SAML プロデューサの OpenSSO にログインし、(ここでは、amuser1 でログインします。)
SAML アーティファクトプロファイルにアクセスするには、以下の URL にアクセスします。
protocol://hostname:port/uri/SAMLAwareServlet?TARGET=target_protocol://target_hostname:target_port/target_uri/UI/Login
認証なしで SAML コンシューマにリダイレクトされます。
SAML ポストプロファイルにアクセスするには、以下の URL にアクセスします。
protocol://hostname:port/uri/SAMLPOSTProfileServlet?TARGET=target_protocol://target_hostname:target_port/target_uri/UI/Login
認証なしで SAML コンシューマにリダイレクトされます。
注意
SAML ポストプロファイルにアクセスする前に、キーストアを設定する必要があります。
手順については、キーストアの設定方法を参照してください。
|
|
Q: Liberty ID-FF と ssoadm コマンドを使ってどのようにシングルサインオンを設定したらよいですか?
Liberty ID-FF と ssoadm コマンドを用いてシングルサインオンを設定するには、 以下の手順をアイデンティティプロバイダ用の OpenSSO インスタンスとサービスプロバイダ用の OpenSSO インスタンスの両方で実行します。
次のコマンドを実行してトラストサークルを作成します。
ssoadm create-cot -t cot_name
-u amadmin -f admin_password_file_name
-e realm
|
|
cot_name
|
作成するサークル名
|
|
|
realm
|
サークルを作成するレルム
|
ホストアイデンティティプロバイダとホストサービスプロバイダに対して、以下のいずれかの手順により標準メタデータファイルと拡張メタデータファイルを生成します。
|
|
idp_entity_id
|
プロバイダのエンティティ ID を次の形式で指定します。
protocol://host:port/deploy_uri
例、http://happy.red.sun.com:80/openfm
|
|
|
hosted_standard_metadata
|
生成する標準メタデータ XML ファイルのパスとファイル名を指定します。
|
|
hosted_extended_metadata
|
生成する拡張メタデータ XML ファイルのパスとファイル名を指定します。
|
|
idpMetaAlias
|
ここで指定したものが、ホストアイデンティティプロバイダ用のメタエイリアスとして作成されます。
|
|
idpSCertAlias
|
ホストアイデンティティプロバイダ用にキーストアを設定した際に指定した署名証明書エイリアス
|
|
metadata_spec
|
idff または saml2; ここでは
idff です。
|
|
|
sp_entity_id
|
プロバイダのエンティティ ID を次の形式で指定します。
protocol://mhost:port/deploy_uri
例、 http://happy.red.sun.com:80/openfm
|
|
|
hosted_standard_metadata
|
生成する標準メタデータ XML ファイルのパスとファイル名を指定します。
|
|
hosted_extended_metadata
|
生成する拡張メタデータ XML ファイルのパスとファイル名を指定します。
|
|
spMetaAlias
|
ここで指定したものが、ホストサービスプロバイダ用のメタエイリアスとして作成されます。
|
|
spSCertAlias
|
ホストサービスプロバイダ用にキーストアを設定した際に指定した署名証明書エイリアス
|
|
metadata_spec
|
idff または saml2; ここでは
idff です。
|
キーストアを設定していない場合
ssoadm create-metadata-templ -y sp_entity_id
-u amadmin -f admin_password_file_name
-m hosted_standard_metadata
-x hosted_extended_metadata
-s spMetaAlias -c
metadata_spec
リモートプロバイダで生成された標準メタデータと拡張メタデータをホストプロバイダ側にコピーします。
ホストプロバイダがアイデンティティプロバイダであれば、リモートプロバイダはサービスプロバイダです。
逆に、ホストプロバイダがサービスプロバイダであれば、リモートプロバイダはアイデンティティプロバイダです。
次のコマンドを実行してホストプロバイダのメタデータをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name -m
hosted_standard_metadata -x
hosted_extended_metadata -t
cot_name -c metadata_spec
cot_name の値には手順 1 で作成したトラストサークル名を指定します。
次のコマンドを実行してリモートプロバイダのメタデータをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name -m
remote_standard_metadata -t
cot_name -c metadata_spec
cot_name の値には手順 1 で作成したトラストサークル名を指定します。
Web コンテナを再起動します。
|
|
Q: SAML v2 と ssoadm コマンドを使ってどのようにシングルサインオンを設定したらよいですか?
SAML v2 を用いてシングルサインオンを実現するには、アイデンティティプロバイダ用の OpenSSO インスタンスとサービスプロバイダ用の OpenSSO インスタンス上で以下の手順を行います。
始める前に
サービスプロバイダ用のインスタンスとアイデンティティプロバイダ用のインスタンスを決めておきます。
ここでは、例として、http://sp.example.net:8080/opensso-sp をサービスプロバイダ、 http://idp.example.com:8080/opensso-idp をアイデンティティプロバイダとします。
サービスプロバイダのメタデータファイルを作成します。
サービスプロバイダインスタンス上で以下のコマンドを実行して、サービスプロバイダメタデータファイルを作成します。
ssoadm create-metadata-templ -y http://sp.example.net:8080/opensso-sp
-u amadmin -f admin_password_file_name
-m sp_standard_metadata -x
sp_extended_metadata -s
sp_meta_alias
必要に応じて sp_extended_metadata ファイル内の属性のデフォルト値を変更してください。
アイデンティティプロバイダのメタデータファイルを作成します。
アイデンティティプロバイダインスタンス上で以下のコマンドを実行して、アイデンティティプロバイダメタデータファイルを作成します。
ssoadm create-metadata-templ -y
http://idp.example.com:8080/opensso-idp
-u amadmin -f admin_password_file_name
-m idp_standard_metadata
-x idp_extended_metadata
-i idp_meta_alias
必要に応じて
idp_extended_metadata ファイル内の属性のデフォルト値を変更してください。
メタデータファイルをサービスプロバイダインスタンスにインポートします。
次のコマンドを実行して、サービスプロバイダインスタンス上にトラストサークルを作成します。
ssoadm create-cot -t cot_name
-u amadmin -f admin_password_file_name
次のコマンドを実行して、先ほど作成したトラストサークルにサービスプロバイダメタデータファイルをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m sp_standard_metadata -x
sp_extended_metadata -t
cot_name
idp_standard_metadata をアイデンティティプロバイダインスタンスからサービスプロバイダインスタンスにコピーします。
次のコマンドを実行して、サービスプロバイダインスタンスにアイデンティティプロバイダメタデータファイルをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m idp_standard_metadata
-t cot_name
インポートが成功したことを確認するには、次のコマンドを実行します。
ssoadm list-cot-members -u amadmin -f
admin_password_file_name
-t cot_name
指定したトラストサークルに含まれるメンバーがすべて表示されます。 この場合は、http://idp.example.com:8080/opensso-idp と http://sp.example.net:8080/opensso-sp が表示されます。
また、次のコマンドを実行してメタデータファイルをエクスポートすることで確認することもできます。
ssoadm export-entity -u amadmin -f
admin_password_file_name
-y http://sp.example.net:8080/opensso-sp
-m
provider_standard_metadata
-x provider_extended_metadata
Web コンテナを再起動します。
メタデータファイルをアイデンティティプロバイダインスタンスにインポートします。
次のコマンドを実行して、アイデンティティプロバイダインスタンス上にトラストサークルを作成します。
ssoadm create-cot -t cot_name
-u amadmin -f admin_password_file_name
次のコマンドを実行して、先ほど作成したトラストサークルにアイデンティティプロバイダメタデータファイルをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m idp_standard_metadata
-x idp_extended_metadata
-t cot_name
sp_standard_metadata ファイルをサービスプロバイダインスタンスからアイデンティティプロバイダインスタンスにコピーします。
次のコマンドを実行して、アイデンティティプロバイダインスタンスにサービスプロバイダメタデータファイルをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m sp_standard_metadata -t
cot_name
インポートが成功したことを確認するには、次のコマンドを実行します。
ssoadm list-cot-members -u amadmin -f
admin_password_file_name
-t cot_name
指定したトラストサークルに含まれるメンバーがすべて表示されます。
この場合は、http://idp.example.com:8080/opensso-idp と http://sp.example.net:8080/opensso-sp が表示されます。
また、次のコマンドを実行してメタデータファイルをエクスポートすることで確認することもできます。
ssoadm export-entity -u amadmin -f
admin_password_file_name
-y http://idp.example.com:8080/opensso-idp -m
provider_standard_metadata
-x provider_extended_metadata
Web コンテナを再起動します。
シングルサインオンを確認するには次の URL にアクセスします。
:
サービスプロバイダインスタンスからシングルサインオンを開始するには次の URL にアクセスします。
:
http://sp.example.net:8080/opensso-sp/spssoinit?metaAlias=spMetaAlias&idpEntityID=http://idp.example.com:8080/opensso-idp
アイデンティティプロバイダインスタンスからシングルサインオンを開始するには次の URL にアクセスします。
http://idp.example.net:8080/opensso-idp/idpssoinit?metaAlias=idpMetaAlias&spEntityID=http://sp.example.com:8080/opensso-sp
まず最初に、連携を確立するためにサービスプロバイダとアイデンティティプロバイダに有効なユーザーでログインする必要があります。
例えば、a の場合、
- 上記の URL にアクセスすると、 http://idp.example.net:8080/opensso-idp のログインページが表示されるので、
例えば、あらかじめ作っておいたユーザー idpuser でログインします。
- 次に、http://sp.example.net:8080/opensso-sp のログインページが表示されるので、
同じくあらかじめ作っておいたユーザー spuser でログインします。
- これで、idpuser と spuser の連携が確立され、これ以降はシングルサインオンでのログインが可能となります。
- 試しに、いったんブラウザを再起動し、
http://sp.example.net:8080/opensso-sp/samples/saml2/useCaseDemo/home.jsp
にアクセスしてみます。
- "Login" のリンクをクリックすると、http://idp.example.net:8080/opensso-idp のログインページが表示されるので、idpuser でログインします。
- サービスプロバイダのページが表示されて、spuser でログインに成功したことを示すメッセージが表示されるはずです。
この結果からシングルサインオンに成功したことがわかります。
|
|
Q:
SAML v2 を使って署名をつけて暗号化するにはどう設定したらよいですか?
以下の手順では、SAML v2 を使って署名をつけて暗号化を有効にする方法について説明します。
始める前に
keytool コマンドを用いて、サービスプロバイダとアイデンティティプロバイダ上でキーストアを設定します。
詳細については、
キーストアの設定方法を参照してください。
キーストアを設定したら、再度、
keytool コマンドを用いて適切な署名と暗号化の証明書をキーストアにインポートします。
サービスプロバイダ上で次のコマンドを実行して、
サービスプロバイダのメタデータを再生成します。
(署名と暗号化鍵の情報を含めます。)
ssoadm create-metadata-templ -y sp_entityid
-u amadmin -f admin_password_file_name
-m sp_standard_metadata -x
sp_extended_metadata -s
sp_metaAlias -a
sp_certalias -r
sp_enc_alias
アイデンティティプロバイダ上で次のコマンドを実行して、
アイデンティティプロバイダのメタデータを再生成します。
(署名と暗号化鍵の情報を含めます。)
ssoadm create-metadata-templ -y idp_entityid
-u amadmin -f admin_password_file_name
-m idp_standard_metadata -x
idp_extended_metadata -i
idp_metaAlias -b
idp_certalias -g
idp_enc_alias
それぞれ生成されたファイルを編集して、署名と暗号化を有効にするために以下の属性の値を true にします。
idp_standard_metadata
sp_standard_metadata
AuthnRequestsSigned
WantAssertionsSigned
idp_extended_metadata
sp_extended_metadata
NOTE
SAML POST プロファイルを使用するには、署名を有効にする必要があります。
SAML Artifact プロファイルを使用すると署名は自動的に有効になります。
以下の手順を実行してサービスプロバイダから既存のメタデータ(が存在する場合)を削除し、新たに生成したメタデータをインポートします。
以下のコマンドを実行して既存のサービスプロバイダメタデータを削除します。
ssoadm delete-entity -y sp_entityid
-u amadmin -f admin_password_file_name
以下のコマンドを実行して既存のアイデンティティプロバイダメタデータを削除します。
ssoadm delete-entity -y idp_entityid
-u amadmin -f admin_password_file_name
以下のコマンドを実行して、先ほど作成し編集したサービスプロバイダメタデータをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m sp_standard_metadata -x
sp_extended_metadata -t
cot_name
アイデンティティプロバイダから、先ほど作成し編集した新しいメタデータファイル( idp_standard_metadata と >idp_extended_metadata)をサービスプロバイダにコピーします。
コピーしてきた idp_extended_metadata を編集し、hosted="1" を
hosted="0" に変更します。
以下のコマンドを実行して変更を加えたアイデンティティプロバイダのメタデータをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m idp_standard_metadata
-x idp_extended_metadata
-t cot_name
以下の手順を実行してアイデンティティプロバイダから既存のメタデータ(が存在する場合)を削除し、新たに生成したメタデータをインポートします。
以下のコマンドを実行して既存のアイデンティティプロバイダメタデータを削除します。
ssoadm delete-entity -y idp_entityid
-u amadmin -f admin_password_file_name
以下のコマンドを実行して既存のサービスプロバイダメタデータを削除します。
ssoadm delete-entity -y sp_entityid
-u amadmin -f admin_password_file_name
以下のコマンドを実行して、先ほど作成し編集したアイデンティティプロバイダメタデータをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m idp_standard_metadata
-x idp_extended_metadata
-t cot_name
サービスプロバイダから、先ほど作成し編集した新しいメタデータファイル(sp_standard_metadata と sp_extended_metadata) をアイデンティティプロバイダにコピーします。
コピーしてきた sp_extended_metadata を編集し、hosted="1" を
hosted="0" に変更します。
以下のコマンドを実行して変更を加えたサービスプロバイダのメタデータをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m sp_standard_metadata -x
sp_extended_metadata -t
cot_name
両プロバイダの Web コンテナを再起動します。
シングルサインオンを確認するには次の URL にアクセスします。 :
サービスプロバイダインスタンスからシングルサインオンを開始するには次の URL にアクセスします。
sp_protocol://sp_host:sp_port/sp_deploy_URI/spssoinit?metaAlias=spMetaAlias&idpEntityID=idp_entityID
アイデンティティプロバイダインスタンスからシングルサインオンを開始するには次の URL にアクセスします。
idp_protocol://idp_host:idp_port/idp_deploy_URI/idpssoinit?metaAlias=idpMetaAlias&spEntityID=sp_entityID
最初に、連携を確立するためにサービスプロバイダとアイデンティティプロバイダにログインする必要があります。その後は、ホストプロバイダでログインすると、認証手続きなしでリモートプロバイダにログインすることができます。
|
|
Q: 認証 Web サービスを用いた認証を設定するにはどうしたらよいですか?
以下の手順では、認証 Web サービスを用いた認証を設定する方法を説明します。
次のコマンドを実行して、認証 Web サービス属性の現在の値を取得します。
ssoadm get-attr-defs -s
sunIdentityServerAuthnService -u amadmin -f
admin_password_file_name -t
Global -a MechanismHandlerList
コマンドの出力結果から、
MechanismHandlerList= で始まる行をすべてコピーし、ファイルに保存します。
ここでは、このファイル名を datafile とします。
datafile を編集して、既存のハンドラクラスを変更したり、新しいものを追加します。
MechanismHandlerList 属性の値は
key=mechanism_name|class=handler_class_for_mechanism_specified_in_key という形式で設定します。
次のコマンドを実行して
MechanismHandlerList 属性の値を変更します。
ssoadm set-attr-defs -s
sunIdentityServerAuthnService -u amadmin -f
admin_password_file_name -t
Global -D datafile
|
|
Q:
X509、Bearer および SAML トークンを発行するのにディスカバリサービスをどのように設定したらよいですか?
以下の手順では、X509、Bearer および SAML トークンを発行するために、ディスカバリサービスを設定する方法について説明します。
始める前に
Liberty ID-FF サンプルの設定および実行手順
に従って、アイデンティティプロバイダとサービスプロバイダのインスタンスを設定し、
キーストアの設定方法 に従って、各インスタンスにキーストアを設定してください。
アイデンティティプロバイダのマシン上での手順:
次のコマンドを実行して、ディスカバリサービス属性の現在の値を取得します。
ssoadm get-attr-defs -s
sunIdentityServerDiscoveryService -u amadmin -f
admin_password_file_name
-t Global -a sunIdentityServerBootstrappingDiscoEntry
コマンドの出力結果から、
sunIdentityServerBootstrappingDiscoEntry= で始まる行をすべてコピーし、ファイルに保存します。
ここでは、このファイル名を datafile とします。
datafile を編集し、各トークンについて設定します。
SAML トークンについては、次のように変更します。
<SecurityMechID>urn:liberty:security:2003-08:null:null</SecurityMechID>
を
<SecurityMechID>urn:liberty:security:2003-08:null:SAML</SecurityMechID>
に変更します。さらに、
</ResourceOffering></DiscoEntry>
を
</ResourceOffering><AuthorizeRequester
xmlns="urn:liberty:disco:2003-08"/></DiscoEntry>
に変更します。
X509 トークンについては、次のように変更します。
<SecurityMechID>urn:liberty:security:2003-08:null:null</SecurityMechID>
を
<SecurityMechID>urn:liberty:security:2003-08:null:X509</SecurityMechID>
に変更します。
Bearer トークンについては、次のように変更します。
<SecurityMechID>urn:liberty:security:2003-08:null:null</SecurityMechID>
を
<SecurityMechID>urn:liberty:security:2004-04:null:Bearer</SecurityMechID>
に変更します。さらに、
</ResourceOffering></DiscoEntry>
を
</ResourceOffering><AuthenticateRequester
xmlns="urn:liberty:disco:2003-08"/><GenerateBearerToken
xmlns="urn:liberty:disco:2004-04"/></DiscoEntry>
に変更します。
属性の値を変更するために、datafile を入力ファイルとして用いて、次のコマンドを実行します。
ssoadm set-attr-defs -s
sunIdentityServerDiscoveryService -u amadmin -f
admin_password_file_name
-t Global -D datafile
最上位管理者(amAdmin)でコンソールにログインして、「設定」 -> 「グローバル」 -> 「Liberty ID-WSF セキュリティサービス」に移動し、
次のプロパティーの値を編集します。(test と設定します。)
「信頼できる発行局の署名証明書エイリアス」
: test
「デフォルトの WSC 証明書エイリアス」
: test
「信頼できる証明書発行局の署名証明書エイリアス」
: test
test はサンプルの値です。
次のコマンドを実行して、既存のアイデンティティプロバイダ(があれば)を削除します。
ssoadm delete-entity -y idp_entityid
-u amadmin -f admin_password_file_name
-c metadata_spec
|
|
idp_entityid
|
プロバイダのエンティティ ID を次の形式で指定します。
protocol://host:port/deploy_uri
例 http://happy.red.sun.com:80/openfm
|
|
|
metadata_spec
|
idff または saml2 を指定します。
この場合は、idff です。
|
次のコマンドを実行してリモートのサービスプロバイダのエンティティを削除します。
ssoadm delete-entity -y remote_sp_entityid
-u amadmin -f admin_password_file_name
-c metadata_spec
|
|
remote_sp_entityid
|
プロバイダのエンティティ ID を次の形式で指定します。
protocol://host:port/deploy_uri
例、 http://happy.red.sun.com:80/openfm
|
|
|
metadata_spec
|
idff または saml2 を指定します。
この場合は、idff です。
|
次のコマンドを実行して、アイデンティティプロバイダ用の標準メタデータファイルと拡張メタデータファイルを作成します。
ssoadm create-metadata-templ -u amadmin -f
admin_password_file_name
-y idp_entityid -m
standard_metadata -x
extended_metadata -i
idpMetaAlias -b
idpSCertAlias -c
metadata_spec
|
|
idp_entityid
|
プロバイダのエンティティ ID を次の形式で指定します。
protocol://host:port/deploy_uri
例、 http://happy.red.sun.com:80/openfm
|
|
|
standard_metadata
|
生成する標準メタデータ XML ファイルのパスとファイル名を指定します。
|
|
extended_metadata
|
生成する拡張メタデータ XML ファイルのパスとファイル名を指定します。
|
|
idpMetaAlias
|
ここで指定したものが、ホストアイデンティティプロバイダ用のメタエイリアスとして作成されます。
|
|
idpSCertAlias
|
ホストアイデンティティプロバイダ用にキーストアを設定した際に指定した署名証明書エイリアス
|
|
metadata_spec
|
idff または saml2 を指定します。
この場合は、idff です。
|
次のコマンドを実行して、すでに設定済みのトラストサークルに新しいメタデータファイルをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m standard_metadata -x
extended_metadata -t
cot_name -c metadata_spec
|
サービスプロバイダから標準メタデータファイル
(後で説明するサービスプロバイダ上での手順により生成されたファイル)
をアイデンティティプロバイダのマシンの
/tmp ディレクトリにコピーします。
次のコマンドを実行してリモートのサービスプロバイダのメタデータファイルをトラストサークルにインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m standard_metadata -t
cot_name -c metadata_spec
|
Web コンテナを再起動します。
サービスプロバイダのマシン上での手順
次のコマンドを実行して既存のサービスプロバイダのエンティティがあれば削除します。
ssoadm delete-entity -y sp_entityid
-u amadmin -f admin_password_file_name
-c metadata_spec
次のコマンドを実行して、リモートのアイデンティティプロバイダのエンティティを削除します。
ssoadm delete-entity -y idp_entityid
-u amadmin -f admin_password_file_name
-c metadata_spec
次のコマンドを実行して、サービスプロバイダ用の標準メタデータファイルと拡張メタデータファイルを作成します。
famadm create-metadata-templ -u amadmin -f
admin_password_file_name
-y sp_entityid -m
standard_metadata -x
extended_metadata -s
spMetaAlias -a
spSCertAlias -c
metadata_spec
次のコマンドを実行して、すでに設定済みのトラストサークルに新しいメタデータファイルをインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m standard_metadata -x
extended_metadata -t
cot_name -c metadata_spec
アイデンティティプロバイダから標準メタデータファイル
(アイデンティティプロバイダ上での手順により生成されたファイル)
をサービスプロバイダのマシンの /tmp ディレクトリにコピーします。
次のコマンドを実行してリモートのアイデンティティプロバイダのメタデータファイルをトラストサークルにインポートします。
ssoadm import-entity -u amadmin -f
admin_password_file_name
-m standard_metadata -t
cot_name -c metadata_spec
最上位管理者(amAdmin)でコンソールにログインして、「設定」 -> 「グローバル」 -> 「Liberty ID-WSF セキュリティサービス」に移動し、
「デフォルトの WSC 証明書エイリアス」に適切な証明書エイリアスを設定します。
この証明書エイリアスは、Web サービスクライアント用に X509 トークンが生成される際に使用されます。
Web コンテナを再起動します。
|
|
Q: ssoadm コマンドを使ってポリシー Agents 3.0 のプロファイルを設定するにはどのようにしたらよいですか?
手順例がこちらのブログ(日本語)に記載されてますので参考にしてください。
|
|
Q:
フェイルオーバーを行うには OpenSSO 設定データストアをどのように設定したらよいですか?
DocTeger 氏のブログエントリ The
OpenSSO Bootstrap File Deconstructed(英語) を参考にしてください。
|
|
Q: AIX 上で Websphere 6.1 にどのようにして OpenSSO を配備したらよいですか?
DocTeger 氏のブログエントリ Deploying OpenSSO on WebSphere 6.1 AIX(英語) を参考にしてください。
|
|
Q:
アイデンティティー Web サービスを用いて OpenSSO 上でどのように認証を設定したらよいですか?
ソフトウェアアーキテクトである Aravindan Ranganathan 氏の記事 Securing Applications with Identity Services, Part 1: Authentication(英語) を参考にしてください。
|
|
Q:
アイデンティティー Web サービスを用いて OpenSSO 上でどのように認可を設定したらよいですか?
ソフトウェアアーキテクトである Aravindan Ranganathan 氏の記事
Securing Applications with Identity Services, Part 2: Authorization(英語) を参考にしてください。
|
|
Q:
SAMLv2 IDP プロキシをどのように設定したらよいですか?
DocTeger 氏のブログエントリ Setting Up a SAMLv2 IDP Proxy(英語)を参考にしてください。 |
|
Q:
configurator.jsp を用いずに OpenSSO を設定するにはどのようにしたらよいですか?
DocTeger 氏のブログエントリ Configuring OpenSSO without configurator.jsp (英語) を参考にしてください。
Linux や Windows 環境で行う場合は、このブログエントリのコメント欄の最初に書かれている説明書きに留意してください。
|