SAML 認証

この機能を利用できるのは、組織オーナーと管理者のみです。

Zulip は、Zulip Cloud とセルフホスト版 Zulip サーバーの両方で、シングルサインオンのための SAML 認証に対応しています。SAML Single Logout もサポートされています。

このページでは、以下の一般的なプロバイダーで SAML 認証を設定する方法を説明します。

  • Okta
  • OneLogin
  • AzureAD
  • Keycloak
  • Auth0

このほかの SAML プロバイダーにも対応しています。

Zulip をセルフホストしている場合は、[セルフホスト向け SAML 設定][saml-readthedocs]の詳細な手順に従ってください。このページの説明は、特定の SAML プロバイダーを設定する際の参考資料として役立ちます。

この機能はCloud Plusでのみ利用できます。

SAML を設定する

  1. Zulip Cloud 組織が Zulip Cloud Plus プランになっていることを確認します。

  2. Okta のドキュメントに従って SAML 認証を設定します。Default RelayStateName ID format は設定せず、以下の項目を指定してください。

    • Single sign on URL: https://auth.zulipchat.com/complete/saml/
    • Audience URI (SP Entity ID): https://zulipchat.com
    • Application username format: Email
    • Attribute statements:
      • email to user.email
      • first_name to user.firstName
      • last_name to user.lastName
  3. Assignments タブで、適切なアカウントを割り当てます。ここで割り当てたユーザーが、あなたの Zulip 組織にログインできるようになります。

  4. Zulip Cloud をご利用の場合は、ここから先は Zulip 側で対応します。以下の情報を添えて、support@zulip.com までメールでご連絡ください。

    1. あなたの組織の URL
    2. アプリケーションに対して Okta が提供する Identity Provider metadata。 この情報を取得するには、Sign on タブの右サイドバーにある View SAML setup instructions button をクリックします。 ページ下部に表示される IdP metadata をコピーしてください。
    3. Zulipのログインボタンに付けるラベルを指定します: 「Log in with...」
    4. (任意) ログインボタンに使用するアイコン

  1. Zulip Cloud 組織が Zulip Cloud Plus プランになっていることを確認します。

  2. OneLogin の Applications ページに移動し、Add App をクリックします。

  3. SAML Custom Connector (Advanced) アプリを検索して選択します。

  4. 名前とロゴを設定して Save をクリックします。これは Zulip 側には影響しませんが、OneLogin の Applications ページに表示されます。

  5. Configuration セクションで、以下の項目を指定します。空欄を含むその他の項目はそのままにしてください。

    • Audience: https://zulipchat.com
    • Recipient: https://auth.zulipchat.com/complete/saml/
    • ACS URL: https://auth.zulipchat.com/complete/saml/
    • ACS URL Validator: https://auth.zulipchat.com/complete/saml/
  6. Parameters セクションで、以下のカスタムパラメーターを追加します。各パラメーターで Include in SAML assertion フラグを有効にしてください。

    Field name Value
    email Email
    first_name First Name
    last_name Last Name
    username Email
  7. Zulip Cloud をご利用の場合は、ここから先は Zulip 側で対応します。以下の情報を添えて、support@zulip.com までメールでご連絡ください。

    1. あなたの組織の URL
    2. SSO セクションにある issuer URL。ここには必要な Identity Provider metadata が含まれています。
    3. Zulipのログインボタンに付けるラベルを指定します: 「Log in with...」
    4. (任意) ログインボタンに使用するアイコン

  1. Zulip Cloud 組織が Zulip Cloud Plus プランになっていることを確認します。

  2. AzureAD のダッシュボードから Enterprise applications に移動し、New application、続いて Create your own application をクリックします。

  3. 新しい AzureAD アプリケーションの名前(例: Zulip Cloud)を入力し、Integrate any other application you don't find in the gallery (Non-gallery) を選択して Create をクリックします。

  4. 作成した AzureAD アプリケーションの Overview ページから Single sign-on に進み、SAML を選択します。

  5. Basic SAML Configuration セクションで、以下の項目を指定します。

    • Identifier (Entity ID): https://zulipchat.com
    • Default: checked(IdP 起点のサインオンを有効にするために必要です)
    • Reply URL (Assertion Consumer Service URL): https://auth.zulipchat.com/complete/saml/
  6. IdP 起点のサインオンも設定したい場合は、Basic SAML Configuration セクションで以下も指定します。

    • RelayState: {"subdomain": "<your organization's zulipchat.com subdomain>"}
  7. User Attributes & Claims の設定を確認します。通常はすでに以下の内容になっています。設定が異なる場合は、support@zulip.com に連絡する際(次の手順)にその旨を伝えてください。

    • givenname: user.givenname
    • surname: user.surname
    • emailaddress: user.mail
    • name: user.principalname
    • Unique User Identifier: user.principalname
  8. Zulip Cloud をご利用の場合は、ここから先は Zulip 側で対応します。以下の情報を添えて、support@zulip.com までメールでご連絡ください。

    1. あなたの組織の URL
    2. SAML Signing Certificate セクションから:
      • App Federation Metadata Url
      • Certificate (Base64) からダウンロードした証明書
    3. Set up セクションから
      • Login URL
      • Azure AD Identifier
    4. Zulipのログインボタンに付けるラベルを指定します: 「Log in with...」
    5. (任意) ログインボタンに使用するアイコン

  1. Zulip Cloud 組織が Zulip Cloud Plus プランになっていることを確認します。

  2. Keycloak サーバーが起動していることを確認します。

  3. Keycloak で、あなたの Zulip 組織用に新しい Client を登録します。

    • Client-ID: https://zulipchat.com
    • Client Protocol: saml
    • Client SAML Endpoint: (empty)
  4. 新しい Keycloak client の Settings タブで、以下のプロパティを設定します。

    • Valid Redirect URIs: https://auth.zulipchat.com/*
    • Base URL: https://auth.zulipchat.com/complete/saml/
    • Client Signature Required: Disable
  5. 新しい Keycloak client の Mappers タブで以下を設定します。

    • 名を表す Mapper を作成します。
      • Property: firstName
      • Friendly Name: first_name
      • SAML Attribute Name: first_name
      • SAML Attribute Name Format: Basic
    • 姓を表す Mapper を作成します。
      • Property: lastName
      • Friendly Name: last_name
      • SAML Attribute Name: last_name
      • SAML Attribute Name Format: Basic
    • メールアドレスを表す Mapper を作成します。
      • Property: email
      • Friendly Name: email
      • SAML Attribute Name: email
      • SAML Attribute Name Format: Basic
  6. Zulip Cloud をご利用の場合は、ここから先は Zulip 側で対応します。以下の情報を添えて、support@zulip.com までメールでご連絡ください。

    1. あなたの組織の URL
    2. Keycloak realm の URL
    3. Zulipのログインボタンに付けるラベルを指定します: 「Log in with...」
    4. (任意) ログインボタンに使用するアイコン

