LoginSignup
7
8

More than 3 years have passed since last update.

Azure ADガイドに乗ってないSlackへのSSO設定のポイント

Last updated at Posted at 2019-12-21

Azure ADを使ってSlackにSSOするときに、いろいろハマってしまった経験をせっかくなので残しておきます。
Azure ADのガイドだけだと全然設定できなかったので…

利用したプラン

・Azure AD P2(Enterprise Mobility+Security E5)
・Slack Pro Plus

環境の特性

  • E-mailは、O365のExchangeOnlineではなく、GSuiteを使っていたのでAzure ADのmail属性はnull
    • どうもAzure ADのmail属性は、Azure ADと同じテナント内のExchange Onlineをセットアップしないと入らないようです
    • 実際にPowershellでオブジェクトの属性を丸っと引っこ抜いたらnullでした

セットアップ時のハマりどころ

URLの設定や証明書のアップロードは、Azure ADのSlackセットアップガイド通りで問題ないのですが…

ハマりどころ1つ目:SlackでSSO設定が保存できない

Slack側でSSO設定を保存しようとすると、「SSO が有効化されていません
SAML レスポンスに必要な email属性が見当たりません。お使いのAzure設定を確認してください。」というエラーメッセージが出現。
SlackのSSO設定画面.png

原因:Slack側で必須としているemail属性がAzure ADのClaimに必須情報として登録されていなかった

対策:email属性をAzure ADのClaimに必須情報として登録する

SlackではNameID以外にメールアドレスも必須情報として必要としていて、これが設定されていないとAzure ADとの信頼構築時にエラーになってしまうのです。

Step1:「新しいクレームの追加」を押す

新しいクレームの追加.png

Step2:「User.Email」をクレームに追加する

image.png

  • 名前にUser.Emailと入力する
  • 名前空間は空欄でOK
  • ソース属性は、お使いの環境でEmailが保存されている属性を選択する
    • うちの場合は、ユーザー名にメールアドレスが設定されているので、userprincipalnameを選択

Step3:Slackの管理画面で再度設定を保存する

これで保存できるはず。

ハマりどころ2つ目:Azure ADの認証画面でエラー

SSOを使ってSlackにログインして、Azure AD側の認証画面でエラーコードAADSTS75011が出る(ごめんなさいスクショわすれました :bow: )。

原因:Slack側のRequestedAuthnContextで、PasswordProtectedTr
ansport
の指定があった

対策:RequestedAuthnContextを送らないように設定を変更した

RequestedAuthnContextに含まれる情報は、SAMLの仕様で定義されているもので、Service Provicer(今回はSlack)がIdentity Provider(Azure AD)に認証方法を指定するための情報なのです。
Azure ADは、RequestedAuthnContextに対応しているため、今回のようにPasswordProtectedTransportの指定があれば、パスワード入力をAzure AD側で行わせることで何も問題はないです。ですが、今回SSOを構築した環境ではすでにWindows Hello for Businessをセットアップ済みでパスワード以外の方法(Windows Hello for Business)によってアカウントが認証されてしまっていたがためにSlack側の要求に答えられなかったようです。
今回は、 RequestedAuthnContext が省略されていてもAzure ADが動作するのと、
SP側から認証方法を指定しなくてもIdPであるAzure AD側でガッチリ認証できるので送信しないことにしました。

以下設定です。

Step1:SlackのSSO設定にあるAuthnContextClassRefの設定を変更する

image.png
入力欄をクリックするとプルダウンメニューが出現するので、「このバリューは送信しない」をクリックします。

※蛇足1

RequestedAuthnContextを送らないSPは結構あるようで、SalesforceやGSuiteも送っていないようです。SPの認証がショボいのでIdPでガッチリ認証しますってことなので、SPからわざわざ指定する必要もないのかもしれませんね。

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8