Oktatóanyag: Azure-szolgáltatások elérése .NET-webalkalmazásból
Megtudhatja, hogyan férhet hozzá az Azure-szolgáltatásokhoz( például az Azure Storage-hoz) a Azure-alkalmazás Szolgáltatáson futó webalkalmazásból (nem bejelentkezett felhasználóból) felügyelt identitások használatával. Ez az oktatóanyag példaként mutatja be az Azure Storage-hoz való csatlakozást.
A felügyelt identitást támogató szolgáltatások (az alábbi képen B ) biztonságosan elérhetők az oktatóanyag segítségével:
- Azure Storage
- Azure SQL Database
- Azure Key Vault
Biztonságos hozzáférést szeretne hozzáadni az Azure-szolgáltatásokhoz (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.
If you don't have an Azure subscription, create an Azure free account before you begin.
Előfeltételek
- A Azure-alkalmazás Szolgáltatáson futó webalkalmazás:
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 Be , majd a Mentés lehetőséget. A megerősítést kérő párbeszédpanelen válassza 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álasszon egy helyet (régiót) a tárfiókhoz, vagy használja az alapértelmezett értéket.
Ne módosítsa a következő mezők alapértelmezett értékeit:
Mező Érték Deployment model Resource Manager Teljesítmény Standard Fiók altípusa StorageV2 (általános célú v2) Replikáció Írásvédett georedundáns tárolás (RA-GRS) Hozzáférési szint Gyakori A tárfiók beállításainak áttekintéséhez és a fiók létrehozásához válassza a Felülvizsgálat + létrehozás elemet.
Select Create.
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 az OK gombot.
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.
Megjegyzé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.
Rendelje hozzá a Storage Blob Data Contributor szerepkört az App Service-hez az előfizetés hatókörében. 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 Core parancssori felületével vagy a Visual Studio Csomagkezelő konzoljával.
.NET Core parancssor
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
.NET-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;
}
}
Clean up resources
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.
Az erőforráscsoport törlése
Az Azure Portalon válassza ki az Erőforráscsoportokat a portál menüjéből, és válassza ki azt az erőforráscsoportot, amely tartalmazza az App Service- és App Service-csomagot.
Az erőforráscsoport és az összes erőforrás törléséhez válassza az Erőforráscsoport törlése lehetőséget.
A parancs futtatása több percet is igénybe vehet.
Következő lépések
Ez az oktatóanyag bemutatta, hogyan végezheti el az alábbi műveleteket:
- Rendszer által hozzárendelt felügyelt identitás létrehozása.
- Hozzon létre egy tárfiókot és egy Blob Storage-tárolót.
- A webalkalmazások tárolóinak elérése felügyelt identitások használatával.