Splunk Cloud と Microsoft Entra ID のSAML認証をやってみる

Splunk Cloud と Microsoft Entra ID のSAML認証をやってみる

Clock Icon2025.02.07

タイトルの通りですが、Microsoft Entra ID を IdP にして、Splunk Cloud ログインのユーザー認証をフェデレーションしてみます。

公式ドキュメント参考
https://docs.splunk.com/Documentation/SplunkCloud/latest/Security/HowSAMLSSOworks

Splunk が外部IdPとSAML統合する時の前提

上記ドキュメントにも記載がありますが、主だったものにピックアップしてリストしました。

  • SAML 2.0 に対応
  • role, realName, mail 属性をSAMLアサーションとして送信が可能なIdP
  • IdPグループ単位でのフェデレーション(ユーザー単位では不可)

では、やってみます。

Splunk Cloud でSPメタデータファイルのダウンロード

Splunk Cloud にログインして、Settings > Authentication methods を選択します。

image-1738905775420.png

SAML にチェックして、「Configure Splunk to use SAML」をクリックします。

image-1738905846441.png

下記図のように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 の設定にうつります。

image-1738906700913.png

Microsoft Entra ID の設定

IdP として利用している Microsoft Entra ID からの設定をします。
Microsoft Entra admin center のポータルを使って設定します。

アプリケーションの登録

https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/add-application-portal

Identity > Applications > Enterprise applications > New Application で新しいアプリケーションを作成します。

Screenshot 2025-02-07 at 9.26.11.jpg

検索バーに「splunk」などを入力して、Microsoft Entra SSO for Splunk Enterprise and Splunk Cloudを選択します。

Screenshot 2025-02-07 at 9.25.51.jpg

Single Sign-on の設定

https://learn.microsoft.com/en-us/entra/identity/saas-apps/splunkenterpriseandsplunkcloud-tutorial#configure-azure-ad-sso

Single Sign-on を選択して、configuration guide をクリックすると上記のSplunk用のチュートリアルドキュメントが参照できるので、こちらを確認しながら実施していくと分かりやすいです。

image-1738905172496.png

Upload metadata file から Splunk Cloud でダウンロードしたSPメタデータファイルをアップロードします。

image-1738905561045.png

メタデータをアップロードするとマスクしている部分を含むいくつかの設定が入力されます。
Basic SAML Configuration の Edit を入力します。

image-1738907056523.png

私の環境の場合、Sign on URLの値だけ入っていなかったので、上記のドキュメントに従い以下のようなフォーマットで入力しました。
(また、ドキュメントでは Identifier (Entity ID) の形式とメタデータによって入力された値のフォーマットが異なっていたのですが、メタデータで入力された値のままで進んだところうまくいきました。)
入力できたら設定を保存します。

https://<your-splunk-cloud-url>/app/launcher/home

image-1738907426981.png

SAML Certificates の Federation Metadata XML をダウンロードします。

image-1738907553505.png

グループの作成と割り当て

Identity > Groups > Add Group でグループを作成します。
Splunk の SAML 連携ではグループ単位での統合のみになります。
既存のグループがあって、そのグループを Splunk Cloud にログインさせたい場合は新規に作る必要はないです。

image-1738907991660.png

Group type: Security で作り、グループにメンバーを登録します。

image-1738908150525.png

グループが作成できたら、そのグループのObject IDをコピーしておきます。(後ほど、Splunk Cloud 側のグループアサインで使います。

image-1738908466337.png

Application の設定に戻り、Users and groups で、作成したグループを割り当てます。

image-1738909083279.png

Splunk Cloud 設定

ここから Splunk Cloud 側の設定に戻ります。

SAML Configuration

先ほど開いていた、Splunk Cloud の SAML Configuration の続きから設定します。
Metadata XML File で Entra ID の設定でダウンロードしたIdPメタデータをアップロードします。

image-1738909347173.png

いくつかの設定は入力されますが、Entity ID に Microsoft Entra ID 側で入力されている Identifier (Entity ID) の値を入力します。
Role aliasRealName aliasMail aliasAdvanced Settingsの内容は、Entra ID Tutorial のドキュメントに従い入力します。

image-1738909932322.png

Microsoft Entra ID のグループをプロビジョニング

SAML Groups で New group をクリックします。

Screenshot 2025-02-07 at 15.36.02.jpg

Entra ID の設定のグループの割り当ての時にコピーしたグループの Object IDGroup Name に設定します。
SAML認証でログインするメンバーに適用される Splunk Cloud の権限ロールを設定します。

image-1738910444726.png

認証テスト

これで設定ができたので認証のテストを行います。

Splunk Cloud のログインURL(またはスタックURL)を入力して、ログインを行います。

image-1738910570913.png

IdP側にリダイレクトされるので、Microsoft Entra ID でアサインしたメンバーのログインIDでログインします。

image-1738910699908.png

初回ログイン時と同じように、ライセンス同意画面が表示されるので、同意して進みます。

Screenshot 2025-02-07 at 14.00.38.jpg

ログインができました。

Screenshot 2025-02-07 at 14.01.43.jpg

まとめ

以上、Splunk CloudへのSAML認証フェデレーションをやってみました。
SaaS の認証管理もIdPに寄せておくと、運用がしやすくなりましたね。
ありがちなIdPでのユーザー削除時の管理などを考慮すると SCIM にも対応しているのかが気になりました。
SCIM においては、Microsoft Entra ID との連携機能はなく、Okta のみがサポートされているようです。
Microsoft Entra ID と SCIM 連携できる SaaS もあるので、今後拡張していくと良いですね!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.