Keycloak realm の URL は、たとえば https://keycloak.example.com/auth/realms/yourrealm のような形式になります。

  1. Zulip Cloud 組織が Zulip Cloud Plus プランになっていることを確認します。

  2. Auth0 のドキュメントに従って SAML 認証を設定し、新しいアプリケーションを作成します。証明書などの詳細情報を保存する必要はありません。必要なのは SAML Metadata URL のみです。

  3. Addon: SAML2 Web AppSettings タブで、Application Callback URLhttps://auth.zulipchat.com/complete/saml/ に設定します。
  4. Settings セクションを次の内容に合わせて編集します。

    {
      "audience": "https://zulipchat.com",
      "mappings": {
        "email": "email",
        "given_name": "first_name",
        "family_name": "last_name"
      },
      "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
    }
  5. Zulip Cloud をご利用の場合は、ここから先は Zulip 側で対応します。以下の情報を添えて、support@zulip.com までメールでご連絡ください。

    1. あなたの組織の URL
    2. 上記の SAML Metadata URL の値。ここには必要な Identity Provider metadata が含まれています。
    3. Zulipのログインボタンに付けるラベルを指定します: 「Log in with...」
    4. (任意) ログインボタンに使用するアイコン

SAML の設定が完了したら、あわせてSCIM を設定することも検討してください。

関連記事