シングルサインオン
はじめに
シングルサインオンセクションでは、SAMLを使用したサードパーティ認証を有効にすることができ、ユーザーにとってDocSpaceへのアクセスがより迅速で簡単かつ安全になります。
SaaS版では、これは有料機能です(有料のビジネスプランでのみ利用可能)。
一般的に、シングルサインオン技術により、ユーザーは一度サインインするだけで、再認証なしで複数のアプリケーション/サービスにアクセスできます。例えば、ウェブポータルが複数の大規模な独立したセクション(フォーラム、チャット、ブログなど)を含む場合、ユーザーは1つのサービスで認証手続きを行うことで、複数回の資格情報入力なしに他のすべてのサービスに自動的にアクセスできます。
アイデンティティプロバイダー(IdP)は、ユーザーのアイデンティティ情報を作成、維持、管理し、フェデレーション内の他のサービスプロバイダーにユーザー認証を提供するサービスです。OneLogin、ADFSなどのサービスがアイデンティティプロバイダーとして機能します。サービスプロバイダー(SP)は、ウェブサービスを提供し、ユーザー認証のために信頼されたアイデンティティプロバイダーに依存するエンティティです。この場合、サービスプロバイダーはONLYOFFICEです。
アイデンティティプロバイダーとサービスプロバイダー間での認証/認可データ交換のために、SAMLに基づくSSOを有効にすることができます:
- SAML(Security Assertion Markup Language) - アイデンティティプロバイダーとサービスプロバイダー間でユーザーの認証/認可データをセキュリティトークンを介して伝送するためのXML標準です。
ONLYOFFICEはユーザーパスワードを保存せず、代わりにアイデンティティプロバイダー側での認証結果を使用することで、セキュリティが強化されています。必要なユーザー情報は認証トークンを通じて伝送されます。ユーザー情報がアイデンティティプロバイダー側で変更された場合、次回のSSO認証時にDocSpaceで自動的に更新されます(データはアイデンティティプロバイダーからONLYOFFICEへの一方向のみで同期されることに注意してください)。
アイデンティティプロバイダーとONLYOFFICEが相互にSSOを確保するように設定された後、ユーザーのSSO認証プロセスはアイデンティティプロバイダー側で行われます。ONLYOFFICEはアイデンティティプロバイダーから認証トークン(SAML)を受け取ります。トークンが検証されると(デジタル署名とトークンの有効期間を使用して)、ONLYOFFICEはユーザーがDocSpaceにアクセスすることを許可します。
SSOの有効化
DocSpaceのSSO認証を有効にして設定するには、次の手順に従ってください:
サービスプロバイダーを調整する前にアイデンティティプロバイダーの設定を確認してください。
- 左下のメニューで
を使用し、設定オプションを選択します。 - DocSpace設定で、左側の統合セクションを開きます。
- シングルサインオンタブに切り替えます。
- シングルサインオン認証を有効にするスイッチをオンにします。
-
ONLYOFFICE SP設定セクションで表示をクリックし、必要なフィールドに入力します。必要な情報は次のいくつかの方法で指定できます:
- メタデータファイルへのURLアドレスを入力します。IdPメタデータが外部からリンクでアクセス可能な場合、IdPメタデータXMLへのURLフィールドにリンクを挿入し、
ボタンをクリックしてデータをロードします。データがロードされると、必要なパラメータが拡張フォームに自動的に表示されます。 - メタデータファイルをアップロードします。IdPがメタデータファイルを提供する場合、ファイルを選択ボタンを使用してローカルマシンに保存されているファイルを参照します。ファイルがアップロードされると、必要なパラメータが拡張フォームに自動的に表示されます。
- 必要なパラメータを手動で指定します。メタデータファイルが利用できない場合、必要なパラメータを手動で入力します。必要な値を取得するには、IdP管理者にお問い合わせください。
- メタデータファイルへのURLアドレスを入力します。IdPメタデータが外部からリンクでアクセス可能な場合、IdPメタデータXMLへのURLフィールドにリンクを挿入し、
次のパラメータが利用可能です:
-
IdPエンティティID(必須フィールド) - サービスプロバイダーがIdPを一意に識別するために使用するアイデンティティプロバイダーの識別子またはURLアドレス。
https://example.com/idp/shibboleth
ここでexample.comはあなたのSSOサービスのドメイン名です
-
IdPシングルサインオンエンドポイントURL(必須フィールド) - アイデンティティプロバイダー側でのシングルサインオンに使用されるURL。これは、SPが認証要求を送信するIdPのエンドポイントアドレスです。
必要なバインディングタイプを選択し、対応するラジオボタンを選択します。バインディングは、IdPとSP間で認証要求と応答が基礎となるトランスポートプロトコルを介して送信される方法を指定します:HTTP POSTまたはHTTP リダイレクトバインディングを使用します。
-
IdPシングルログアウトエンドポイントURL - サービスプロバイダー側でのシングルログアウトに使用されるURL。これは、SPがログアウト要求/応答を送信するIdPのエンドポイントアドレスです。
必要なバインディングタイプを選択し、対応するラジオボタンを選択します。バインディングは、IdPとSP間でログアウト要求と応答が基礎となるトランスポートプロトコルを介して送信される方法を指定します:HTTP POSTまたはHTTP リダイレクトバインディングを使用します。
- NameIdフォーマット - NameIDパラメータはSPがユーザーを識別するために使用します。リストから利用可能なフォーマットの1つを選択します。
IdPおよびSPの証明書を追加することもできます。
IdP公開証明書
IdP公開証明書 - このセクションでは、SPがIdPからの要求と応答を検証するために使用するアイデンティティプロバイダーの公開証明書を追加できます。
IdPメタデータをロードした場合、これらの証明書は自動的にDocSpaceに追加されます。それ以外の場合、証明書はIdPアカウントで見つけることができます。証明書を手動で追加するには、証明書を追加ボタンをクリックします。新しい証明書ウィンドウが開きます。公開証明書フィールドに証明書を入力し、OKボタンをクリックします。
証明書のチェックに関する追加パラメータを設定し、対応するボックスをチェックします。
IdPからSPに送信される要求/応答の署名を検証するものを指定します:
- 認証応答署名を検証 - SPに送信されるSAML認証応答の署名を検証します。
- ログアウト要求署名を検証 - SPに送信されるSAMLログアウト要求の署名を検証します。
- ログアウト応答署名を検証 - SPに送信されるSAMLログアウト応答の署名を検証します。
デフォルト署名検証アルゴリズムリストから必要なアルゴリズムを選択します:rsa-sha1、rsa-sha256、またはrsa-sha512。
追加した証明書を編集または削除するには、対応するリンクを使用します。
SP証明書
SP証明書 - このセクションでは、SPからの要求と応答を署名および暗号化するために使用されるサービスプロバイダー証明書を追加できます。
IdPが入力データの署名および/または暗号化を要求する場合、このセクションで対応する証明書を作成または追加します。
証明書を追加ボタンをクリックします。新しい証明書ウィンドウが開きます。自己署名証明書を生成するか、既存の証明書を公開証明書フィールドに追加し、対応する秘密鍵を秘密鍵フィールドに追加します。使用目的リストで、利用可能なオプションの1つを選択します:署名、暗号化、署名および暗号化。準備ができたら、OKボタンをクリックします。
使用目的リストで証明書のアップロード/生成時に選択した証明書の目的に応じて、追加のパラメータが指定されます。以下のパラメータは、SPからIdPに送信されるリクエスト/レスポンスが署名されるべきかどうかを定義します:
- 認証リクエストに署名 - SPがIdPに送信するSAML認証リクエストに署名します。
- ログアウトリクエストに署名 - SPがIdPに送信するSAMLログアウトリクエストに署名します。
- ログアウトレスポンスに署名 - SPがIdPに送信するSAMLログアウトレスポンスに署名します。
使用目的リストで暗号化または署名と暗号化オプションを選択した場合、アサーションの復号パラメータもチェックされます。復号は対応する秘密鍵を使用して行われます。
必要なアルゴリズムをリストから選択します:
- 署名アルゴリズム:
rsa-sha1、rsa-sha256、またはrsa-sha512。 - デフォルトの復号アルゴリズム:
aes128-cbc、aes256-cbc、またはtripledes-cbc。
追加した証明書は、対応するリンクを使用して編集または削除できます。
属性マッピング
属性マッピング - このセクションでは、アカウントセクションのフィールドとIdPから返されるユーザー属性の対応を設定できます。ユーザーがSSO資格情報を使用してONLYOFFICE SPにサインインすると、ONLYOFFICE SPは必要な属性を受け取り、ユーザーアカウントのフルネームとメールアドレスフィールドにIdPから受け取った値を入力します。アカウントセクションにユーザーが存在しない場合、自動的に作成されます。IdP側でユーザー情報が変更された場合、SPでも更新されます。
利用可能な属性は以下の通りです:
- 名(必須フィールド) - ユーザーレコード内でユーザーの名に対応する属性。
- 姓(必須フィールド) - ユーザーレコード内でユーザーの姓に対応する属性。
- メール(必須フィールド) - ユーザーレコード内でユーザーのメールアドレスに対応する属性。
ユーザータイプ
すべてのユーザーは、選択されたタイプ(ユーザー、ルーム管理者、DocSpace管理者)でDocSpaceに追加されます。デフォルトではユーザータイプが選択されています。ユーザーは管理者から招待されたルームにのみアクセスでき、自分のルーム、フォルダー、ファイルを作成することはできません。より多くの権限を与えるには、別のタイプを選択してください。そうでなければ、連絡先セクションで手動でタイプを変更できます。
詳細設定
認証ページを非表示にするオプションを使用すると、デフォルトの認証ページを非表示にし、SSOサービスに自動的にリダイレクトできます。
/login?skipssoredirect=trueキーを追加できます。SSOユーザーのメールアクティベーションを無効にしたい場合は、メール確認を無効にするボックスをチェックしてください。このボックスがチェックされている場合、SSOユーザーはDocSpaceでの初回認証後にメールを確認する必要はありません。
DocSpaceでのすべての設定が指定されたら、保存ボタンをクリックします。ONLYOFFICE SPメタデータセクションが開きます。
IdPでONLYOFFICEを信頼されたサービスプロバイダーとして登録する
次に、IdPアカウントでONLYOFFICEを信頼されたサービスプロバイダーとして追加し、IdPにONLYOFFICE SPメタデータを指定する必要があります。
必要なデータを受け取るには、シングルサインオンページのONLYOFFICE SPメタデータセクションを参照してください。SPデータが公開アクセス可能であることを確認します。そのためには、SPメタデータXMLをダウンロードボタンをクリックします。XMLファイルの内容が新しいブラウザタブに表示されます。データをXMLファイルとして保存し、IdPにアップロードできるようにします。
または、対応するフィールドで
ボタンをクリックして、個別のパラメータを手動でコピーすることもできます。
利用可能なパラメータは以下の通りです:
- SPエンティティID(メタデータXMLへのリンク) - サービスプロバイダーXML URLアドレスで、IdPがSPを明確に識別するためにダウンロードして使用できるものです。デフォルトでは、ファイルは次のアドレスにあります:http://example.com/sso/metadata(example.comはあなたのONLYOFFICE DocSpaceドメイン名またはパブリックIPです)。
- SPアサーションコンシューマーURL(POSTおよびリダイレクトバインディングをサポート) - IdPからのアサーションを受信し処理するサービスプロバイダーURLアドレスです。デフォルトでは、次のアドレスが使用されます:http://example.com/sso/acs(example.comはあなたのONLYOFFICE DocSpaceドメイン名またはパブリックIPです)。
- SPシングルログアウトURL(POSTおよびリダイレクトバインディングをサポート) - IdP側でのシングルログアウトに使用されるURLです。これは、IdPからのログアウトリクエスト/レスポンスを受信し処理するSPのエンドポイントアドレスです。デフォルトでは、次のアドレスが使用されます:http://example.com/sso/slo/callback(example.comはあなたのONLYOFFICE DocSpaceドメイン名またはパブリックIPです)。
ONLYOFFICE SPへのログイン
SSOが有効化され設定された後、ログインプロセスは次のように行われます:
- ユーザーがONLYOFFICEにアクセスを要求し、ONLYOFFICE DocSpace認証ページでシングルサインオンボタンをクリックします(ONLYOFFICE SPの設定時に独自のテキストを指定した場合、キャプションは異なる場合があります)(SP開始SSO)。
- IdPとSPの設定がすべて正しく設定されている場合、ONLYOFFICEは認証リクエストをIdPに送信し、ユーザーをIdPページにリダイレクトし、そこで資格情報を求められます。
- ユーザーがIdPにまだログインしていない場合、IdPで資格情報を提供します。
- IdPはユーザーデータを含む認証レスポンスを作成し、ONLYOFFICEに送信します。
- ONLYOFFICEはIdPからの認証レスポンスを受信し、検証します。
- レスポンスが検証されると、ONLYOFFICEはユーザーのログインを許可します(ユーザーが存在しない場合は自動的に作成され、IdPで変更された場合はデータが更新されます)。
IdP側のサインインページを使用し(IdP開始SSO)、資格情報を入力してから再認証なしでONLYOFFICE DocSpaceにアクセスすることも可能です。
ONLYOFFICE SPからのログアウト
ログアウトは次の2つの方法で行うことができます:
- ONLYOFFICE DocSpaceからサインアウトメニューを使用します(この場合、IdPからログアウトするためのリクエストが送信されます)。ユーザーは、以前にSSO認証を介してアクセスしたすべてのアプリケーションからログアウトした場合、IdPからも自動的にログアウトされるべきです。
- IdPのログアウトページから。
SSOを使用して作成されたユーザープロファイルの編集
SSO認証を使用して作成されたユーザーは、DocSpace管理者のユーザーリストでSSOアイコンでマークされています。
アカウントセクションでそのようなユーザープロファイルを編集する可能性は制限されています。SSO認証を使用して作成されたユーザープロファイルフィールドは、アカウントセクションから編集できません。ユーザーデータはIdP側でのみ変更可能です。