メインコンテンツまでスキップ

Keycloak IdP

はじめに​

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

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

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

KeycloakでのIdPの作成​

  1. 管理者としてKeycloakにサインインします。

  2. レルムの管理に移動し、接続を設定するレルムを選択します。

  3. クライアントに移動し、クライアントの作成ボタンをクリックします。

  4. 開いたページで以下を設定します:クライアントタイプフィールドでSAMLを選択します。クライアントIDフィールドにhttps://myportal-address.com/sso/metadataを入力し、myportal-address.comをワークスペースのドメイン名に置き換えます。名前と説明フィールドには、クライアントの任意の名前と説明を入力します。

    How to configure ONLYOFFICE SP and Keycloak IdP

  5. 次へボタンをクリックします。

  6. 以下のフィールドに入力します:

    注記

    myportal-address.comをワークスペースのドメイン名に置き換えます。

    アプリケーションの詳細
    ルートURLhttps://myportal-address.com/sso
    ホームURLhttps://myportal-address.com/sso
    有効なリダイレクトURIhttps://myportal-address.com/sso/slo/callback
    https://myportal-address.com/sso/acs
    有効なログアウト後のリダイレクトURIhttps://myportal-address.com/sso/slo/callback
    マスターSAML処理URLhttps://myportal-address.com/sso/acs

    How to configure ONLYOFFICE SP and Keycloak IdP

    詳細設定タブで以下のフィールドに入力します:

    アサーションコンシューマーサービスPOSTバインディングURLhttps://myportal-address.com/sso/acs
    アサーションコンシューマーサービスリダイレクトバインディングURLhttps://myportal-address.com/sso/acs
    ログアウトサービスPOSTバインディングURLhttps://myportal-address.com/sso/slo/callback
    ログアウトサービスリダイレクトバインディングURLhttps://myportal-address.com/sso/slo/callback

    How to configure ONLYOFFICE SP and Keycloak IdP

  7. 保存ボタンをクリックします。

  8. SAML機能セクションで、名前IDフォーマットをメールに設定します。

  9. 署名と暗号化セクションで、アサーションの署名オプションを有効にし、署名アルゴリズムを選択します:RSA_SHA1、RSA_SHA256、またはRSA_SHA512。

    How to configure ONLYOFFICE SP and Keycloak IdP

  10. 保存ボタンをクリックします。

  11. クライアントスコープセクションに移動し、ワークスペースの名前のリンクhttps://myportal-address.com/sso/metadata-dedicatedをクリックします。

    事前定義されたマッパーを追加ボタンをクリックし、ポップアップウィンドウで以下のマッパーを選択します:

    • X500 email
    • X500 givenName
    • X500 surname

    その後、追加ボタンをクリックします。

    How to configure ONLYOFFICE SP and Keycloak IdP

ONLYOFFICE SPの設定​

  1. 管理者としてONLYOFFICE Appsワークスペースにサインインしていることを確認し、設定メニューに移動し、統合セクションを選択し、シングルサインオンタブを開きます。

  2. シングルサインオン認証を有効にするスイッチャーを使用してSSOを有効にし、IdpメタデータXMLのURLフィールドにhttps://<keycloakurl>/realms/<realm_name>/protocol/saml/descriptorを貼り付けます。<keycloakurl>と<realm_name>をKeycloakサーバーのアドレスと接続が作成されたレルムの名前に置き換えます。最終的なリンクはブラウザからアクセス可能でなければなりません。

    How to configure ONLYOFFICE SP and Keycloak IdP

  3. 上向き矢印のボタンを押してIdPメタデータを読み込みます。ONLYOFFICEサービスプロバイダー設定フォームはKeycloak IdPからのデータで自動的に入力されます。

  4. Keycloakで指定されたものと同じデフォルト署名検証アルゴリズムを選択します。

    How to configure ONLYOFFICE SP and Keycloak IdP

  5. NameIdフォーマットをemailAddressに変更します。

    How to configure ONLYOFFICE SP and Keycloak IdP

  6. 次に、SP証明書セクションで証明書を作成する必要があります。それを行うには、証明書を追加ボタンをクリックします。

  7. 開いたモーダルウィンドウで、新しい自己署名証明書を生成リンクをクリックし、使用目的リストから署名と暗号化オプションを選択します。証明書を保存する前に、公開証明書のテキストをクリップボードにコピーし、ファイルに保存してください(Keycloakに必要です)。その後、OKボタンをクリックします。

    How to configure ONLYOFFICE SP and Keycloak IdP

  8. 属性マッピングセクションに移動し、次の値を属性に割り当てます:

    • 名:urn:oid:2.5.4.42
    • 姓:urn:oid:2.5.4.4
    • メール:urn:oid:1.2.840.113549.1.9.1

    How to configure ONLYOFFICE SP and Keycloak IdP

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

    デフォルトの認証ページを復元する必要がある場合(IdPサーバーが失敗したときにワークスペースにアクセスできるようにするため)、ブラウザのアドレスバーでワークスペースのドメイン名の後に/login?skipssoredirect=trueキーを追加できます。

  9. 保存ボタンをクリックします。

  10. Keycloakに戻り、暗号化を設定するためにクライアントを開き、キーセクションに移動します。クライアント署名が必要オプションを無効にし、アサーションを暗号化を有効にします。ポップアップウィンドウでインポートを選択し、アーカイブ形式を証明書PEMに設定し、参照ボタンをクリックします。ステップ7から証明書ファイルのパスを指定し、確認をクリックします。

ONLYOFFICE SPとKeycloak IdPの動作確認​

  1. ONLYOFFICE Appsの認証ページにアクセスします(例:https://myportal-address.com/login)。

  2. シングルサインオンボタンをクリックします。ボタンがない場合、SSOが有効になっていないことを意味します。

    How to configure ONLYOFFICE SP and Keycloak IdP

  3. すべてのSPおよびIdPパラメータが正しく設定されている場合、Keycloak IdPのログインフォームにリダイレクトされます:

    How to configure ONLYOFFICE SP and Keycloak IdP

  4. Keycloakユーザーのログインとパスワードを入力し、サインインボタンをクリックします。

  5. 資格情報が正しい場合、ワークスペースのメインページにリダイレクトされます(ユーザーが存在しない場合は自動的に作成され、IdPで変更された場合はデータが更新されます)。

    How to configure ONLYOFFICE SP and Keycloak IdP