1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【仕事メモ】OpenAM(Ver13) Office365との認証連携(1)

Last updated at Posted at 2018-08-10

おさらい

前回までの記事でOpenAMおよびデータストアとして動作するためのOpenDJをインストールし、
OpenDJ上に作成したローカルアカウントでOpenAMの管理コンソールにログインする動作までの確認を実施しました。

今回はOpenDJ上に作成したユーザーの認証情報を利用してOffice365へログインする動作を確認します。

IdPの設定(証明書登録)

2018/8/12 追記
証明書の登録方法に誤りがあったようです。
以前、掲載した記事の方法ではIdPの証明書を確認しようとすると証明書の情報が出力されず確認することができないため、その後の工程を実施できない(詰み)状態になりました。

というわけで、IdPの証明書登録手順を改めて記載します。

まずはキーストアと鍵ペアの作成を以下のコマンドを実行して作成します。

キーストア作成
keytool -genkeypair \
-keyalg rsa \
-alias openam-idp \
-dname "CN定義" \
-keypass R8g%kWg3 \        # 署名鍵のパスワードを指定
-keystore mykeystore.jks \ # キーストアファイル名を指定
-storepass changeit \      # キーストアのパスワードを指定
-validity 3650 \           # 鍵の有効期限を指定(例:10 年)
-keysize 2048              # 鍵の長さを指定

次に作成したキーストアをOpenAM側でも認識できる場所に配置します。
配置する際の注意点として、tomcatもアクセス可能な形でパーミッションを設定することです。
※ファイルのパスは実行する環境に応じて適宜、変更してください。

キーストアの配置
mkdir -p /usr/share/tomcat/openam/openam/private
cp mykeystore.jks /usr/share/tomcat/openam/openam/private
chown -R root:tomcat /usr/share/tomcat/openam/openam/private
chmod 750 /usr/share/tomcat/openam/openam/private
chmod 640 /usr/share/tomcat/openam/openam/private/mykeystore.jks

これでキーストアの配置までが完了しました。
次にキーストアと鍵ペアに設定されているパスワードを符号化してテキストファイルに保存します。
このテキストファイルはOpenAMがキーストアと鍵ペアを読み込む際に使用します。
パスワードの符号化はOpenAM管理コンソールから実施します。

image.png

上記のようにパスワードを入力する欄が表示されるのでキーストアファイル作成時に指定したパスワード(↑の例だとchangeit)を入力してください。
入力し終えると下記のように符号化されたパスワードが表示されます。

バックアップ2.PNG

以下のコマンドを実行して符号化したパスワードを下記2つのファイルとしてOpenAMサーバ上に保存します。
※保存する際の注意事項として改行コードが入らないようにしてください。
__ 改行コードが入っているとファイルの読み込みに失敗するそうです。__

キーストアパスワードファイル作成
vi /usr/share/tomcat/openam/openam/private/.storepass
vi /usr/share/tomcat/openam/openam/private/.keypass

パーミッションも変更しておきます。

パーミッション変更
chown root:tomcat /usr/share/tomcat/openam/openam/private/.storepass
chown root:tomcat /usr/share/tomcat/openam/openam/private/.keypass
chmod 640 /usr/share/tomcat/openam/openam/private/.storepass
chmod 640 /usr/share/tomcat/openam/openam/private/.keypass

ここまででSSHでの操作は終わって、管理コンソールからの操作になります。
OpenAM管理コンソールトップページの「CONFIGURATION」‐「サーバーおよびサイト」‐「デフォルトのサーバー設定値」‐「セキュリティ」を表示します。

image.png

image.png

image.png

image.png

キーストア、パスファイル、証明書エイリアスを指定する項目があるので、それぞれ設定値を以下のように変更し「保存」をクリックします。

設定値
「キーストアファイル」:/usr/share/tomcat/openam/openam/private/mykeystore.jks
「キーストアパスワードファイル」:/usr/share/tomcat/openam/openam/private/.storepass
「非公開鍵パスワードファイル」:/usr/share/tomcat/openam/openam/private/.keypass
「証明書エイリアス」:openam-idp

image.png

管理コンソールでの設定が完了したら、下記のようにTomcatサービスを再起動してください。

Tomcat再起動
systemctl restart tomcat

トラストサークルとIdP設定登録

OpenAM管理コンソールでの操作です。
まずトップ画面から「REALMS」-「Realm Overview」を表示します。
そして、画面から「Create SAMLv2 Providers 」を選択します。

image.png

次に「Create Hosted Identity Provider」を選択します。

image.png

そうすると↓の画面が表示されるので、それぞれ下記の通り入力してください。
入力が完了したら「設定」をクリックします。

 ・このプロバイダのメタデータがありますか?:いいえ(デフォルト)
 ・名前:そのまま(デフォルト)
 ・署名鍵:openam-idp
 ・新しいトラストサークル:任意の名称

image.png

↓の画面が表示されれば、IdPの設定は完了です。

image.png

IdPの登録が完了したら、証明書の情報が参照できるかを確認しましょう。
以下のURLでも設定を確認できます。

SAML設定確認のURL
http://【OpenAMホスト名】:8080/openam/saml2/jsp/exportmetadata.jsp

ds:X509Certificateタグに証明書の情報(↓の画像で黒塗り部分)が表示されていればOKです。

バックアップ3.PNG

