この記事はAIによって翻訳されました

ONLYOFFICE SPとShibboleth IdPの設定

はじめに

シングルサインオン(SSO)は、ユーザーが一度だけサインインすることで、再認証なしに複数のアプリケーションやサービスにアクセスできる技術です。

例えば、ウェブポータルがフォーラム、チャット、ブログなどの大規模な独立したセクションを含む場合、ユーザーは一つのサービスで認証手続きを行うことで、複数回の資格情報入力なしに他のすべてのサービスに自動的にアクセスできます。

SSOは常に、アイデンティティプロバイダーとサービスプロバイダー(以下「IdP」と「SP」と呼びます)の2つのアプリケーションの共同作業によって保証されます。ONLYOFFICE SSOSPのみを実装しています。IdPとしては多くの異なるプロバイダーが機能できますが、この記事ではShibbolethの実装を考慮します。

ONLYOFFICEデスクトップエディターONLYOFFICE Workspaceに接続する際にSSOを使用したい場合は、コントロールパネルプライベートルームを無効にしてください。

SSO設定のためのONLYOFFICE Workspaceの準備

  1. Docker用のONLYOFFICE Workspace v. 11.0.0またはSSOサポートを含むそれ以降のバージョンをインストールします。
  2. ドメイン名を追加します。例:myportal-address.com
  3. ポータルでコントロールパネル -> HTTPSに移動し、トラフィック暗号化のためにletsencrypt証明書を作成して適用します(ポータルでHTTPSを有効にするため)。

Shibboleth IdPの作成

