本記事では、OneLoginからSlack Enterprise GridへのSAML シングルサインオン(SSO)の設定手順をご案内します。
目次
はじめに
SlackのEnterprise Grid プランでは一度IdPとSSO連携を行うと、新たなIdPとの連携を行わないと連携解除が行えません。そのため一度IdPとの連携を行うと、ログインID/パスワードのみによるSlackへのログインを行うことができなくなるため、Slackへ初めてSSO連携を設定する際はご注意ください
前提条件
- OneLoginのライセンスが Starter, Enterprise, Unlimited または SSO, Advanced, Professional(新料金体系)のいずれかであること
- OneLoginの Super User または Account Owner 権限を持つアカウントを所有していること
- Slackのライセンスが Enterprise Grid であること
- Slackのオーナー権限をお持ちであること
注意事項
SlackにはSSO有効化の際、NameID(Slackの場合はメールアドレス)をもとにSlackのアカウントとOneLoginのアカウントを紐付ける バインド と呼ばれる機能があります。バインドされた状態でSAML認証が実行されると、Slackのアカウント情報がOneLoginのアカウント情報によって更新されますので、ご注意ください。
SAML連携の設定
1. OneLogin側の設定
- OneLoginに管理者でログインし、[管理]をクリックします
-
Applications メニューから[Applications]を選択します
- [Add App]をクリックします
-
Slack と検索し、SAML2.0 のコネクタを選択します
- [Save]をクリックします
-
Configurations タブに移動し、Slack Team を入力します
例)https://onelogin-jp.slack.comの場合、onelogin-jpと入力
-
SSO タブに移動し、SAML Signature Algorithm を SHA-256 に変更します
-
Access タブに移動し、割り当てたいユーザーが属するロールを選択します
- [Save]をクリックします
-
SSO タブに移動し、 Issuer URL と SAML 2.0 Endpoint(HTTP) をクリップボードへコピーします
-
View Details をクリックします
-
X.509 Certificate の内容をクリップボードへコピーします
2. Slack側の設定
- Slackへ管理者権限またはオーナー権限を所持したアカウントでログインし、ワークスペースから テナント名 > ツールと設定 > [オーガナイゼーションの設定]をクリックします
-
セキュリティタブ > SSO設定 をクリックします
- [SSO を構成する]をクリックします
- 任意の SSO 名 を入力します
例)OneLogin
-
SSO を構成する へ 1. OneLogin側の設定 手順9でコピーした項目を下記表のように入力します
Slack OneLogin SAML 2.0 Endpoint URL SAML2.0 Endpoint (HTTP) IDプロバイダ発行者の URL Issuer URL サービスプロバイダ発行者のURL https://slack.com
-
公開(X.509)証明書 へ 1. OneLogin側の設定 手順11でコピーした内容を貼り付けます
-
レスポンスに署名する にチェックを入れます
- [テスト設定]をクリックします
- [テスト設定]をクリックするとOneLoginのログイン画面が表示されます
Slackの設定中のブラウザでOneLoginへログインしていると、ログイン画面は表示されません
- OneLoginへユーザー名とパスワードを入力し、[続行する]をクリックします
- [設定を確定する]をクリックします
SAML連携の設定は以上です。
SAML SSOの無効化
Slackの Enterprise Grid プランではSSO認証設定が必須のため、SSO連携を解除することはできません。そのため、OneLoginとのSAML連携解除手順として以下の2点があります
- SSO設定を上書きする
- 新たなSSO設定を作成し、既存のSSO設定を削除する
本セクションでは、上記2点の手順をご紹介します
SSO 設定を上書きおよび削除すると、その ID プロバイダを使用しているメンバー全員がサインアウトされます
1. SSO設定を上書きする
- Slackへ管理者権限またはオーナー権限を所持したアカウントでログインし、ワークスペースから テナント名 > ツールと設定 > [オーガナイゼーションの設定]をクッリクします
-
セキュリティタブ > SSO設定 をクリックします
- 上書きしたいSSO設定の[設定を編集する]をクリックします
- SSO設定の上書きが完了したら[テスト設定]をクリックします
- [更新を確認する]をクリックします
- SSO設定したIdP名を変更したい場合は、[編集]をクリックします
-
SSO名 へ新たなIdPの名称を入力します
- [保存する]をクリックします
2. 新たなSSO設定を作成し、既存のSSO設定を削除する
- Slackへ管理者権限またはオーナー権限を所持したアカウントでログインし、ワークスペースから テナント名 > ツールと設定 > [オーガナイゼーションの設定]をクッリクします
-
セキュリティタブ > SSO設定 をクリックします
- [SSO の設定を追加する]をクリックします
- SSOの設定が完了したら セキュリティタブ > SSO設定 より削除したいSSO設定の[削除]をクリックします
- [設定を削除する]をクリックします
- 削除したSSO設定が表示されていなかったら、SAML連携解除は完了です
トラブルシュート
[テスト設定]をクリック後、SSOの設定画面が表示される
-
SAML レスポンスの署名 > アサーションを署名する 項目のチェックを外していないことが原因です。デフォルトではチェックされているため、テスト設定前にご確認いただくことを推奨します
-
1. OneLogin側の設定 手順6で入力した Slack Team の誤りが原因です。
*Slack Team はチャンネルページの左の会社アイコンをクリックしてご確認いただけます。
- [テスト設定]をクリック後、OneLoginに Access Denied と表示される: 1. OneLogin側の設定 手順7で割り当てたRoleに誤りがあることが原因です。SSOユーザーにSlack のアクセス権限を割り当てることで解消されます。