Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A jelszó nélküli kapcsolatok egy nyelvfüggetlen funkció, amely több Azure-szolgáltatásra is kiterjed. Bár a jelenlegi dokumentáció néhány nyelvre és szolgáltatásra összpontosít, jelenleg további dokumentációt készítünk más nyelvekhez és szolgáltatásokhoz.
Ez a cikk a jelszavakkal kapcsolatos biztonsági kihívásokat ismerteti, és bemutatja az Azure-szolgáltatások jelszó nélküli kapcsolatait.
Jelszavakkal és titkos kódokkal kapcsolatos biztonsági kihívások
A jelszavakat és a titkos kulcsokat körültekintően kell használni, és a fejlesztők soha nem helyezhetik el őket nem biztonságos helyre. Számos alkalmazás csatlakozik a háttéradatbázishoz, a gyorsítótárhoz, az üzenetkezeléshez és az eseménykezelési szolgáltatásokhoz felhasználónevek, jelszavak és hozzáférési kulcsok használatával. Ha nyilvánosságra kerülnek, ezek a hitelesítő adatok arra használhatók, hogy jogosulatlanul hozzáférjenek a bizalmas információkhoz, például egy közelgő kampányhoz létrehozott értékesítési katalógushoz, vagy az ügyféladatokhoz, amelyeknek privátnak kell lenniük.
A jelszavak alkalmazásokba való beágyazása számos okból óriási biztonsági kockázatot jelent, beleértve a kódtárakon keresztüli felderítést is. Sok fejlesztő környezeti változók használatával külsőleg külsőre helyezi az ilyen jelszavakat, hogy az alkalmazások különböző környezetekből tölthesse be őket. Ez azonban csak a kockázatot a kódról egy végrehajtási környezetre helyezi át. Bárki, aki hozzáfér a környezethez, ellophatja a jelszavakat, ami viszont növeli az adatkiszivárgás kockázatát.
Az alábbi példakód bemutatja, hogyan csatlakozhat az Azure Storage-hoz egy tárfiók kulcsával. Sok fejlesztő vonzódik ehhez a megoldáshoz, mert ismerősnek tűnik a korábban használt lehetőségekhez, még akkor is, ha ez nem ideális megoldás. Ha az alkalmazás jelenleg hozzáférési kulcsokat használ, fontolja meg a jelszó nélküli kapcsolatokra való áttelepítést.
// Connection using secret access keys
BlobServiceClient blobServiceClient = new(
new Uri("https://<storage-account-name>.blob.core.windows.net"),
new StorageSharedKeyCredential("<storage-account-name>", "<your-access-key>"));
A fejlesztőknek szorgalmasnak kell lenniük, hogy soha ne tegyék közzé az ilyen típusú kulcsokat vagy titkos kulcsokat nem biztonságos helyen. Számos vállalat szigorú biztonsági követelményeket támaszt az Azure-szolgáltatásokhoz való csatlakozáshoz anélkül, hogy jelszavakat tenne elérhetővé a fejlesztők, üzemeltetők vagy bárki más számára. Gyakran használnak tárolót jelszavak tárolására és betöltésére az alkalmazásokba, és tovább csökkentik a kockázatot a jelszórotációs követelmények és eljárások hozzáadásával. Ez a megközelítés viszont növeli a működés összetettségét, és időnként alkalmazáskapcsolati kimaradáshoz vezet.
Jelszó nélküli kapcsolatok és Teljes felügyelet
Mostantól jelszó nélküli kapcsolatokkal csatlakozhat az Azure-alapú szolgáltatásokhoz anélkül, hogy el kellene forgatnia a jelszavakat. Bizonyos esetekben csak konfigurálásra van szükség – nincs szükség új kódra. A Teljes felügyelet a "soha ne bízzon, mindig ellenőrizze és hitelesítő adatok nélkül" elvet használja. Ez azt jelenti, hogy minden kommunikációt csak az identitás ellenőrzése után és a háttérszolgáltatásokhoz való hozzáférés engedélyezése előtt biztosítunk a gépek vagy felhasználók megbízhatóságával.
A biztonságos, jelszó nélküli kapcsolatok ajánlott hitelesítési lehetősége a felügyelt identitások és az Azure szerepköralapú hozzáférés-vezérlés (RBAC) együttes használata. Ezzel a megközelítéssel nem kell manuálisan nyomon követnie és kezelnie a felügyelt identitások számos különböző titkos kulcsát, mivel ezeket a feladatokat az Azure biztonságosan kezeli belsőleg.
A Service Connector használatával jelszó nélküli kapcsolatokat konfigurálhat az Azure-szolgáltatásokhoz, vagy manuálisan is konfigurálhatja őket. A Service Connector lehetővé teszi a felügyelt identitásokat az olyan alkalmazás-üzemeltetési szolgáltatásokban, mint az Azure Spring Apps, az Azure App Service és az Azure Container Apps. Service Connector jelszó nélküli kapcsolatokkal konfigurálja a háttérszolgáltatásokat felügyelt identitások és Azure RBAC használatával, és hidratálja az alkalmazásokat a szükséges kapcsolati információkkal.
Ha megvizsgálja egy jelszó nélküli kapcsolatokhoz konfigurált alkalmazás futó környezetét, láthatja a teljes kapcsolati sztringet. A kapcsolati sztring például egy adatbázis-kiszolgáló címét, egy adatbázisnevet és egy utasítást tartalmaz a hitelesítés delegálására egy Azure-hitelesítési beépülő modulba, de nem tartalmaz jelszavakat vagy titkos kulcsokat.
Az alábbi videó az alkalmazások és az Azure-szolgáltatások közötti jelszó nélküli kapcsolatokat mutatja be példaként Java-alkalmazások használatával. Hasonló lefedettség várható más nyelvekre is.
A DefaultAzureCredential bemutatása
Az Azure-szolgáltatásokhoz a Microsoft Entra ID és a szerepköralapú hozzáférés-vezérlés (RBAC) használatával jelszó nélküli kapcsolatok valósíthatók DefaultAzureCredential meg az Azure Identity ügyfélkódtárakból.
Fontos
Egyes nyelveknek explicit módon kell implementálniuk DefaultAzureCredential a kódjukat, míg mások belsőleg használnak DefaultAzureCredential mögöttes beépülő modulokat vagy illesztőprogramokat.
DefaultAzureCredential több hitelesítési módszert támogat, és automatikusan meghatározza, hogy melyiket kell használni futásidőben. Ez a megközelítés lehetővé teszi, hogy az alkalmazás különböző hitelesítési módszereket használjon különböző környezetekben (helyi fejlesztés és éles környezet) környezetspecifikus kód implementálása nélkül.
A hitelesítő adatok keresésének sorrendje és helye DefaultAzureCredential nyelvenként eltérő:
Ha például helyileg dolgozik a .NET-en, általában azzal a fiókkal hitelesíti magát, DefaultAzureCredential amellyel a fejlesztő bejelentkezett a Visual Studióba, az Azure CLI-be vagy az Azure PowerShellbe. Amikor az alkalmazás üzembe van helyezve az Azure-ban, DefaultAzureCredential automatikusan felderíti és használja a társított üzemeltetési szolgáltatás felügyelt identitását, például Azure-alkalmazás szolgáltatást. Ehhez az átmenethez nincs szükség kódmódosításra.
Megjegyzés:
A felügyelt identitás biztonsági identitást biztosít egy alkalmazás vagy szolgáltatás megjelenítéséhez. Az identitást az Azure platform kezeli, és nem igényli a titkos kulcsok kiépítését vagy elforgatását. A felügyelt identitásokról a áttekintési dokumentációjában olvashat bővebben.
Az alábbi példakód bemutatja, hogyan csatlakozhat a Service Bushoz jelszó nélküli kapcsolatok használatával. Más dokumentáció részletesebben ismerteti, hogyan lehet áttérni erre a beállításra egy adott szolgáltatáshoz. NET-alkalmazások átadhatnak egy példányt DefaultAzureCredential egy szolgáltatás ügyfélosztályának konstruktorának.
DefaultAzureCredential automatikusan felderíti az adott környezetben elérhető hitelesítő adatokat.
ServiceBusClient serviceBusClient = new(
new Uri("https://<your-service-bus-namespace>.blob.core.windows.net"),
new DefaultAzureCredential());
Lásd még
A jelszó nélküli kapcsolatok részletesebb magyarázatát a Jelszó nélküli kapcsolatok konfigurálása több Azure-alkalmazás és -szolgáltatás között című fejlesztői útmutatóban találja.