Az Azure Storage elérése webalkalmazásból felügyelt identitások használatával
Megtudhatja, hogyan férhet hozzá az Azure Storage-hoz a Azure-alkalmazás Szolgáltatáson futó webalkalmazáshoz (nem bejelentkezett felhasználóhoz) felügyelt identitások használatával.
Hozzáférést szeretne hozzáadni az Azure-adatsíkhoz (Azure Storage, Azure SQL Database, Azure Key Vault vagy egyéb szolgáltatások) a webalkalmazásból. Használhat megosztott kulcsot is, de a titkos kulcsok létrehozására, üzembe helyezésére és kezelésére jogosultak működési biztonságával kell foglalkoznia. Az is lehetséges, hogy a kulcsot be lehet jelentkezni a GitHubba, amelyet a hackerek tudnak keresni. A webalkalmazás adatokhoz való hozzáférésének biztonságosabb módja a felügyelt identitások használata.
A Microsoft Entra-azonosítóból származó felügyelt identitás lehetővé teszi, hogy az App Service szerepköralapú hozzáférés-vezérléssel (RBAC) férhessen hozzá az erőforrásokhoz alkalmazás hitelesítő adatainak megkövetelése nélkül. Miután hozzárendelt egy felügyelt identitást a webalkalmazáshoz, az Azure gondoskodik a tanúsítványok létrehozásáról és terjesztéséről. Kapcsolatok nem kell aggódnia a titkos kódok vagy az alkalmazás hitelesítő adatainak kezelése miatt.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Rendszer által hozzárendelt felügyelt identitás létrehozása webalkalmazásban.
- Hozzon létre egy tárfiókot és egy Azure Blob Storage-tárolót.
- A webalkalmazások tárolóinak elérése felügyelt identitások használatával.
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Előfeltételek
- A Azure-alkalmazás Service-en futó webalkalmazás, amelyen engedélyezve van az App Service hitelesítési/engedélyezési modulja.
Felügyelt identitás engedélyezése egy alkalmazásban
Ha a webalkalmazást a Visual Studióban hozza létre és teszi közzé, a felügyelt identitás engedélyezve lett az alkalmazásban. Az app service-ben válassza az Identitás lehetőséget a bal oldali panelen, majd válassza a Hozzárendelt rendszer lehetőséget. Ellenőrizze, hogy az állapot be van-e kapcsolva. Ha nem, válassza a Mentés , majd az Igen lehetőséget a rendszer által hozzárendelt felügyelt identitás engedélyezéséhez. Ha a felügyelt identitás engedélyezve van, az állapot Be értékre van állítva, és az objektumazonosító elérhető.
Ez a lépés egy új objektumazonosítót hoz létre, amely eltér a Hitelesítés/Engedélyezés panelen létrehozott alkalmazásazonosítótól. Másolja ki a rendszer által hozzárendelt felügyelt identitás objektumazonosítóját. Erre később még szüksége lesz.
Tárfiók és Blob Storage-tároló létrehozása
Most már készen áll egy tárfiók és egy Blob Storage-tároló létrehozására.
Minden tárfióknak egy Azure-erőforráscsoporthoz kell tartoznia. Az erőforráscsoport egy logikai tároló az Azure-szolgáltatások csoportosításához. Tárfiók létrehozásakor lehetősége van új erőforráscsoport létrehozására vagy meglévő erőforráscsoport használatára. Ez a cikk bemutatja, hogyan hozhat létre új erőforráscsoportot.
Az általános célú v2-tárfiókok az összes Azure Storage-szolgáltatáshoz (blobokhoz, fájlokhoz, üzenetsorokhoz, táblákhoz és lemezekhez) hozzáférést biztosítanak. Az itt ismertetett lépések általános célú v2-tárfiókot hoznak létre, de a tárfiókok bármilyen típusú létrehozásának lépései hasonlóak.
Az Azure Storage-blobok tárolókba vannak rendezve. Mielőtt később feltölthet egy blobot ebben az oktatóanyagban, először létre kell hoznia egy tárolót.
Ha általános célú v2-tárfiókot szeretne létrehozni az Azure Portalon, kövesse az alábbi lépéseket.
Az Azure Portal menüjében válassza a Minden szolgáltatás lehetőséget. Az erőforrások listájában adja meg a tárfiókokat. Ahogy elkezd gépelni, a lista a beírtak alapján szűri a lehetőségeket. Válassza a Tárfiókok lehetőséget.
A megjelenő Tárfiókok ablakban válassza a Létrehozás lehetőséget.
Válassza ki azt az előfizetést, amelyben létre kívánja hozni a tárfiókot.
Az Erőforráscsoport mező alatt válassza ki a webalkalmazást tartalmazó erőforráscsoportot a legördülő menüből.
Ezután adja meg a tárfiók nevét. A választott névnek az Azure-on belül egyedinek kell lennie. A névnek 3 és 24 karakter közötti hosszúságúnak kell lennie, és csak számokat és kisbetűket tartalmazhat.
Válassza ki a tárfiókja helyét, vagy használja az alapértelmezett helyet.
A Teljesítmény beállításnál válassza a Standard lehetőséget.
Redundancia esetén válassza a helyileg redundáns tárolás (LRS) lehetőséget a legördülő listából.
Válassza a Véleményezés lehetőséget a tárfiók beállításainak áttekintéséhez és a fiók létrehozásához.
Válassza a Létrehozás lehetőséget.
Blob Storage-tároló létrehozásához kövesse az alábbi lépéseket az Azure Storage-ban.
Nyissa meg az új tárfiókot az Azure Portalon.
A tárfiók bal oldali menüjében görgessen az Adattárolás szakaszhoz, majd válassza a Tárolók lehetőséget.
Válassza a + Tároló gombot.
Adja meg az új tároló nevét. A tároló neve csak kisbetűket tartalmazhat, betűvel vagy számmal kell kezdődnie, és csak betűket, számokat és kötőjelet (-) tartalmazhat.
Adja meg a tároló nyilvános hozzáférési szintjét. Az alapértelmezett szint: Privát (nincs névtelen hozzáférés).
A tároló létrehozásához válassza a Létrehozás lehetőséget.
Hozzáférés biztosítása a tárfiókhoz
Blobok létrehozása, olvasása vagy törlése előtt hozzáférést kell adnia a webalkalmazásnak a tárfiókhoz. Az előző lépésben felügyelt identitással konfigurálta az App Service-ben futó webalkalmazást. Az Azure RBAC használatával egy másik erőforráshoz is hozzáférést adhat a felügyelt identitásnak, akárcsak bármely biztonsági tagnak. A Storage Blob Data Contributor szerepkör olvasási, írási és törlési hozzáférést biztosít a webalkalmazásnak (amelyet a rendszer által hozzárendelt felügyelt identitás képvisel) a blobtárolóhoz és az adatokhoz.
Feljegyzés
A privát blobtárolók egyes műveleteit az Azure RBAC nem támogatja, például a blobok megtekintését vagy a blobok fiókok közötti másolását. A privát hozzáférési szintű blobtárolókhoz SAS-jogkivonat szükséges minden olyan művelethez, amelyet az Azure RBAC nem engedélyez. További információ: Mikor érdemes közös hozzáférésű jogosultságkódot használni.
Az Azure Portalon lépjen a tárfiókba, hogy hozzáférést biztosítson a webalkalmazáshoz. A bal oldali panelen válassza a Hozzáférés-vezérlés (IAM), majd a Szerepkör-hozzárendelések lehetőséget. Megjelenik a tárfiókhoz hozzáféréssel rendelkezők listája. Most egy szerepkör-hozzárendelést szeretne hozzáadni egy robothoz, az app service-hez, amelyhez hozzá kell férnie a tárfiókhoz. Válassza a Szerepkör-hozzárendelés hozzáadása>lehetőséget a Szerepkör-hozzárendelés hozzáadása lap megnyitásához.
A Hozzárendelés típusa lapon válassza a Feladat függvénytípus, majd a Tovább lehetőséget.
A Szerepkör lapon válassza a Storage Blob Data Contributor szerepkört a legördülő listában, majd válassza a Tovább lehetőséget.
A Tagok lapon válassza a Hozzáférés hozzárendelése a felügyelt> identitáshoz lehetőséget, majd válassza a Tagok kiválasztása lehetőséget>. A Felügyelt identitások kiválasztása ablakban keresse meg és válassza ki az App Service-hez létrehozott felügyelt identitást a Felügyelt identitás legördülő menüben. Kattintson a Kiválasztás gombra.
Válassza a Véleményezés és hozzárendelés lehetőséget , majd válassza a Véleményezés lehetőséget, és rendeljen hozzá még egyszer.
A részletes lépésekért tekintse meg az Azure-szerepköröknek az Azure Portalon történő hozzárendelését ismertető cikket.
A webalkalmazás most már rendelkezik hozzáféréssel a tárfiókhoz.
Blob Storage elérése
A DefaultAzureCredential osztály a kód jogkivonat-hitelesítő adatainak lekérésére szolgál az Azure Storage felé irányuló kérések engedélyezéséhez. Hozza létre a DefaultAzureCredential osztály egy példányát, amely a felügyelt identitás használatával lekéri a jogkivonatokat, és csatolja őket a szolgáltatásügyfélhöz. Az alábbi példakód lekéri a hitelesített jogkivonat hitelesítő adatait, és egy szolgáltatásügyfél-objektum létrehozásához használja, amely feltölt egy új blobot.
Ha ezt a kódot egy mintaalkalmazás részeként szeretné megtekinteni, tekintse meg a GitHubon található mintát.
Ügyfélkódtár-csomagok telepítése
Telepítse a Blob Storage NuGet-csomagot a Blob Storage és az Azure Identity .NET NuGet-csomaghoz készült ügyfélkódtárának használatához a Microsoft Entra hitelesítő adataival való hitelesítéshez. Telepítse az ügyfélkódtárakat a .NET parancssori felület (CLI) vagy a Csomagkezelő-konzol használatával a Visual Studióban.
.NET CLI
Nyisson meg egy parancssort, és váltson a projektfájlt tartalmazó könyvtárra.
Futtassa a telepítési parancsokat.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Package Manager konzol
Nyissa meg a projektet vagy a megoldást a Visual Studióban, és nyissa meg a konzolt a Tools>NuGet Csomagkezelő> Csomagkezelő Console paranccsal.
Futtassa a telepítési parancsokat.
Install-Package Azure.Storage.Blobs
Install-Package Azure.Identity
Példa
using System;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Text;
using System.IO;
using Azure.Identity;
// Some code omitted for brevity.
static public async Task UploadBlob(string accountName, string containerName, string blobName, string blobContents)
{
// Construct the blob container endpoint from the arguments.
string containerEndpoint = string.Format("https://{0}.blob.core.windows.net/{1}",
accountName,
containerName);
// Get a credential and create a client object for the blob container.
BlobContainerClient containerClient = new BlobContainerClient(new Uri(containerEndpoint),
new DefaultAzureCredential());
try
{
// Create the container if it does not exist.
await containerClient.CreateIfNotExistsAsync();
// Upload text to a new block blob.
byte[] byteArray = Encoding.ASCII.GetBytes(blobContents);
using (MemoryStream stream = new MemoryStream(byteArray))
{
await containerClient.UploadBlobAsync(blobName, stream);
}
}
catch (Exception e)
{
throw e;
}
}
Az erőforrások eltávolítása
Ha befejezte ezt az oktatóanyagot, és már nincs szüksége a webalkalmazásra vagy a kapcsolódó erőforrásokra, törölje a létrehozott erőforrásokat.