はじめに
契約企業のシングルサインオン機能を有効にすると、契約企業のユーザーがUniBaaS管理画面へログインする際やUnifinity Application Playerを利用する際に、任意のIdP (ID Provider) 経由でのログインが可能となります。
UnifinityはSAML2.0のHTTP POSTバインディングを利用したシングルサインオンに対応し、SP (Service Provider) として動作します。
対象となる企業
シングルサインオン機能は契約ランクがエンタープライズ、スタンダードの企業に対してご利用になれます。
接続確認済のID Provider
下記のIdPの動作確認を行っております。下記以外にもSAML2.0のHTTP POSTバインディングに対応しているIdPであればご利用いただけます。
- Microsoft Azure AD
- Google Workspace
- OneLogin
- Auth0
- Okta
- サテライトオフィス シングルサインオン
- HENNGE ONE
プロビジョニング
UniBaaSは、JIT(Just In Time)プロビジョニングを使用して、企業ユーザーがシングルサインオンで初めてログインしたときにUniBaaSのユーザーを自動的に作成します。
自動作成されるユーザーのUniBaaSログインIDは、SAML AssertionのNameIDで指定される属性値となります。(IdP上のどの属性値をNameIDとしてSAML Assertionに指定するかはIdP側で設定することが一般的に可能です)
また、ユーザーを自動作成する際に、IdP上のアカウントの属性とUniBaaS上のユーザーの属性(ユーザー名・所属グループ)をマッピングすることができます。
【注意】
- AzureADやOkta等のIdPが提供しているSCIMを利用したIdPとUniBaaSのアカウント情報の同期には対応していません。
- 契約企業のライセンス数を超過した場合、シングルサインオンによるユーザー自動作成は行えず認証に失敗しますのでご注意ください。
シングルサインオンの設定
1. IdPのSAML設定
管理者ダッシュボードの[シングルサインオン]設定で必要な情報を確認できます。
Entity ID, ACS URL等をIdPに設定してください。
- 10.1. SAML設定 Azure Active Directory
- 10.2 SAML設定 Google Workspace
- 10.3 SAML設定 Auth0
- 10.4 SAML設定 サテライトオフィス
2. UniBaaSのSAML設定
管理者ダッシュボードの[シングルサインオン]設定でSAMLに必要な情報を設定してください。
- ログインURL
- IdPのSAML Login URLを指定してください。
- メタデータ設定方法
- XMLファイルの内容を直接入力するか、IdPから提供されているメタデータURLを指定する方法があります。IdPからダウンロードしたメタデータ(XML)をメモ帳等で開き貼り付けるか、IdPから指定されたメタデータURLを指定してください。前者が優先されます。
- グループ属性
- UniBaaSのユーザーを自動作成する際に、UniBaaSユーザーの所属するグループ名を参照するSAML Assertionの属性名を指定してください。未指定の場合は、自動作成されたユーザーはデフォルトグループ名で指定したグループに割り当てられます。
- ユーザー属性
- UniBaaSのユーザーを自動作成する際に、UniBaaSユーザー名を参照するSAML Assertionの属性名を指定してください。未指定の場合は、UniBaaSログインID(SAML AssertionのNameIDで指定される属性値)と同一になります。
- デフォルトグループ
- UniBaaSのユーザーを自動作成する際に割り当てるUniBaaS上のグループ名を指定します。GroupNameが未指定の場合、またはGroupNameに指定したAssertionが取得できなかった場合にこの値が使用されます。
登録ボタンをクリックすると指定した項目が設定され、Unifinity各製品のシングルサインオンが有効になります。
【運用上の注意】
IdPのSAMLアサーション署名用証明書には有効期限が存在します。有効期限が切れるとユーザーはシングルサインオンができなくなります。証明書の有効期限は十分に留意してください。
また、証明書を更新した場合は、UniBaaSのSAML設定でメタデータ設定を新しいものに更新する必要があります。
【参考】SAML Assertionについて
SAML認証の成功後にIdPが認可した実体の属性情報を指し、一般的に以下のような属性が含まれます。
<saml:Assertion Version="2.0">
<saml:Subject>
<saml:NameID>test@unifinity.account</saml:NameID>
</saml:Subject>
<saml:AttributeStatement>
<saml:Attribute Name="Group">
<saml:AttributeValue>技術開発部</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute Name="Fullname">
<saml:AttributeValue>由似 太郎</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
上記サンプルでは、
AttributeStatementのAttribute Name="Group"の要素に所属部署、Attribute Name="Fullname"の要素にユーザー氏名が割り当てられていますので、UniBaaSのSAML設定ではGroupName MappingにGroupを、UserName MappingにFullnameを指定してIdPの属性をUniBaaSユーザーの属性にマッピングしてください。サポートしている認証フロー
Unifinityが対応しているSAML認証フローは以下の通りです。
| 製品 | 対応しているSAML認証フロー |
|---|---|
| Unifinity Application Player (iOS,Android) | IdP-Initiated SSO SP-Initiated SSO |
| Unifinity Application Player (Windows) | SP-Initiated SSO |
| UniBaaS 企業管理 | IdP-Initiated SSO SP-Initiated SSO |
| UniBaaS 統合管理 | 非対応 |
IdPは利用可能なアプリをポータルやダッシュボードとして認証済みの状態で利用可能となる機能を提供しています。その機能よりUnifinityを選択することにより、iOS,AndroidではUnifinity Application Playerが認証済みの状態で起動し、WindowsではUniBaaS企業管理画面が認証済みの状態でご利用になれます。
SP-Initiated SSO認証フローの開始手順については、利用者向けドキュメントを参照してください。
契約企業ユーザーのアカウント管理
1. ハイブリッドログイン
シングルサインオンを有効にした契約企業ではJITプロビジョニングによりUniBaaS上のユーザーが自動作成されますが、UniBaaS企業管理画面でユーザーを手動で追加し利用することも可能です。(UniBaaSの利用- 7.ユーザーの管理)
この際、シングルサインオンで自動作成されたユーザーと重複するUniBaaSログインIDのユーザーは作成することができません。
2. シングルサインオンユーザーの制約
シングルサインオンで自動作成されたユーザーでは以下の機能がご利用になれません。
- 企業管理機能のユーザー管理画面によるパスワードリセット
- Unifinity Application Playerの環境設定画面におけるパスワードリセット