前提条件
EntraID や N8N の管理者権限が作業時必要になります
- Entra ID のグローバル管理者権限、またはアプリケーション管理者権限
- N8N のインスタンスオーナーまたは管理者権限
- N8N の契約プランが Buisiness or Enterprise であること
設定
手順1: N8N 側で必要な情報を取得
- N8N に管理者権限でログイン
- Settings > SSO に移動
- 以下の情報をメモ:
- ACS URL (Redirect URL):
https://your-n8n-domain.com/rest/sso/saml/acs
- Entity ID:
https://your-n8n-domain.com/rest/sso/saml/metadata
- ACS URL (Redirect URL):

手順2: EntraID でエンタープライズアプリケーションを作成
2-1. 新規アプリケーションの作成
- Entra ID にサインイン
- 左トグルから [Entra ID] > [Enterprise applications] > [New application] をクリック
- Create your own application をクリック
- 以下を入力して Create をクリック
- Name: n8n (任意)
- 選択: 「ギャラリーにない他のアプリケーションを統合する(Non-gallery)」
💡TIPS: Gallery と Non-Gallery のアプリの違いについて
- Gallery アプリ(ギャラリーアプリ)
- Microsoft が事前に用意した、人気アプリとの統合テンプレート
- SSO 連携等に必要な Identifier(Entity ID)や 必要なクレームなどが設定済み
- Gallery で統合するアプリの例: Slack, Zoom, Salesforce, etc…
- Non-Gallery アプリ(非ギャラリーアプリ)
- ギャラリーにないアプリや、カスタム設定が必要なアプリを手動で統合する方法
- Non-Gallery で統合するアプリの例: 社内開発アプリ, オンプレミスアプリ, ニッチな SaaS ツール…
2-2. SAML シングルサインオンの設定
- 作成したアプリケーションを開く
- 左メニューから Single sign-on を選択
- SAML をクリックし、以下の項目を設定する
- 基本的な SAML 構成
- 手順1でコピーした情報を入力
- Identifier (Entity ID):
https://your-n8n-domain.com/rest/sso/saml/metadata
- Reply URL (Assertion Consumer Service URL):
https://your-n8n-domain.com/rest/sso/saml/acs
- 属性とクレーム
- Last Name クレームを追加
- Name: lastname
- Namespace: http://schemas.xmlsoap.org/ws/2005/05/identity/claims
- Source: Attribute
- Source attribute: user.surname
- First Name クレームを追加
- Name: firstname
- Namespace: http://schemas.xmlsoap.org/ws/2005/05/identity/claims
- Source: Attribute
- Source attribute: user.givenname
- UPN(User Principal Name)クレームを追加
- Name: upn
- Namespace: http://schemas.xmlsoap.org/ws/2005/05/identity/claims
- Source: Attribute
- Source attribute: user.userprincipalname
- Last Name クレームを追加
ex. 設定後の値

💡Tips: SAML の設定項目の意味について
- 基本的な SAML 構成とは?
- Identifier (Entity ID):
- N8N を一意に識別するための ID
- 「この SAML リクエストは、どのアプリケーションから来たのか?」を Entra ID が判断するために使用
- 世界中で唯一無二の識別子である必要がある
- Reply URL (Assertion Consumer Service URL):
- 認証完了後に SAML Response(認証結果)を受け取る URL
- Entra ID が「認証成功しました!」という情報を送る先
- セキュリティ上、この URL だけが SAML Response を受け取れる
- 属性とクレーム とは?
- SAML では 認証先のアプリ と EntraID 間でログインに必要な情報を受け渡すが、各アプリで何の情報が必要なのか異なる.
- 「認証のやり取りの中に何の情報をふくめるか?」を定義しているのクレーム
- N8N ではクレーム情報をもとに:
- ユーザーアカウントを作成/識別
- ユーザー情報を表示
- 権限を割り当て(アプリによる)
2-3. メタデータ情報の取得
SAML Certificates セクションから Metadata URL を取得:
- シングルサインオンの設定画面から [SAML証明書] のセクションに移動
- App Federation Metadata Url をコピー
- 例: https://login.microsoftonline.com/[tenant-id]/federationmetadata/2007-06/federationmetadata.xml
💡Tips: SAML メタデータとは
Entra ID が N8N に渡す「私の情報と使い方」:
メタデータに含まれる情報:
- 誰か?(Entity ID / Issuer)
- どこに認証リクエストを送るか?(SSO URL)
- どこにログアウトリクエストを送るか?(Logout URL)
- どうやって安全に通信するか?(証明書)
- どんなフォーマットで通信するか?(設定)
ex. 実際のメタデータのサンプル
<?xml version="1.0" encoding="UTF-8"?> <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://sts.windows.net/12345678-abcd-1234-abcd-123456789abc/"> <!-- 1️⃣ IDプロバイダー(Entra ID)の基本情報 --> <IDPSSODescriptor> <!-- 2️⃣ 証明書(公開鍵)- 重要! --> <KeyDescriptor use="signing"> <X509Certificate> MIIDPjCCAiqgAwI... </X509Certificate> </KeyDescriptor> <!-- 3️⃣ ログインURL(認証リクエストの送信先) --> <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://login.microsoftonline.com/12345678.../saml2"/> <!-- 4️⃣ ログアウトURL --> <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://login.microsoftonline.com/12345678.../saml2/logout"/> </IDPSSODescriptor> </EntityDescriptor>
2-4. ユーザー・グループの割り当て
- 左メニューから Users and groups を選択
- 「ユーザーまたはグループの追加」をクリック
- N8N にアクセスさせるユーザーまたはグループを選択
- Assign をクリック

手順 3: N8N 側でメタデータを設定
- N8N に戻り、Settings > SSO を開く
- Identity Provider Settings フィールドに Metadata URL を貼り付け
- Activated トグルを押して SSO を有効化する
- Save をクリック
- Test Settings ボタンをクリックし SSO がうまくいったかを確認
- うまくいくと [SAML Connection Test was Successful] のメッセージがでます
- あとはログイン画面で SSO で sign-in するボタンが表示されます

コメント