Zabezpečení Azure Functions pomocí Event Hubs
Při konfiguraci přístupu k prostředkům v Azure byste měli u prostředků používat přesnou kontrolu nad oprávněními. Přístup k těmto prostředkům by měl být založený na principech zabezpečení s privilegilegem a na principech zabezpečení s nejmenšími oprávněními, aby klienti mohli provádět pouze omezenou sadu akcí, které jsou jim přiřazeny.
Povolení přístupu k Event Hubs
Autorizovat přístup k Azure Event Hubs prostředkům je možné provést pomocí následujících konstruktorů zabezpečení:
Azure Active Directory: Azure Active Directory (Azure AD) poskytuje řízení přístupu na základě role (RBAC) pro podrobné řízení přístupu klienta k prostředkům Event Hubs prostředkům. Na základě udělených rolí a oprávnění azure AD autorizuje požadavky pomocí přístupového tokenu OAuth 2.0.
Sdílený přístupový podpis: Sdílený přístupový podpis (SAS) nabízí možnost chránit prostředky Event Hubs na základě autorizačních pravidel. Zásady autorizace definujete výběrem jednoho nebo více pravidel zásad,jako je například možnost odesílat zprávy, naslouchat zprávám a spravovat entity v oboru názvů .
Aspekty sdíleného přístupového podpisu
Při použití sdíleného přístupového podpisu s Azure Functions a Event Hubs byste měli zvážit následující aspekty:
Vyhněte se právo Spravovat: Kromě možnosti spravovat entity v oboru názvů služby Event Hubs práva Spravovat zahrnuje práva k odesílání i naslouchání. V ideálním případě by aplikaci funkcí měla být udělena pouze kombinace práv k odesílání a naslouchání na základě akcí, které provádějí.
Nepoužívejte výchozí pravidlo pro správu: Nepoužívejte výchozí pravidlo zásad s názvem RootManageSharedAccessKey, pokud ho vaše aplikace funkcí nepotřebuje, což by měl být neobvyklý scénář. Dalším upozorněním tohoto výchozího pravidla je, že se vytvoří na úrovni oboru názvů a udělí oprávnění všem základním centrem událostí.
Zkontrolujte obory zásad sdíleného přístupu: Zásady sdíleného přístupu je možné vytvořit na úrovni oboru názvů a podle centra událostí. Zvažte vytvoření podrobných zásad přístupu, které jsou přizpůsobené pro jednotlivé klienty a omezují jejich rozsah a oprávnění.
Spravovaná identita
Identitu Active Directory je možné přiřadit spravovanému prostředku v Azure, jako je například aplikace funkcí nebo webová aplikace. Po přiřazení identity má funkce pro práci s jinými prostředky, které k autorizaci používají Azure AD, podobně jako s objektem služby.
Aplikacím funkcí je možné přiřadit spravovanou identitu a využívat připojení založená na identitách pro podmnožinu služeb, včetně Event Hubs. Připojení založená na identitách poskytují podporu pro rozšíření aktivačních i výstupních vazeb a pro Event Hubs musí používat rozšíření Event Hubs 5.x nebo vyšší.
Síť
Ve výchozím nastavení Event Hubs obory názvů přístupné z internetu, pokud požadavek obsahuje platné ověřování a autorizaci. Existují tři možnosti pro omezení síťového přístupu k Event Hubs oborům názvů:
- Povolení přístupu z konkrétních IP adres
- Povolení přístupu z konkrétních virtuálních sítí (koncové body služby)
- Povolení přístupu prostřednictvím privátních koncových bodů
Ve všech případech je důležité si uvědomit, že je zadané alespoň jedno pravidlo brány firewall protokolu IP nebo pravidlo virtuální sítě pro obor názvů. V opačném případě, pokud není zadána žádná IP adresa nebo pravidlo virtuální sítě, je obor názvů přístupný přes veřejný internet (pomocí přístupového klíče).
Azure Functions můžete nakonfigurovat tak, aby události z center událostí nebo je publikovali do center událostí, která jsou nastavená s koncovými body služby nebo privátními koncovými body. Místní integrace virtuální sítě je potřeba, aby se vaše aplikace funkcí připojovat k centru událostí pomocí koncového bodu služby nebo privátního koncového bodu.
Při nastavování služby Functions pro práci s prostředky s povoleným privátním koncovým bodem je potřeba nastavit WEBSITE_VNET_ROUTE_ALL aplikaci na 1 . Pokud chcete plně uzamknout aplikaci funkcí, musíte také omezit účet úložiště.
Aby bylo možné aktivovat (využívat) události v prostředí virtuální sítě, musí být aplikace funkcí hostovaná v plánu Premium, plánu Dedicated (App Service) nebo v App Service Environment (ASE).
Kromě toho spuštění v Azure Functions Premium plánu a využívání událostí z centra událostí s omezeným přístupem k virtuální síti vyžaduje podporu triggerů virtuální sítě, která se také označuje jako monitorování škálování modulu runtime. Monitorování škálování modulu runtime je možné nakonfigurovat prostřednictvím Azure Portal, Azure CLI nebo jiných řešení nasazení. Monitorování škálování za běhu není k dispozici, pokud je funkce spuštěná v plánu Dedicated (App Service) nebo ve službě ASE.
Pokud chcete používat monitorování škálování modulu runtime s Event Hubs, musíte použít rozšíření Microsoft.Azure.WebJobs.Extensions.EventHubs verze 4.1.0 nebo vyšší.
Další kroky
Než budete pokračovat, promyslete si tyto související články:
- Autorizace přístupu pomocí Azure Active Directory
- Autorizace přístupu pomocí sdíleného přístupového podpisu v Azure Event Hubs
- Konfigurace prostředku založeného na identitě
Související prostředky
- Monitorování bez serveru zpracování událostí poskytuje pokyny k monitorování architektur řízených událostmi bez serveru.
- Zpracování událostí bez serveru je referenční architektura, která podrobně popisuje typickou architekturu tohoto typu. Obsahuje ukázky kódu a diskusi o důležitých aspektech.
- Podrobnější popis toho, jak tyto části referenční architektury fungují, Event Hubs bez serveru při zpracování událostí bez serveru.