要件
  • Shibboleth IDPをデプロイするには、クリーンなCentOS 7のホストマシンが必要です。
  • IDPのために、時間が正しく設定され、時間同期サービスがホストマシンにインストールされている必要があります:
    timedatectl  status
    yum install ntp
    systemctl enable ntpd.service
    ntpdate time.apple.com
  • マシンにunzipパッケージがインストールされている必要があります:
    yum install unzip
  • DockerDocker Composeがマシンにインストールされている必要があります。
  • マシンにドメイン名が関連付けられている必要があります(例:your-idp-domain.com
Shibboleth IdPの作成

Shibboleth IDPを作成、設定、開始するには、install.shスクリプトをダウンロードして実行します。

スクリプトの内容:

  • githubからShibboleth Idpイメージとコンテナを作成するためのdockerファイルをダウンロードします。
  • 設定ファイルのデフォルトドメインidptestbed.eduをスクリプト実行時に指定したドメインに変更します。
  • 指定されたONLYOFFICE SPドメインへのSAMLプロトコルによるアクセスを追加します。
  • Shibboleth IDPからユーザー情報を発行するために必要な属性をONLYOFFICE SPに指定します(属性マッピング設定)。
  • LDAPを作成し、発行用のユーザーを作成します。
  • ONLYOFFICE SPからShibboleth IDPへのメタデータの動的読み込みを有効にします。
  • 必要に応じてShibboleth SLOを有効にします。
  1. install.shスクリプトをダウンロードします:
    curl -L https://help.onlyoffice.co/Products/Files/HttpHandlers/filehandler.ashx?action=download&fileid=6875651&doc=MW9QWHdCQU9HOTN5dlpBWVQxTGtOem55SjJaNWx4L1ZIdTNkQk53QnpDYz0_IjY4NzU2NTEi0 -o install.sh
  2. スクリプトを実行可能にします:
    chmod +x install.sh
  3. スクリプトを実行し、パラメータを自分のものに置き換えます:
    ./install.sh -id your-idp-domain.com -sd myportal-address.com --no_slo

    スクリプトのパラメータ:

    • -id - Shibboleth IDPの現在のマシンのドメイン名。
    • -sd - ONLYOFFICE SPがデプロイされているドメイン名。
    • --no_slo - Shibboleth IDPでのシングルログアウトを無効にします(オプションのパラメータ)。
  4. スクリプトを実行した後、Shibboleth IDPが開始されるのを待ちます。
  5. Shibboleth IDPが正しく開始されたことを確認するには、ブラウザでhttps://your-idp-domain.com/idp/shibbolethリンクを開きます。XMLファイルが表示されるはずです。
  6. https://{your_idp_domain}/idp/shibbolethリンク(例:https://your-idp-domain.com/idp/shibboleth)をコピーし、管理者としてONLYOFFICEポータルにサインインします。コントロールパネル -> SSOページを開きます。

ONLYOFFICE SPの設定

  1. ONLYOFFICEのコントロールパネルに管理者としてサインインしていることを確認し、左サイドバーのポータル設定セクションでSSOタブをクリックします。
    ONLYOFFICEポータルでは、組織のエンタープライズIdPを1つだけ登録できます。
    Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法
  2. シングルサインオン認証を有効にするスイッチャーを使用してSSOを有効にし、Shibboleth IdPへのリンクをIdpメタデータXMLのURLフィールドに貼り付けます。
    Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法
  3. 上向き矢印のボタンを押してIdPメタデータをロードします。ONLYOFFICE SP設定フォームがShibboleth IdPからのデータで自動的に入力されます。

    install.shスクリプトを実行する際に--no_sloパラメータを指定してSLOを無効にしたため、IdPシングルログアウトエンドポイントURLフィールドは空になります。

  4. IdPメタデータがロードされると、IdP公開証明書セクションに2つの証明書が追加されます。また、次のテキストを含むポップアップウィンドウが表示されます:「複数のIdp検証証明書はサポートされていません。プライマリ証明書のみを残してください」。

    リストの2番目の証明書を削除し、最初の証明書のみを残す必要があります。これはプライマリ証明書です。設定を保存するには、2番目の証明書の横にある削除リンクを使用して削除してください。

  5. カスタムログインボタンキャプションフィールドには、デフォルトのテキスト(シングルサインオン)の代わりに任意のテキストを入力できます。このテキストは、ONLYOFFICE認証ページでシングルサインオンサービスを使用してポータルにログインするためのボタンに表示されます。
    Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法
  6. 次に、SP証明書セクションで自己署名証明書を作成するか、他の証明書を追加する必要があります。
    重要!使用目的リストで署名と暗号化オプションを選択してください。Shibboleth IdPは、install.shスクリプトでデジタル署名と暗号化されたデータを確認するように自動的に設定されています。
    Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法

    ほぼ同じ結果が得られるはずです:

    Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法
  7. 属性マッピングセクションで、Shibboleth IdPから返されるユーザー属性に対して、ONLYOFFICE Peopleモジュールのフィールドの対応を設定します。
    urn:oid:2.5.4.42
    urn:oid:2.5.4.4
    メールurn:oid:0.9.2342.19200300.100.1.3
    所在地urn:oid:2.5.4.7
    役職urn:oid:2.5.4.12
    電話urn:oid:0.9.2342.19200300.100.1.41
    Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法

    詳細設定セクションで、デフォルトの認証ページを非表示にし、SSOサービスに自動的にリダイレクトするために認証ページを非表示オプションをチェックすることができます。

    重要デフォルトの認証ページを復元する必要がある場合(IDPサーバーが故障した場合にポータルにアクセスできるようにするため)、ブラウザのアドレスバーでポータルのドメイン名の後に/Auth.aspx?skipssoredirect=trueキーを追加することができます。
  8. 保存ボタンをクリックします。
  9. ONLYOFFICE SPメタデータセクションが開かれるはずです。
  10. 設定が公開されていることを確認するために、SPメタデータXMLをダウンロードボタンをクリックします。XMLファイルの内容が表示されるはずです。
    Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法

    このXMLファイルは通常、Shibboleth IDPを設定するために使用されますが、install.shスクリプトがDynamicHTTPMetadataProviderを有効にしているため、その必要はありません(Shibboleth IDPは最初のログイン要求時にこのXMLファイルをダウンロードします)。

Shibboleth IdPとONLYOFFICE SPの動作確認

install.shスクリプトは、Shibboleth IdPとONLYOFFICE SPの動作をテストするために使用できる4人のユーザーを作成しました。

メールユーザー名パスワードコメント
student1@{your_idp_domain}student1password標準
student2@{your_idp_domain}student2passwordgivenNameなし
student3@{your_idp_domain}student3passwordウムラウト付き
staff1@{your_idp_domain}staff1password必須フィールドのみ
SP側でのONLYOFFICEへのログイン
  1. ONLYOFFICE認証ページにアクセスします(例:https://myportal-address.com/Auth.aspx)。
  2. シングルサインオンボタンをクリックします(ONLYOFFICE SPの設定時に独自のテキストを指定した場合、キャプションが異なる場合があります)。ボタンがない場合は、SSOが有効になっていないことを意味します。
    Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法
  3. すべてのSPおよびIdPパラメータが正しく設定されている場合、Shibboleth IdPのログインフォームにリダイレクトされます:
    Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法
  4. Shibboleth IdPアカウントのユーザー名とパスワードを入力します(ユーザー名:student1、パスワード:password)し、ログインを記憶しないボックスをチェックします。
  5. 資格情報が正しければ、新しいウィンドウが開きます。承認ボタンをクリックして、サービスへの情報提供を許可します。
    Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法
  6. すべてが正しければ、ポータルのメインページにリダイレクトされます(ユーザーが存在しない場合は自動的に作成され、IDPで変更された場合はデータが更新されます)。
    Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法
SSO認証で追加されたユーザーのプロファイル

SSO認証を使用して作成されたユーザープロファイルの編集は制限されています。IdPから受け取ったユーザープロファイルフィールド(メール役職所在地)は編集できません。これらのフィールドはIdPアカウントからのみ編集可能です。

以下の図は、SSOユーザーのアクションメニューを示しています:

Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法

以下の図は、編集のために開かれたSSOユーザープロファイルを示しています:

Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法

SSO認証を使用して作成されたユーザーは、ポータル管理者用のユーザーリストでSSOアイコンでマークされています:

Shibboleth IdPとONLYOFFICE SPの設定方法 Shibboleth IdPとONLYOFFICE SPの設定方法

Shibboleth IdPからログアウトするには(ログイン時にログインを記憶しないボックスをチェックしていない場合)、次のようなリンクにアクセスしてください:https://{shibboleth-idp-domain}/idp/profile/Logout

次の項目が含まれている記事:タグ:
すべてのタグを見る