Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku pokazano, jak wdrożyć n8n w Azure Container Apps z integracją Identyfikator agenta Microsoft Entra. Wdrożenie używa interfejsu wiersza polecenia dewelopera Azure (azd) do aprowizowania infrastruktury, tworzenia obiektów tożsamości Microsoft Entra i automatycznego konfigurowania przepływów pracy n8n.
W przeciwieństwie do wzorca Authentication with Microsoft Entra ID Auth SDK (sidecar), stosowanego w przypadku agentów niestandardowych, integracja n8n korzysta z węzła społeczności n8n-nodes-entraagentid do bezpośredniego uzyskiwania tokenów w przepływach pracy n8n. Wdrożone przepływy pracy przedstawiają przepływy tokenów autonomicznych (tylko aplikacje) i w imieniu (OBO) z dostępem do Microsoft Graph i Microsoft Graph MCP Server for Enterprise, https://mcp.svc.cloud.microsoft/enterprise.
Uwaga / Notatka
W tym przykładzie pokazano użycie węzła społecznościowego n8n-nodes-entraagentid w n8n. Nie jest to wskazówki dotyczące wdrażania n8n na Azure w środowisku produkcyjnym.
Wymagania wstępne
Przed rozpoczęciem upewnij się, że masz następujące elementy:
- Subskrypcja Azure z limitem przydziału na Azure OpenAI (GPT-4o lub podobnym), Elastyczny serwer PostgreSQL i Azure Container Apps.
- Administrator globalny w dzierżawie Microsoft Entra. Ta rola jest wymagana, ponieważ automatyzacja tworzy wiele obiektów Microsoft Entra i udziela zgody administratora na uprawnienia. Użyj Privileged Identity Management (PIM), aby aktywować tę rolę dokładnie na czas.
Azure Cloud Shell (zalecane) zawiera wszystkie wstępnie zainstalowane elementy: Azure CLI, interfejs wiersza polecenia dewelopera Azure (azd), program PowerShell 7 i narzędzie Git.
Jeśli korzystasz lokalnie zamiast Cloud Shell, przed kontynuowaniem zainstaluj następujące narzędzia:
-
Azure CLI dla deweloperów (
azd) w wersji 1.9 lub nowszej. -
Azure CLI (
az) w wersji 2.60 lub nowszej. - Program PowerShell w wersji 7.4 lub nowszej.
- Microsoft. Entra PowerShell module w wersji 1.2 lub nowszej.
- Git.
Uwierzytelnij zarówno Azure CLI, jak i Azure Developer CLI, tak aby polecenia wdrażania mogły tworzyć zasoby w ramach subskrypcji i zarządzać nimi:
az login
azd auth login
Klonowanie i wdrażanie
Całe wdrożenie jest uruchamiane za pomocą jednego polecenia azd up, które aprowizuje infrastrukturę Azure i automatycznie konfiguruje n8n. Wykonaj następujące kroki, aby wdrożyć n8n:
Otwórz Azure Cloud Shell i wybierz PowerShell.
Sklonuj repozytorium i uruchom wdrożenie:
git clone https://github.com/astaykov/n8n-aca.git && cd n8n-aca && azd auth login && azd upW Azure Cloud Shell
azd auth loginwyświetla kod urządzenia. Otwórz wyświetlany adres URL i wprowadź kod do uwierzytelnienia, a następnieazd upkontynuuje automatycznie.Po wyświetleniu monitu podaj następujące wartości:
-
Nazwa środowiska: Dowolna nazwa (na przykład
my-n8n). Służy do izolowania tego wdrożenia. - Azure subscription: Wybierz subskrypcję do wdrożenia.
-
Azure location: Wybierz region (na przykład
northeurope). - Adres e-mail administratora n8n: Adres e-mail dla konta właściciela n8n.
- n8n hasło administratora: Hasło dla konta admina n8n (co najmniej 8 znaków, małe i wielkie litery, cyfra).
-
Nazwa środowiska: Dowolna nazwa (na przykład
W fazie poprowizowaniu automatyzacja wykonuje drugie logowanie. Zostanie wyświetlony kod urządzenia. Otwórz adres URL i wprowadź kod. Ten krok wymaga roli Administratora Globalnego lub Administratora Aplikacji. Następnie hak
azd uppoaprowizacyjny:- Tworzy obiekty Identyfikator agenta Microsoft Entra (Szablon, Tożsamość agenta, Użytkownik agenta).
- Włącza Microsoft Graph MCP Server for Enterprise.
- Czeka, aż n8n będzie gotowe.
- Tworzy konto właściciela.
-
@astaykov/n8n-nodes-entraagentidInstaluje węzeł społeczności. - Generuje klucz interfejsu API dla automatyzacji n8n.
- Tworzy wszystkie pięć poświadczeń z rzeczywistymi wartościami.
- Importuje i aktywuje trzy pokazowe przepływy pracy.
Po zakończeniu wdrażania skrypt wyświetla adres URL n8n i podsumowanie konfiguracji. Identyfikator tenant jest automatycznie wykrywany z logowania do Azure, więc nie jest wymagana żadna ręczna konfiguracja.
Eksplorowanie wdrożonych zasobów
Wdrożenie tworzy zasoby platformy Azure, obiekty tożsamości Microsoft Entra i zasoby konfiguracji n8n, które współpracują ze sobą, aby obsługiwać przykładowe przepływy pracy.
Przeglądanie zasobów infrastruktury Azure
Wdrożenie tworzy następujące zasoby Azure:
- Środowisko usługi Container Apps: Zawiera n8n i test SPA.
-
Aplikacja kontenera n8n: Uruchamia oficjalny
n8nio/n8nobraz z wejściem HTTPS. - Statyczna aplikacja internetowa: Przetestuj SPA dla przepływu webhook OBO.
- Serwer elastyczny PostgreSQL: Trwałe przechowywanie dla przepływów pracy, poświadczeń i historii wykonywania (serii B1ms z możliwością obciążenia szczytowego).
-
Konto magazynu i udział plików: Katalog trwały
/home/node/.n8n. Węzły społeczności i konfiguracja przetrwają ponowne uruchomienia. - Azure OpenAI: Wdrożenie modelu GPT wykorzystywane w przepływach pracy agenta sztucznej inteligencji.
- Log Analytics Workspace: Diagnostyka i monitorowanie.
Przeglądanie obiektów tożsamości Microsoft Entra
Automatyzacja tworzy te obiekty raz i ponownie używa ich w kolejnych uruchomieniach:
- Szablon tożsamości agenta: Rejestracja aplikacji, która wystawia tokeny w imieniu Agent Identities za pośrednictwem poświadczeń tożsamości federacyjnej.
- Jednostka usługi tożsamości agenta: Jednostka usługi agenta sztucznej inteligencji. Uzyskuje niezależnie tokeny Microsoft Graph i MCP.
- Konto użytkownika agenta: Tożsamość użytkownika tylko w chmurze, która umożliwia przepływy tokenów delegowanych (OBO).
- Rejestracja aplikacji jednostronicowej (SPA): Aplikacja kliencka dla demonstracji webhooka, wstępnie skonfigurowana z adresami URI przekierowania i uprawnieniami API Blueprint.
Sprawdź poświadczenia i przepływy pracy w n8n
Hak postprovisioningowy automatycznie konfiguruje n8n.
Utworzone poświadczenia:
- EntraAgentID — Autonomous: Token microsoft interfejs Graph API tylko dla aplikacji (bez kontekstu użytkownika).
- EntraAgentID — OBO użytkownika agenta: Token delegowany w imieniu użytkownika agenta.
- Azure OpenAI: Połączenie z wdrożonym modelem GPT dla przepływów pracy agenta sztucznej inteligencji.
- Menedżer uwierzytelniania agentID — token dostępu: Przekazywanie tokenu z Menedżera uwierzytelniania do węzłów podrzędnych.
- Bearer z AuthManager: Przekazywanie Bearer tokenu dla wywołań MCP.
Zaimportowane przepływy pracy:
- Menedżer uwierzytelniania agenta — użytkownik agenta z rozwiązaniem MCP Enterprise: Uzyskuje delegowany token MCP dla użytkownika agenta i przekazuje go do przepływu podrzędnego.
- HTTP Żądanie z tokenem agenta autonomicznego: Demonstruje autonomicznego agenta wywołującego Microsoft Graph bezpośrednio za pomocą tokenu tylko dla aplikacji.
- Webhook — agent interaktywny (działający w imieniu użytkownika): Punkt wejścia webhooka, który odbiera token okaziciela ze SPA, wywołuje Auth Manager i odpowiada za pośrednictwem serwera Graph MCP w imieniu zalogowanego użytkownika.
Omówienie przepływu tokenów
Wdrożenie n8n obsługuje dwa wzorce przepływu tokenów:
Autonomiczny (tylko dla aplikacji): Przepływ pracy n8n używa poświadczeń Projektu tożsamości agenta z poświadczeniami tożsamości federacyjnej do zdobycia tokenu aplikacji tylko dla głównego obiektu usługi tożsamości agenta. Następnie przepływ pracy bezpośrednio wywołuje Microsoft Graph, używając tego tokena. Nie jest zaangażowany żaden kontekst użytkownika.
On-behalf-of (OBO) z MCP: SPA oparte na przeglądarce wysyła token nosiciela do webhook n8n. Webhook wywołuje przepływ pracy Menadżera Uwierzytelniania, który używa poświadczeń "Blueprint" do uzyskania delegowanego tokenu w imieniu użytkownika agenta. Menedżer uwierzytelniania przekazuje token do podprocesu, który wywołuje serwer Microsoft Graph MCP dla Enterprise, przekształcając wywołania narzędzia MCP na żądania API Microsoft Graph przy użyciu tokenu delegowanego.
W obu wzorcach Agent Identity Blueprint działa jako fabryka tokenów. Strategia tożsamości agenta wystawia tokeny dla tożsamości agenta bez przechowywania poświadczeń na samym agencie. Węzeł społecznościowy menedżera autoryzacji obsługuje pozyskiwanie tokenów i buforowanie AES-256-GCM w każdym uruchomieniu przepływu pracy.
Wdrażanie testowego SPA (opcjonalnie)
Test SPA to statyczna aplikacja JavaScript, która demonstruje przepływ elementu webhook OBO z przeglądarki.
Wdróż go po zakończeniu początkowej konfiguracji:
azd deploy spa
Omówienie zakresów serwera MCP
Konfiguracja udziela następujących delegowanych MCP.* zakresów głównej usłudze Agent Identity. Zakresy te odzwierciedlają ich odpowiedniki Microsoft Graph (na przykład MCP.User.Read.All odpowiada User.Read.All):
-
MCP.User.Read.All: Odczyt wszystkich użytkowników. -
MCP.Organization.Read.All: Odczytaj informacje o organizacji dzierżawy. -
MCP.Group.Read.All: Odczyt wszystkich grup. -
MCP.GroupMember.Read.All: Odczyt członkostw grup. -
MCP.Application.Read.All: Odczyt rejestracji aplikacji i głównych jednostek usługowych. -
MCP.AuditLog.Read.All: Odczyt dzienników logowania i audytu. -
MCP.Reports.Read.All: Odczyt raportów dotyczących użycia Microsoft 365. -
MCP.Policy.Read.All: Odczyt zasad dostępu warunkowego. -
MCP.Domain.Read.All: Odczytywanie zweryfikowanych domen. -
MCP.Device.Read.All: Odczyt urządzeń zarejestrowanych w Microsoft Entra.
Aby dodać więcej zakresów, zmodyfikuj tablicę $MCP_SCOPES w scripts/Setup-EntraAgentId.ps1 i ponownie uruchom azd provision.
Uwaga / Notatka
Serwer MCP obsługuje tylko delegowane przepływy uprawnień. Użyj poświadczeń autonomicznych dla wywołań Microsoft Graph tylko przez aplikację.
Ponowne uruchamianie i aktualizowanie wdrożenia
Wdrożenie jest w pełni idempotentne:
- Bicep pomija zasoby Azure, które już istnieją.
- Środowisko
azdzapisuje identyfikatory obiektów Microsoft Entra (Blueprint, tożsamość agenta, użytkownik agenta, sekret Blueprint) po pierwszym uruchomieniu i ponownie używa ich w kolejnych uruchomieniach. - Konfiguracja n8n (poświadczenia, przepływy pracy) jest stosowana świeżo po każdym uruchomieniu, co umożliwia naprawienie uszkodzonego stanu.
Aby ponownie uruchomić tylko skrypty wykonywane po aprowizacji, bez modyfikowania infrastruktury, ponownie uruchom proces aprowizacji. Szablony Bicep nie wykrywają żadnych zmian w infrastrukturze i wykonują jedynie hooki wdrożenia:
azd provision # Bicep detects no changes, runs hooks only
Ręczne uruchamianie skryptów (opcjonalnie)
Skrypty konfiguracji można uruchamiać niezależnie w razie potrzeby:
Pełne end-to-end (Microsoft Entra i n8n):
.\scripts\Run-All.ps1 ` -TenantId "<your-tenant-id>" ` -N8nUrl "https://ca-n8n-<token>.<region>.azurecontainerapps.io"Tylko konfiguracja n8n (pomiń konfigurację Entra):
.\scripts\Configure-N8n.ps1 ` -N8nUrl "https://ca-n8n-<token>.<region>.azurecontainerapps.io" ` -OwnerEmail "admin@contoso.com" ` -OwnerPassword "MyStr0ngPassword!"Tylko konfiguracja Entra:
.\scripts\Setup-EntraAgentId.ps1 ` -TenantId "<your-tenant-id>" ` -N8nUrl "https://ca-n8n-<token>.<region>.azurecontainerapps.io"
Uprzątnij zasoby
Usuń wszystkie zasoby Azure utworzone przez wdrożenie i przeczyść wszystkie zachowane stany wdrożenia:
azd down --purge
Uwaga / Notatka
Polecenie azd down usuwa zasoby Azure, ale nie usuwa obiektów Microsoft Entra, takich jak plany, identyfikatory agentów lub konta użytkowników agentów. Usuń te obiekty ręcznie w centrum administracyjne Microsoft Entra, jeśli nie są już potrzebne.