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

Diagram that shows how to access storage.

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

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ő.

Screenshot that shows the System assigned identity option.

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.

  1. 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.

  2. A megjelenő Tárfiókok ablakban válassza a Létrehozás lehetőséget.

  3. Válassza ki azt az előfizetést, amelyben létre kívánja hozni a tárfiókot.

  4. Az Erőforráscsoport mező alatt válassza ki a webalkalmazást tartalmazó erőforráscsoportot a legördülő menüből.

  5. 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.

  6. Válasszon egy helyet (régiót) a tárfiókhoz, vagy használja az alapértelmezett értéket.

  7. 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
  8. 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.

  9. Select Create.

Blob Storage-tároló létrehozásához kövesse az alábbi lépéseket az Azure Storage-ban.

  1. Nyissa meg az új tárfiókot az Azure Portalon.

  2. 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.

  3. Válassza a + Tároló gombot.

  4. 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.

  5. 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).

  6. 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

  1. Nyisson meg egy parancssort, és váltson a projektfájlt tartalmazó könyvtárra.

  2. Futtassa a telepítési parancsokat.

    dotnet add package Azure.Storage.Blobs
    
    dotnet add package Azure.Identity
    

Package Manager konzol

  1. Nyissa meg a projektet vagy a megoldást a Visual Studióban, és nyissa meg a konzolt a Tools>NuGet Csomagkezelő> Csomagkezelő Console paranccsal.

  2. 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.

Screenshot that shows deleting the resource group.

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.