大家好!我正在設置一個 n8n 工作流程,使用現有的 Azure App Registration 從共用信箱讀取/發送電子郵件。
目前,n8n 使用 Microsoft Graph 委派權限 OAuth 流程,這會將連線連結到我的個人帳戶。為了讓整個團隊都能使用此自動化,是否有標準方式可以連線到 Outlook 而不需使用個人認證?
- 我們可以佈建一個對共用信箱擁有存取權的通用服務帳戶嗎?
- 或者我們可以將 Azure App 切換為應用程式權限,並透過應用程式存取原則限制只能存取此信箱嗎?
任何關於此標準 IT 流程的指導都會很有幫助。謝謝!
嘿 @Neeraj_Sharma1,當你等待回覆時,以下是一些可能對你有幫助的資源:
建議的資源
自動與你的問題配對。
文件:
論壇:
@Erick_Torres、@Zelite、@tomwhi - 你們之前曾協助解決過類似的問題,能來看一下嗎?
由 n8n 社群機器人自動建議。這是試用計畫 - 請在此分享回饋。
@Neeraj_Sharma1 你好!
-
可以,但要建立一個專用的非個人帳戶,給予它共享信箱的存取權限,並使用「啟用共享收件匣」選項將 n8n 連線到它。缺點是它仍是一個已登入的使用者,因此需要授權,並且可能因 2FA 而中斷。
-
這是更好的選項,將 Azure 應用程式切換為應用程式權限 Mail.ReadWrite + Mail.Send,並具有管理員同意/權限。n8n 也支援這個
以下是官方文件! - Microsoft Entra Service Principal credentials | Nodes | n8n Docs
Microsoft 文件 - 此處
確保您的 n8n 執行個體版本在 2.29 以上!
好的,所以一旦我在 Azure AD 中設定應用程式權限並取得管理員同意後,我必須啟用共用信箱來設定 Outlook Oauth 2 憑證。那麼假設我離開了公司。流程會在那之後無縫繼續運行嗎?
只要是服務主體,僅限應用程式,是的!如果你使用 Ouath2,而且是以你的身分登入,就不行,當你的公司帳戶被停用時,它就會掛掉
讓我知道是否有效!如果你需要任何進一步的幫助,請告訴我們!如果一切順利,可以隨時將任何回覆標記為解決方案!
所以我所做的是,我已經建立了一個共享信箱和新的 Azure App 註冊,具有 mail.ReadWrite 和 Mail.send 的應用程式權限(管理員同意尚待批准)。現在在 n8n 中,我已使用 Azure 應用程式的用戶端憑證建立了 OAuth2 API 認證。從 n8n 我可以向 https://graph.microsoft.com/v1.0/users//messages?$top=5 傳送 Http 請求以取得電子郵件。
我是否朝著正確的方向發展,還是仍在使事情複雜化?