はじめに
ただのメモです。
要件
cybozu.com のメールワイズを利用しているが、Microsoft365 で Azure AD が利用できることもあり、シングルサインオン(SSO)したい。
- メールワイズ
- URL は
https://ほげほげほ.cybozu.com/m/mw.cgi
- ログインアカウントは
foo
- URL は
- Microsoft365 のログインアカウントは
foo@example.jp
参考資料
SAML認証を使用したシングルサインオンを設定する という cybozu.com のドキュメント
課題
以下のように参考資料にサラッと『ユーザーを識別する要素 = NameID』書いてある。
IdPにcybozu.comを登録する
cybozu.comをSPとして設定するため、IdPに次の情報を登録します。(省略)
ユーザーを識別する要素
NameID
「NameID...?」 AzureAD の設定項目では 一意のユーザー識別子(名前 ID) がこれに対応するのはスグに分かったが、デフォルトでは user.userprincipalname
になっている。
前述のようにメールワイズのログインアカウントは foo
で、Microsoft365 のログインアカウントは foo@example.jp
であり、user.serprincipalname
は foo@example.jp
なのでこれを何とかしなければならない。
解決策
user.hogehoge
のような他のプロパティで該当するものがあるのかと探してみたが見つからず、どうしたものかとググっていたら 方法: エンタープライズ アプリケーションの SAML トークンで発行された要求のカスタマイズ にたどり着いた。
機能 | 説明 |
---|---|
ExtractMailPrefix() | メール アドレスまたはユーザー プリンシパル名からドメイン サフィックスを除去します。 これにより、渡されたユーザー名の最初の部分のみが抽出されます (例: joe_smith@contoso.com ではなく "joe_smith" のみ)。 |
ということで以下のように設定すれば良かった。
終わりに
cybozu.com は SSO 以外にも二要素認証に対応していたり、IP アドレス制限ができたり、とセキュリティ関連の機能が豊富で素晴らしい。更に高感度がアップしたのだった(終わり)。