SAML 認証
この機能を利用できるのは、組織オーナーと管理者のみです。
Zulip は、Zulip Cloud とセルフホスト版 Zulip サーバーの両方で、シングルサインオンのための SAML 認証に対応しています。SAML Single Logout もサポートされています。
このページでは、以下の一般的なプロバイダーで SAML 認証を設定する方法を説明します。
- Okta
- OneLogin
- AzureAD
- Keycloak
- Auth0
このほかの SAML プロバイダーにも対応しています。
Zulip をセルフホストしている場合は、[セルフホスト向け SAML 設定][saml-readthedocs]の詳細な手順に従ってください。このページの説明は、特定の SAML プロバイダーを設定する際の参考資料として役立ちます。
この機能はCloud Plusでのみ利用できます。
SAML を設定する
- Okta
- OneLogin
- AzureAD
- Keycloak
- Auth0
-
Zulip Cloud 組織が Zulip Cloud
Plus プランになっていることを確認します。
-
Okta のドキュメントに従って SAML 認証を設定します。Default RelayState と Name 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
-
Assignments タブで、適切なアカウントを割り当てます。ここで割り当てたユーザーが、あなたの Zulip 組織にログインできるようになります。
-
Zulip Cloud をご利用の場合は、ここから先は Zulip 側で対応します。以下の情報を添えて、support@zulip.com までメールでご連絡ください。
- あなたの組織の URL
- アプリケーションに対して Okta が提供する Identity Provider metadata。
この情報を取得するには、Sign on タブの右サイドバーにある View SAML setup instructions button をクリックします。
ページ下部に表示される IdP metadata をコピーしてください。
- Zulipのログインボタンに付けるラベルを指定します: 「Log in with...」
- (任意) ログインボタンに使用するアイコン
-
Zulip Cloud 組織が Zulip Cloud
Plus プランになっていることを確認します。
-
OneLogin の Applications ページに移動し、Add App をクリックします。
-
SAML Custom Connector (Advanced) アプリを検索して選択します。
-
名前とロゴを設定して Save をクリックします。これは Zulip 側には影響しませんが、OneLogin の Applications ページに表示されます。
-
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/
-
Parameters セクションで、以下のカスタムパラメーターを追加します。各パラメーターで Include in SAML assertion フラグを有効にしてください。
| Field name |
Value |
| email |
Email |
| first_name |
First Name |
| last_name |
Last Name |
| username |
Email |
-
Zulip Cloud をご利用の場合は、ここから先は Zulip 側で対応します。以下の情報を添えて、support@zulip.com までメールでご連絡ください。
- あなたの組織の URL
- SSO セクションにある issuer URL。ここには必要な Identity Provider metadata が含まれています。
- Zulipのログインボタンに付けるラベルを指定します: 「Log in with...」
- (任意) ログインボタンに使用するアイコン
-
Zulip Cloud 組織が Zulip Cloud
Plus プランになっていることを確認します。
-
AzureAD のダッシュボードから Enterprise applications に移動し、New application、続いて Create your own application をクリックします。
-
新しい AzureAD アプリケーションの名前(例: Zulip Cloud)を入力し、Integrate any other application you don't find in the
gallery (Non-gallery) を選択して Create をクリックします。
-
作成した AzureAD アプリケーションの Overview ページから Single sign-on に進み、SAML を選択します。
-
Basic SAML Configuration セクションで、以下の項目を指定します。
- Identifier (Entity ID):
https://zulipchat.com
- Default: checked(IdP 起点のサインオンを有効にするために必要です)
- Reply URL (Assertion Consumer Service URL):
https://auth.zulipchat.com/complete/saml/
-
IdP 起点のサインオンも設定したい場合は、Basic SAML
Configuration セクションで以下も指定します。
- RelayState:
{"subdomain": "<your organization's zulipchat.com subdomain>"}
-
User Attributes & Claims の設定を確認します。通常はすでに以下の内容になっています。設定が異なる場合は、support@zulip.com に連絡する際(次の手順)にその旨を伝えてください。
- givenname:
user.givenname
- surname:
user.surname
- emailaddress:
user.mail
- name:
user.principalname
- Unique User Identifier:
user.principalname
-
Zulip Cloud をご利用の場合は、ここから先は Zulip 側で対応します。以下の情報を添えて、support@zulip.com までメールでご連絡ください。
- あなたの組織の URL
- SAML Signing Certificate セクションから:
- App Federation Metadata Url
- Certificate (Base64) からダウンロードした証明書
- Set up セクションから
- Login URL
- Azure AD Identifier
- Zulipのログインボタンに付けるラベルを指定します: 「Log in with...」
- (任意) ログインボタンに使用するアイコン
-
Zulip Cloud 組織が Zulip Cloud
Plus プランになっていることを確認します。
-
Keycloak サーバーが起動していることを確認します。
-
Keycloak で、あなたの Zulip 組織用に新しい Client を登録します。
- Client-ID:
https://zulipchat.com
- Client Protocol:
saml
- Client SAML Endpoint: (empty)
-
新しい Keycloak client の Settings タブで、以下のプロパティを設定します。
- Valid Redirect URIs:
https://auth.zulipchat.com/*
- Base URL:
https://auth.zulipchat.com/complete/saml/
- Client Signature Required:
Disable
-
新しい 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
-
Zulip Cloud をご利用の場合は、ここから先は Zulip 側で対応します。以下の情報を添えて、support@zulip.com までメールでご連絡ください。
- あなたの組織の URL
- Keycloak realm の URL
- Zulipのログインボタンに付けるラベルを指定します: 「Log in with...」
- (任意) ログインボタンに使用するアイコン
Keycloak realm の URL は、たとえば https://keycloak.example.com/auth/realms/yourrealm のような形式になります。
-
Zulip Cloud 組織が Zulip Cloud
Plus プランになっていることを確認します。
-
Auth0 のドキュメントに従って SAML 認証を設定し、新しいアプリケーションを作成します。証明書などの詳細情報を保存する必要はありません。必要なのは SAML Metadata URL のみです。
- Addon: SAML2 Web App の Settings タブで、Application Callback URL を
https://auth.zulipchat.com/complete/saml/ に設定します。
-
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"
}
-
Zulip Cloud をご利用の場合は、ここから先は Zulip 側で対応します。以下の情報を添えて、support@zulip.com までメールでご連絡ください。
- あなたの組織の URL
- 上記の SAML Metadata URL の値。ここには必要な Identity Provider metadata が含まれています。
- Zulipのログインボタンに付けるラベルを指定します: 「Log in with...」
- (任意) ログインボタンに使用するアイコン
関連記事