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 jelszavak és titkos kulcsok kezelésekor körültekintően járjon el. Soha ne helyezze őket nem biztonságos helyre. Számos alkalmazás felhasználónévvel, jelszóval és hozzáférési kulcsokkal csatlakozik a háttéradatbázishoz, a gyorsítótárhoz, az üzenetkezeléshez és az eseménykezelési szolgáltatásokhoz. Ha közzé vannak téve, a rossz szereplők ezeket a hitelesítő adatokat használhatják arra, 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ősíti az ilyen jelszavakat, így az alkalmazások különböző környezetekből tölthetik be őket. Ez a megközelítés azonban csak magáról a kódról a végrehajtási környezetre helyezi át a kockázatot. 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 Azure Storage egy tárfiókkulcs használatá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 széfet a jelszavak tárolására és az alkalmazásokba való betöltésére, és a kockázatot tovább csökkentik a jelszócserére vonatkozó követelmények és eljárások bevezetésével. 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ómentes 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ízz, mindig ellenőrizz, és hitelesítő adatok nélküli” elvét követi. Ez az elv azt jelenti, hogy az összes kommunikációt biztonságossá kell tenni úgy, hogy csak az identitás ellenőrzése után és a háttérszolgáltatásokhoz való hozzáférés biztosítása után bízza meg a gépeket vagy a felhasználókat.
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 módszerrel nem kell manuálisan nyomon követnie és kezelnie a felügyelt identitások különböző titkos kulcsait, mert Azure biztonságosan kezeli ezeket a feladatokat belsőleg.
A Szolgáltatás-összekötő használatával jelszó nélküli kapcsolatokat konfigurálhat Azure szolgáltatásokhoz, vagy manuálisan is konfigurálhatja őket. A Service Connector lehetővé teszi a felügyelt identitásokat az alkalmazás-üzemeltetési szolgáltatásokban, például Azure App Service és Azure Container Apps. A Service Connector emellett 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 adatokkal.
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
DefaultAzureCredential Az Azure Identitás ügyfélkódtárak segítségével jelszó nélküli kapcsolatokat hozhat létre Azure szolgáltatásokhoz Microsoft Entra ID és szerepköralapú hozzáférés-vezérléssel (RBAC).
Fontos
Egyes nyelvek esetében a kódban explicit módon kell implementálni a DefaultAzureCredential-t, míg mások a mögöttes beépülő modulokon vagy illesztőprogramokon keresztül belsőleg a DefaultAzureCredential-t használják.
DefaultAzureCredential több hitelesítési módszert támogat, és automatikusan meghatározza, hogy melyik metódust használja 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 helyben dolgozik a .NET-tel, a DefaultAzureCredential általában azzal a fiókkal hitelesít, amelyet a Visual Studióba, az Azure CLI-be vagy az Azure PowerShellbe való bejelentkezéshez használt. Amikor telepíti az alkalmazást az Azure-ban, DefaultAzureCredential automatikusan észleli és használja a kapcsolódó üzemeltetési szolgáltatás, például az Azure App Service felügyelt identitását. Ehhez az átálláshoz nem kell módosítania a kódot.
Megjegyzés:
A felügyelt identitás biztonsági identitást biztosít egy alkalmazás vagy szolgáltatás megjelenítéséhez. A Azure platform kezeli az identitást, és nem kell titkos kulcsokat kiépítenie vagy elforgatnia. További információkért tekintse meg az áttekintési dokumentációt .
Az alábbi példakód bemutatja, hogyan csatlakozhat a Service Bus 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. Egy .NET-alkalmazás átadhatja a DefaultAzureCredential egy példányát egy szolgáltatásügyfél-osztály 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>.servicebus.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.