SP設定登録

まずは↓のURLよりOffice365のメタデータをダウンロードします。

Office365のメタデータURL
https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml

ちなみにSAMLにおけるメタデータとは下記の意味を持っています。

メタデータ説明
メタデータファイルとは、COT 内の特定のエンティティー (SP/IDP) のプロトコル設定と
信頼情報を含む (SAMLv2 仕様に従った) XML ファイルです。
メタデータファイルはパートナーから受信しているか、または自分で作成している可能性があります。

メタデータのタグ部分を削除します。

Office365メタデータ
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#_0c0d1ca7-7292-4bc6-801c-f880f6098f4e"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>7XES82rGE5v/Hdsytuvg9wp8iBE=</DigestValue></Reference></SignedInfo><SignatureValue>OOSrXuQqx/V/XjkOnEMuSVaGsb5a25e5kT5ntSDn6TwVjQR35l1o918OoEzF0+KNe+MZhfGdzzntFsG96Ifq8lM8hcVzwG6/xH9Ar+jdwSe7cemd3j7d48H1WIIx6M60rzHlkHnegbrXbUwWZLGAGyQu/P2z9Z8lIjzzjbZi0THFx5aZR5goI91N6eLYBP3ms75QDTb3749InVb+Yc//klycFkFfa5kViDqkNJULw8d+S6BGPsfzd+V72ih16YLegHLZAOhv0Te07QiVgFvNbArcJcyUbXZf+VHW4XyG2YYCL1F1cwT5GFDdemq7Fc+TacEPqq5SxsAq7Nu9pM78Sg==</SignatureValue><KeyInfo><X509Data><X509Certificate>MIIDYDCCAkigAwIBAgIJALLJPAyvf2sjMA0GCSqGSIb3DQEBBQUAMCkxJzAlBgNVBAMTHkxpdmUgSUQgU1RTIFNpZ25pbmcgUHVibGljIEtleTAeFw0xNDA3MTgxOTUzNDBaFw0xOTA3MTcxOTUzNDBaMCkxJzAlBgNVBAMTHkxpdmUgSUQgU1RTIFNpZ25pbmcgUHVibGljIEtleTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANYDKgByFZdqtTnnpF4IfIp4i2XLg2rLIo+mu4DmW9gRLlBJCNc7YESUxpKzuFYaANd8fWsDigJZTXbhOQApSpw4xXFnor2vJ1zm94LtqjcVEXTjUml5gAIS4pwuOU3ZfO/0eTG0gDYp4a0L/mzzTRsnwe/8WMPIE75Bq2zAyAZ9aePvl3QX7cXYLPfeK4QTgK3B5lwe1wWu3y5oQidjcSok8Frf80xzuCYuOa+ZUK3JibpLLCrT4uwiqf+KREDSdc4bPPlq0PWI4sQr1tha8yypRSvOH+/MxcfSRSnl6Uc+gm8nVEEWWIu4hhu6NIfG91mMUqJuzkgLCi6Gov6JS8UCAwEAAaOBijCBhzAdBgNVHQ4EFgQUnQoq7sI3R8rde4sQs6nGEbJm3LcwWQYDVR0jBFIwUIAUnQoq7sI3R8rde4sQs6nGEbJm3LehLaQrMCkxJzAlBgNVBAMTHkxpdmUgSUQgU1RTIFNpZ25pbmcgUHVibGljIEtleYIJALLJPAyvf2sjMAsGA1UdDwQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEAf4jaNhKzRG3k+52WoM9nnISP7rlWIeWwH6EQGUlF6ozSP/03gYMAdqpdhww5zNwKzi7TQVbDC0pgq/tqzHv6JEI0R4B6h7/TJ1pYPxdvIFQrE27RHESltH/m+5UkVnayLqRD3/fi4zf4aEpxSDZ73MCR5LanPGqvlAMz29AL3g1ynj+eu7xMfFsM/8+qJaCXuxT5/30eeLEe+PYikA/PhEwp+qkDQWPvdAwEghuUaFvtKAgDZierjpGzHZnYkXTTDTHVe1iP7tsAJH5qK3qdcv3UGPyZrjC/lietJcAcnwVoZQ93v2ieGfcKKN+PFN9M59/BkPo62HPoGNNx2ZDQaQ==</X509Certificate></X509Data></KeyInfo></Signature>

ファイルの加工が終わったらOpenAMにアップロードします。

トップ画面から「REALMS」-「Realm Overview」を表示します。
そして、画面から「Create SAMLv2 Providers 」を選択します。
image.png

次に「Register Remote Service Provider」を選択します。

image.png

「メタデータファイルはどこに存在しますか?」欄で「ファイル」にチェックを入れ、メタデータが配置されているURLに「アップロード」ボタンが表示されるので、クリックすると↓の画面が表示されます。
先ほど加工したメタデータをアップロードします。

image.png

トラストサークル欄には任意の名称を入力して「設定」をクリックします。

image.png

↓の画面が表示されれば、OpenAM上でのSP登録が完了です。

image.png

SPが登録されたことを確認するにはトップ画面から「FEDERATION」を選択し、
「連携」設定画面上の「トラストサークル」項目で設定が認識されていることを確認できます。

image.png

image.png

次回予告

OpenAM上でOffice365とOpenAMのアカウント属性をマッピングする設定を記載します。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?