はじめに
AWSには、IAM Identity Center (旧AWS SSO) というアカウント管理サービスがあります。一般的には複数のAWSアカウントを一元管理する目的で利用されますが、SAML SSOのIDプロバイダーとしても利用することが可能です。
今回は、IAM Identity CenterからSlackに対してSAML SSOする際の設定について以下にまとめてみました。
なお、後述しますが、一般的な(良く使われる)SAML SSO対応のIdP(IDaaS)と比べて、外部アプリケーションに対するサポートそれほど充実しているわけでありません。設定に当たっては、その点を理解のうえで進めていただければと思います。
設定手順
AWS側の設定
IAM Identity Centerの初期設定ならびに必要なユーザー・グループの追加は完了しているものとします。
1.IAM Identity Centerを開き、「アプリケーション」を選択します。
2.「アプリケーションを追加」をクリックします。
3.「カタログからアプリケーションを選択する」を選択し、「次」をクリックします。
4.「Slack」を選択し、「次」をクリックします。
5.「表示名」と「説明」を設定します。
6.アプリケーションメタデータを次の通り設定します。
- アプリケーション ACS URL:https://.enterprise.slack.com/sso/saml
- アプリケーション SAML 対象者:https://.enterprise.slack.com
なお、Orgのサブドメインは、お使いのSlack Enteprise GridのURLより確認ください。
7.「送信」をクリックします。
8.「ユーザーとグループを割り当てる」をクリックします。
9.追加したい(SlackへSAML SSOさせたい)ユーザーまたはを選択し、「ユーザーを割り当て」をクリックします。
10.「設定を編集」をクリックします。
11.「ステップバイステップの手順を表示」をクリックします。
12.以下のようなページが表示されます。このページは開いたままとします。
Slack側の設定
1.「SSO 設定」をクリックします。
2.「SSOの設定を追加する」をクリックします。
3.以下を参考に設定を進め、最後に「テスト設定」をクリックします。
左側のウインドウは「AWS側の設定」の『手順12』で開いたままとしているページです。このページ上の指定された内容をSlackの所定のフィールドにセットします。
エラーなくテストが完了すれば設定完了です。
補足
SCIMへの対応
IAM Identity Centerには、アプリケーションのSCIM連携のための機能が用意されていません。(外部IdP -> IAM Identity CenterのSCIM連携には対応していますが、IAM Identity Center -> 外部アプリに対するSCIM連携には対応していません)
IAM Identity Centerから外部アプリ(Slack)に対して、SCIM APIを用いたアカウントプロビジョニング・デプロビジョニングを行いたい場合は、SCIM連携機能を独自に実装いただく必要があります。
※SCIM連携のリストが必須である場合は、AWS IAM Identity Centerではなく、OktaやEntra IDなど別のIdP(IDaaS)を利用いただいた方が良いでしょう。
参考
IAM Identity Centerの「アプリケーション」を開き直すと、追加したはずのSlackの設定がない
IAM Identity Centerの「アプリケーション」を開き直すと、何も表示されない(追加したはずのSlackの設定がない)場合があります。
このような場合は「カスタマー管理」をクリックすることで、追加したSlackの設定を確認することができます。
参考