![Splunk Cloud と Microsoft Entra ID のSAML認証をやってみる](https://devio2024-media.developers.io/image/upload/v1738912263/user-gen-eyecatch/fzh9l6nn5jcxdwcrfwwi.png)
Splunk Cloud と Microsoft Entra ID のSAML認証をやってみる
タイトルの通りですが、Microsoft Entra ID を IdP にして、Splunk Cloud ログインのユーザー認証をフェデレーションしてみます。
公式ドキュメント参考
Splunk が外部IdPとSAML統合する時の前提
上記ドキュメントにも記載がありますが、主だったものにピックアップしてリストしました。
- SAML 2.0 に対応
- role, realName, mail 属性をSAMLアサーションとして送信が可能なIdP
- IdPグループ単位でのフェデレーション(ユーザー単位では不可)
では、やってみます。
Splunk Cloud でSPメタデータファイルのダウンロード
Splunk Cloud にログインして、Settings > Authentication methods を選択します。
SAML にチェックして、「Configure Splunk to use SAML」をクリックします。
下記図のようにSAMLの設定ダイアログが開き、赤い WARNING の文字がまず目に入ると思いますが、特に慌てることはありません。
このページのSAML設定を最後の方まで入力して(この記事の終盤の方)、設定を保存すると、ログインURLを入力すると、統合するIdPのページにリダイレクトしてIdP側で認証がされるような動作に変わります。(Microsoft Entra ID と統合する場合は、これまでの Splunk Cloud のログイン画面ではなく、Microsoftのサインインページに変わる)
そのため、Microsftのサインイン画面では、SAML認証前の Splunk Cloud のユーザーでログインができなくなります。
ですので、画面に記載されているように https://<your-splunk-cloud-url>en-US/account/login?loginType=splunk
と入力することで、既存の Splunk Cloud のログイン画面と、既存の Splunk Cloud のユーザーでログインができますので、このURLもブックマークなどしておくと後々も便利です。
ここでは、SP Metadata File だけダウンロードして、Microsoft Entra ID の設定にうつります。
Microsoft Entra ID の設定
IdP として利用している Microsoft Entra ID からの設定をします。
Microsoft Entra admin center のポータルを使って設定します。
アプリケーションの登録
Identity > Applications > Enterprise applications > New Application で新しいアプリケーションを作成します。
検索バーに「splunk」などを入力して、Microsoft Entra SSO for Splunk Enterprise and Splunk Cloud
を選択します。
Single Sign-on の設定
Single Sign-on を選択して、configuration guide
をクリックすると上記のSplunk用のチュートリアルドキュメントが参照できるので、こちらを確認しながら実施していくと分かりやすいです。
Upload metadata file から Splunk Cloud でダウンロードしたSPメタデータファイルをアップロードします。
メタデータをアップロードするとマスクしている部分を含むいくつかの設定が入力されます。
Basic SAML Configuration の Edit を入力します。
私の環境の場合、Sign on URLの値だけ入っていなかったので、上記のドキュメントに従い以下のようなフォーマットで入力しました。
(また、ドキュメントでは Identifier (Entity ID) の形式とメタデータによって入力された値のフォーマットが異なっていたのですが、メタデータで入力された値のままで進んだところうまくいきました。)
入力できたら設定を保存します。
https://<your-splunk-cloud-url>/app/launcher/home
SAML Certificates の Federation Metadata XML をダウンロードします。
グループの作成と割り当て
Identity > Groups > Add Group でグループを作成します。
Splunk の SAML 連携ではグループ単位での統合のみになります。
既存のグループがあって、そのグループを Splunk Cloud にログインさせたい場合は新規に作る必要はないです。
Group type: Security で作り、グループにメンバーを登録します。
グループが作成できたら、そのグループのObject ID
をコピーしておきます。(後ほど、Splunk Cloud 側のグループアサインで使います。
Application の設定に戻り、Users and groups で、作成したグループを割り当てます。
Splunk Cloud 設定
ここから Splunk Cloud 側の設定に戻ります。
SAML Configuration
先ほど開いていた、Splunk Cloud の SAML Configuration の続きから設定します。
Metadata XML File で Entra ID の設定でダウンロードしたIdPメタデータをアップロードします。
いくつかの設定は入力されますが、Entity ID
に Microsoft Entra ID 側で入力されている Identifier (Entity ID)
の値を入力します。
Role alias
、RealName alias
、Mail alias
、Advanced Settings
の内容は、Entra ID Tutorial のドキュメントに従い入力します。
Microsoft Entra ID のグループをプロビジョニング
SAML Groups で New group をクリックします。
Entra ID の設定のグループの割り当ての時にコピーしたグループの Object ID
を Group Name
に設定します。
SAML認証でログインするメンバーに適用される Splunk Cloud の権限ロールを設定します。
認証テスト
これで設定ができたので認証のテストを行います。
Splunk Cloud のログインURL(またはスタックURL)を入力して、ログインを行います。
IdP側にリダイレクトされるので、Microsoft Entra ID でアサインしたメンバーのログインIDでログインします。
初回ログイン時と同じように、ライセンス同意画面が表示されるので、同意して進みます。
ログインができました。
まとめ
以上、Splunk CloudへのSAML認証フェデレーションをやってみました。
SaaS の認証管理もIdPに寄せておくと、運用がしやすくなりましたね。
ありがちなIdPでのユーザー削除時の管理などを考慮すると SCIM にも対応しているのかが気になりました。
SCIM においては、Microsoft Entra ID との連携機能はなく、Okta のみがサポートされているようです。
Microsoft Entra ID と SCIM 連携できる SaaS もあるので、今後拡張していくと良いですね!