Megosztás a következőn keresztül:


Oktatóanyag: Azure-erőforrások elérése Windows rendszerű virtuális gép/VMSS használatával

Az Azure-erőforrások felügyelt identitásai a Microsoft Entra ID egyik funkciója. Az Azure-erőforrások felügyelt identitását támogató összes Azure-szolgáltatásra a saját ütemterve vonatkozik. Mielőtt nekikezdene, tekintse át az erőforrásához tartozó felügyelt identitások elérhetőségi állapotát, valamint az ismert problémákat.

Előfeltételek

  • A felügyelt identitások ismerete. Ha még nem ismeri az Azure-erőforrások felügyelt identitására vonatkozó funkciót, tekintse meg ezt az áttekintést.
  • Egy Azure-fiók, regisztráljon egy ingyenes fiókra.
  • Tulajdonosi engedélyek a megfelelő hatókörben (az előfizetésben vagy az erőforráscsoportban) a szükséges erőforrás-létrehozási és szerepkör-kezelési lépések végrehajtásához. Ha segítségre van szüksége a szerepkör-hozzárendeléssel kapcsolatban, olvassa el az Azure-szerepkörök hozzárendelése az Azure-előfizetés erőforrásaihoz való hozzáférés kezeléséhez című témakört.
  • Olyan Windows rendszerű virtuális gép (VM), amely engedélyezve van a rendszer által hozzárendelt felügyelt identitásokkal.
    • Ha ehhez az oktatóanyaghoz virtuális gépet kell létrehoznia, olvassa el a Rendszer által hozzárendelt identitással rendelkező virtuális gép létrehozása című témakört.

Windows rendszerű virtuális gép által hozzárendelt felügyelt identitás használata az Azure Data Lake Store eléréséhez

Ez az oktatóanyag bemutatja, hogyan használhat rendszer által hozzárendelt felügyelt identitást egy Windows rendszerű virtuális géphez (VM) egy Azure Data Lake Store eléréséhez. A felügyelt identitásokat az Azure automatikusan felügyeli. Lehetővé teszik az alkalmazás számára a Microsoft Entra-hitelesítést támogató szolgáltatások hitelesítését anélkül, hogy hitelesítő adatokat kellene beszúrnia a kódba.

Ebből a cikkből megtudhatja, hogyan:

  • Hozzáférés engedélyezése a virtuális gép számára egy Azure Data Lake Store-hoz
  • Hozzáférési jogkivonat lekérése a VM identitásával, majd hozzáférés egy Azure Data Lake Store-hoz a jogkivonat segítségével

Engedélyezés

A rendszer által hozzárendelt felügyelt identitás engedélyezése egy kattintásos felület. Ezt engedélyezheti a virtuális gép létrehozásakor vagy egy meglévő virtuális gép tulajdonságaiban.

Képernyőkép a rendszer által hozzárendelt virtuális géphez tartozó lapról, ahol bekapcsolhatja a rendszer által hozzárendelt állapotot.

Rendszer által hozzárendelt felügyelt identitás engedélyezése új virtuális gépen:

  1. Jelentkezzen be az Azure Portalra.

  2. Hozzon létre egy virtuális gépet, amelyen engedélyezve van a rendszer által hozzárendelt identitás.

Hozzáférés biztosítása

A virtuális gép számára hozzáférést biztosíthat az Azure Data Lake Store-ban található fájlokhoz és mappákhoz. Ehhez a lépéshez meglévő Data Lake Store-t is használhat, de újat is létrehozhat.

Ha új Data Lake Store-t szeretne létrehozni az Azure Portallal, tekintse meg az Azure Data Lake Store rövid útmutatóját. Az Azure Data Lake Store dokumentációjában olyan rövid útmutatók is vannak, amelyek az Azure CLI-t és az Azure PowerShellt használják.

A Data Lake Store-ban hozzon létre egy új mappát, és adja meg a virtuális gép rendszer által hozzárendelt identitásengedélyét. Az identitásnak jogosultságra van szüksége a mappában lévő fájlok olvasásához, írásához és végrehajtásához:

  1. Az Azure Portalon válassza a Data Lake Store lehetőséget a bal oldali navigációs sávon.
  2. Válassza ki az oktatóanyaghoz használni kívánt Data Lake Store-t.
  3. Válassza az Adatkezelő lehetőséget a parancssávon.
  4. A Data Lake Store gyökérmappája van kiválasztva. Válassza az Access lehetőséget a parancssávon.
  5. Válassza a Hozzáadás lehetőséget. A Kiválasztás mezőbe írja be a virtuális gép nevét (például DevTestVM). Válassza ki a virtuális gépet a keresési eredmények közül, majd válassza a Kiválasztás lehetőséget.
  6. Válassza az Engedélyek kiválasztása, majd az Olvasás és végrehajtás lehetőséget. Adja hozzá ezt a mappát, majd válassza a Csak hozzáférési engedély lehetőséget.
  7. Válassza az Ok gombot, majd zárja be az Access panelt. Ezzel elvileg sikeresen hozzáadta az engedélyt.
  8. Ezután hozzon létre egy új mappát. Válassza az Új mappa lehetőséget a parancssávon, és adjon nevet az új mappának. Például: TestFolder, majd kattintson az OK gombra.
  9. Jelölje ki a létrehozott mappát, majd válassza az Access lehetőséget a parancssávon.
  10. Válassza a Hozzáadás lehetőséget, majd a Kiválasztás mezőben adja meg a virtuális gép nevét, majd válassza a Kiválasztás lehetőséget.
  11. Válassza az Engedélyek kiválasztása, majd az Olvasás, az Írás és a Végrehajtás lehetőséget. Adja hozzá ezt a mappát, majd adja hozzá hozzáférési engedély bejegyzésként és alapértelmezett engedélybejegyzésként.
  12. Kattintson az OK gombra. Az engedélyt sikeresen hozzá kell adni.

A VM rendszer által hozzárendelt felügyelt identitása mostantól az összes műveletet el tudja végezni a létrehozott mappában lévő fájlokon. A Data Lake Store-hoz való hozzáférés kezelésével kapcsolatos információkért lásd : Hozzáférés-vezérlés a Data Lake Store-ban.

Adatok elérése

Az Azure Data Lake Store natív módon támogatja a Microsoft Entra-hitelesítést, így közvetlenül elfogadhatja az Azure-erőforrások felügyelt identitásával beszerzett hozzáférési jogkivonatokat. A Data Lake Store fájlrendszerben való hitelesítéshez a Microsoft Entra ID által kiadott hozzáférési jogkivonatot kell küldenie a Data Lake Store fájlrendszervégpontra egy engedélyezési fejlécben. A fejléc formátuma Bearer <ACCESS_TOKEN_VALUE>.

A Data Lake Store Microsoft Entra-hitelesítéshez nyújtott támogatásáról további információt a Data Lake Store-beli hitelesítés a Microsoft Entra ID használatával című témakörben talál.

Feljegyzés

A Data Lake Storage-fájlrendszer ügyféloldali SDK-i még nem támogatják az Azure-erőforrások felügyelt identitásait.

Ebben az oktatóanyagban a Data Lake Store-fájlrendszer REST API-jában fog hitelesíteni a PowerShell használatával REST-kérések elindításához. Ha a VM rendszer által hozzárendelt felügyelt identitását hitelesítéshez szeretné használni, a virtuális gépről kell indítania a kéréseket.

  1. A portálon lépjen a Virtuális gépek elemre, és nyissa meg a Windows rendszerű virtuális gépet. Ezután az Áttekintésben válassza a Csatlakozás lehetőséget.

  2. Adja meg a Windows rendszerű virtuális gép létrehozásakor hozzáadott felhasználónevet és jelszót .

  3. Most, hogy létrehozott egy távoli asztali kapcsolatot a virtuális géppel, nyissa meg a PowerShellt a távoli munkamenetben.

  4. A PowerShell-parancsmaggal Invoke-WebRequest kérje meg az Azure-erőforrások végpontjának helyi felügyelt identitását, hogy lekérjen egy hozzáférési jogkivonatot az Azure Data Lake Store-hoz. A Data Lake Store erőforrás-azonosítója: https://datalake.azure.net/. A Data Lake pontosan egyezik az erőforrás-azonosítóval, ezért fontos a záró perjel.

    $response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fdatalake.azure.net%2F' -Method GET -Headers @{Metadata="true"}
    

    Konvertálja a választ JSON-objektumból PowerShell-objektummá.

    $content = $response.Content | ConvertFrom-Json
    

    Nyerje ki a hozzáférési jogkivonatot a válaszból.

    $AccessToken = $content.access_token
    
  5. Ellenőrizze, hogy minden megfelelően van-e konfigurálva. A PowerShell-parancsmaggal Invoke-WebRequest kérje meg a Data Lake Store REST-végpontját, hogy listázhassa a gyökérmappában lévő mappákat. Fontos, hogy az Engedélyezési fejlécben lévő sztring Bearer nagybetűvel (B) legyen. A Data Lake Store nevét a Data Lake Store Áttekintés szakaszában találja.

    Invoke-WebRequest -Uri https://<YOUR_ADLS_NAME>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS -Headers @{Authorization="Bearer $AccessToken"}
    

    A sikeres válasz így néz ki:

    StatusCode        : 200
    StatusDescription : OK
    Content           : {"FileStatuses":{"FileStatus":[{"length":0,"pathSuffix":"TestFolder","type":"DIRECTORY", "blockSize":0,"accessTime":1507934941392, "modificationTime":1507944835699,"replication":0, "permission":"770","ow..."
    RawContent        : HTTP/1.1 200 OK
                        Pragma: no-cache
                        x-ms-request-id: b4b31e16-e968-46a1-879a-3474aa7d4528
                        x-ms-webhdfs-version: 17.04.22.00
                        Status: 0x0
                        X-Content-Type-Options: nosniff
                        Strict-Transport-Security: ma...
    Forms             : {}
    Headers           : {[Pragma, no-cache], [x-ms-request-id, b4b31e16-e968-46a1-879a-3474aa7d4528],
                        [x-ms-webhdfs-version, 17.04.22.00], [Status, 0x0]...}
    Images            : {}
    InputFields       : {}
    Links             : {}
    ParsedHtml        : System.__ComObject
    RawContentLength  : 556
    
  6. Most próbáljon meg feltölteni egy fájlt a Data Lake Store-ba. Először hozza létre a feltölteni kívánt fájlt.

    echo "Test file." > Test1.txt
    
  7. A PowerShell-parancsmaggal Invoke-WebRequest kérje meg a Data Lake Store REST-végpontját, hogy feltöltse a fájlt a korábban létrehozott mappába. Ez a kérés két lépésből áll.

    1. Küldjön egy kérést, és küldjön egy átirányítást arra a helyre, ahová a fájlt fel kell tölteni.
    2. Töltse fel a fájlt. Ne felejtse el megfelelően beállítani a mappa és a fájl nevét, ha az oktatóanyagban jelzettnél eltérő értékeket használt.
    $HdfsRedirectResponse = Invoke-WebRequest -Uri https://<YOUR_ADLS_NAME>.azuredatalakestore.net/webhdfs/v1/TestFolder/Test1.txt?op=CREATE -Method PUT -Headers @{Authorization="Bearer $AccessToken"} -Infile Test1.txt -MaximumRedirection 0
    

    Ha megvizsgálja az értékeket $HdfsRedirectResponse, annak a következő válaszhoz hasonlóan kell kinéznie:

    PS C:\> $HdfsRedirectResponse
    
    StatusCode        : 307
    StatusDescription : Temporary Redirect
    Content           : {}
    RawContent        : HTTP/1.1 307 Temporary Redirect
                        Pragma: no-cache
                        x-ms-request-id: b7ab492f-b514-4483-aada-4aa0611d12b3
                        ContentLength: 0
                        x-ms-webhdfs-version: 17.04.22.00
                        Status: 0x0
                        X-Content-Type-Options: nosn...
    Headers           : {[Pragma, no-cache], [x-ms-request-id, b7ab492f-b514-4483-aada-4aa0611d12b3], 
                        [ContentLength, 0], [x-ms-webhdfs-version, 17.04.22.00]...}
    RawContentLength  : 0
    

    A feltöltés befejezéséhez küldjön egy kérést az átirányítási végponthoz:

    Invoke-WebRequest -Uri $HdfsRedirectResponse.Headers.Location -Method PUT -Headers @{Authorization="Bearer $AccessToken"} -Infile Test1.txt -MaximumRedirection 0
    

    A sikeres válasz nagyjából így néz ki:

    StatusCode        : 201
    StatusDescription : Created
    Content           : {}
    RawContent        : HTTP/1.1 201 Created
                        Pragma: no-cache
                        x-ms-request-id: 1e70f36f-ead1-4566-acfa-d0c3ec1e2307
                        ContentLength: 0
                        x-ms-webhdfs-version: 17.04.22.00
                        Status: 0x0
                        X-Content-Type-Options: nosniff
                        Strict...
    Headers           : {[Pragma, no-cache], [x-ms-request-id, 1e70f36f-ead1-4566-acfa-d0c3ec1e2307],
                        [ContentLength, 0], [x-ms-webhdfs-version, 17.04.22.00]...}
    RawContentLength  : 0
    

Végül más Data Lake Store fájlrendszer API-kat is használhat a fájlok hozzáfűzéséhez és letöltéséhez, és így tovább.

Letiltás

Ha le szeretné tiltani a rendszer által hozzárendelt identitást a virtuális gépen, állítsa a rendszer által hozzárendelt identitás állapotát Ki értékre.

Képernyőkép a rendszer által hozzárendelt lapról egy virtuális géphez, ahol kikapcsolhatja a rendszer által hozzárendelt állapotot.

Hozzáférés az Azure Storage-hoz egy Windows VM-beli, rendszer által hozzárendelt felügyelt identitással

Ez az oktatóanyag bemutatja, hogyan férhet hozzá az Azure Storage-hoz egy Windows rendszerű virtuális gép (VM) rendszer által hozzárendelt felügyelt identitásával. Az alábbiak végrehajtásának módját ismerheti meg:

  • Blobtároló létrehozása egy tárfiókban
  • Hozzáférés engedélyezése Windows VM-beli, rendszer által hozzárendelt felügyelt identitás számára egy tárfiókhoz
  • Hozzáférés kérése, majd az Azure Storage meghívása a hozzáféréssel

Engedélyezés

A rendszer által hozzárendelt felügyelt identitás engedélyezése egy kattintásos felület. Ezt engedélyezheti a virtuális gép létrehozásakor vagy egy meglévő virtuális gép tulajdonságaiban.

Képernyőkép a rendszer által hozzárendelt virtuális géphez tartozó lapról, ahol bekapcsolhatja a rendszer által hozzárendelt állapotot.

Rendszer által hozzárendelt felügyelt identitás engedélyezése új virtuális gépen:

  1. Jelentkezzen be az Azure Portalra.

  2. Hozzon létre egy virtuális gépet, amelyen engedélyezve van a rendszer által hozzárendelt identitás.

Storage-fiók létrehozása

Ebben a szakaszban egy új tárfiókot fog létrehozni.

  1. Válassza az Azure Portal bal felső sarkában található + Erőforrás létrehozása gombot.

  2. Válassza a Storage, majd a Storage-fiók – blob, fájl, tábla, üzenetsor lehetőséget.

  3. A Név mezőbe írja be a tárfiók nevét.

  4. A Telepítési modell mezőben a Resource Manager, a Fiók típusa mezőben a Storage (általános célú v1) beállítást kell megadni.

  5. Ellenőrizze, hogy az Előfizetés és az Erőforráscsoport mező értéke egyezik-e az előző lépésben a virtuális gép létrehozása során megadottakkal.

  6. Válassza a Létrehozás lehetőséget.

    Képernyőkép az új tárfiókok létrehozásáról.

Blobtároló létrehozása és egy fájl feltöltése a tárfiókba

A fájlok tárolásához blobtároló szükséges, ezért létre kell hoznia egyet, amelyben a fájlt tárolhatja. Ezután fel fog tölteni egy fájlt az új tárfiókon lévő blobtárolóba.

  1. Lépjen az újonnan létrehozott tárfiókra.

  2. A Blob Service szakaszban válassza a Tárolók lehetőséget.

  3. Válassza a + Tároló lehetőséget a lap tetején.

  4. Az Új tároló mezőben adja meg a tároló nevét, majd a Nyilvános hozzáférési szint beállításnál tartsa meg az alapértelmezett értéket.

    A tároló létrehozását bemutató képernyőkép.

  5. Egy tetszőleges szövegszerkesztővel hozzon létre egy hello world.txt nevű fájlt a helyi gépen. Nyissa meg a fájlt, és adja hozzá a Hello world! szöveget, majd mentse.

  6. Válassza ki a tároló nevét a fájl újonnan létrehozott tárolóba való feltöltéséhez, majd válassza a Feltöltés lehetőséget.

  7. A Blob feltöltése panel Fájlok szakaszában válassza ki a mappa ikont, és keresse meg a helyi gépen hello_world.txt fájlt. Ezután válassza ki a fájlt, és töltse fel. Képernyőkép a szövegfájl feltöltési képernyőről.

Hozzáférés biztosítása

Ez a szakasz bemutatja, hogyan biztosíthat hozzáférést a virtuális gépnek egy Azure Storage-tárolóhoz. A VM rendszer által hozzárendelt felügyelt identitásával lekérheti az Azure-tárolóblob adatait.

  1. Lépjen az újonnan létrehozott tárfiókra.

  2. Válassza a Hozzáférés-vezérlés (IAM) lehetőséget.

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

  4. Rendelje hozzá a következő szerepkört. 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.

    Beállítás Érték
    Szerepkör Storage Blob adatolvasó
    Hozzáférés hozzárendelése a következőhöz: Felügyelt identitás
    Rendszer által hozzárendelt Virtuális gép
    Kijelölés <a virtuális gép>

    A szerepkör-hozzárendelés hozzáadására szolgáló lap képernyőképe.

Adatok elérése

Az Azure Storage natív módon támogatja a Microsoft Entra-hitelesítést, így közvetlenül elfogadhatja a felügyelt identitással beszerzett hozzáférési jogkivonatokat. Ez a megközelítés az Azure Storage Microsoft Entra-azonosítóval való integrációját használja, és eltér a hitelesítő adatok megadásától a kapcsolati sztring.

Íme egy .NET-kód példa az Azure Storage-kapcsolat megnyitására. A példa egy hozzáférési jogkivonatot használ, majd beolvassa a korábban létrehozott fájl tartalmát. Ennek a kódnak kell futnia a virtuális gépen a VM felügyelt identitásához tartozó végpont eléréséhez. .NET-keretrendszer 4.6-os vagy újabb verzióra van szükség a hozzáférési jogkivonat-metódus használatához. Cserélje le az <URI to blob file> értékét a megfelelőre. Az érték lekéréséhez keresse meg a létrehozott és a blobtárolóba feltöltött fájlt, és másolja ki az Áttekintés oldalon lévő Tulajdonságok területen szereplő URL értéket.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Net;
using System.Web.Script.Serialization;
using Microsoft.WindowsAzure.Storage.Auth;
using Microsoft.WindowsAzure.Storage.Blob;

namespace StorageOAuthToken
{
    class Program
    {
        static void Main(string[] args)
        {
            //get token
            string accessToken = GetMSIToken("https://storage.azure.com/");

            //create token credential
            TokenCredential tokenCredential = new TokenCredential(accessToken);

            //create storage credentials
            StorageCredentials storageCredentials = new StorageCredentials(tokenCredential);

            Uri blobAddress = new Uri("<URI to blob file>");

            //create block blob using storage credentials
            CloudBlockBlob blob = new CloudBlockBlob(blobAddress, storageCredentials);

            //retrieve blob contents
            Console.WriteLine(blob.DownloadText());
            Console.ReadLine();
        }

        static string GetMSIToken(string resourceID)
        {
            string accessToken = string.Empty;
            // Build request to acquire MSI token
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=" + resourceID);
            request.Headers["Metadata"] = "true";
            request.Method = "GET";

            try
            {
                // Call /token endpoint
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                // Pipe response Stream to a StreamReader, and extract access token
                StreamReader streamResponse = new StreamReader(response.GetResponseStream());
                string stringResponse = streamResponse.ReadToEnd();
                JavaScriptSerializer j = new JavaScriptSerializer();
                Dictionary<string, string> list = (Dictionary<string, string>)j.Deserialize(stringResponse, typeof(Dictionary<string, string>));
                accessToken = list["access_token"];
                return accessToken;
            }
            catch (Exception e)
            {
                string errorText = String.Format("{0} \n\n{1}", e.Message, e.InnerException != null ? e.InnerException.Message : "Acquire token failed");
                return accessToken;
            }
        }
    }
}

A válasz tartalmazza a fájl tartalmát:

Hello world! :)

Letiltás

Ha le szeretné tiltani a rendszer által hozzárendelt identitást a virtuális gépen, állítsa a rendszer által hozzárendelt identitás állapotát Ki értékre.

Képernyőkép a rendszer által hozzárendelt lapról egy virtuális géphez, ahol kikapcsolhatja a rendszer által hozzárendelt állapotot.

Windows rendszerű virtuális géphez hozzárendelt felügyelt identitás használata az Azure Storage SAS-hitelesítő adatokon keresztüli eléréséhez

Ez az oktatóanyag bemutatja, hogyan használhat rendszer által hozzárendelt identitást egy Windows rendszerű virtuális géphez (VM) a tároló közös hozzáférésű jogosultságkódjának (SAS) hitelesítő adatainak beszerzéséhez.

A szolgáltatás SAS lehetővé teszi, hogy korlátozott ideig és egy adott szolgáltatáshoz (ebben az esetben egy blobszolgáltatáshoz) korlátozott hozzáférést biztosítson egy tárfiók objektumaihoz. Az SAS ezt a fiók hozzáférési kulcsának felfedése nélkül teszi meg. A tárolási műveletekhez a szokásos módon használhat SAS-hitelesítő adatokat; például tároló SDK használata esetén. Ez az oktatóanyag egy blob Azure Storage PowerShell-lel való feltöltését és letöltését mutatja be.

A következőket fogja megtanulni:

  • Tárfiók létrehozása
  • Hozzáférés engedélyezése virtuális gép számára a tárfiók a Resource Managerben lévő SAS-adataihoz
  • Hozzáférési jogkivonat lekérése a VM identitásával, majd a SAS-adatok lekérése a Resource Managerből annak használatával

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Tárfiók létrehozása

Ha még nem rendelkezik ilyen fiókkal, létre kell hoznia egy tárfiókot. Ellenkező esetben kövesse az alábbi lépéseket, hogy a virtuális gép rendszer által hozzárendelt felügyelt identitása hozzáférést biztosítson egy meglévő tárfiók SAS-hitelesítő adataihoz.

  1. Válassza a Storage, majd a Tárfiók lehetőséget.

  2. A Tárfiók létrehozása panelen adja meg a tárfiók nevét.

  3. Győződjön meg arról, hogy az üzembehelyezési modell és a fiók típusa Resource Managerre és általános célra van beállítva.

  4. Ellenőrizze, hogy az előfizetés és az erőforráscsoport megegyezik-e az előző lépésben a virtuális gép létrehozásakor megadott elemekkel.

  5. Válassza a Létrehozás lehetőséget a tárfiók létrehozásához.

    Képernyőkép az új tárfiókok létrehozásáról.

Blobtároló létrehozása a tárfiókban

Az oktatóanyag későbbi részében feltölt és letölt egy fájlt az új tárfiókba. Mivel a fájlok blobtárolót igényelnek, létre kell hoznia egy blobtárolót a fájl tárolásához.

  1. Lépjen az újonnan létrehozott tárfiókra.

  2. Válassza a Tárolók hivatkozást a bal oldali panelen, a Blob szolgáltatás alatt.

  3. Válassza a + Tároló lehetőséget a lap tetején, majd meg kell jelennie egy Új tárolópanelnek .

  4. Adjon nevet a tárolónak, határozza meg a hozzáférési szintet, majd válassza az OK gombot. Az itt megadott nevet az oktatóanyag későbbi részében fogja használni.

    A tároló létrehozását bemutató képernyőkép.

Hozzáférés engedélyezése virtuális gép rendszer által hozzárendelt felügyelt identitása számára a tároló SAS-adatainak használatához

Az Azure Storage natív módon nem támogatja a Microsoft Entra-hitelesítést. Felügyelt identitással azonban lekérhet egy tároló SAS-t a Resource Managerből, majd az SAS használatával hozzáférhet a tárterülethez. Ebben a lépésben hozzáférést biztosít a virtuális gép rendszer által hozzárendelt felügyelt identitása számára a tárfiók SAS-adataihoz.

  1. Lépjen vissza az újonnan létrehozott tárfiókra.

  2. Válassza a Hozzáférés-vezérlés (IAM) lehetőséget.

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

  4. Rendelje hozzá a következő szerepkört. 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.

    Beállítás Érték
    Szerepkör Tárfiók közreműködője
    Hozzáférés hozzárendelése a következőhöz: Felügyelt identitás
    Rendszer által hozzárendelt Virtuális gép
    Kijelölés <a Windows rendszerű virtuális gép>

    A szerepkör-hozzárendelés hozzáadására szolgáló lap képernyőképe.

Hozzáférési jogkivonat lekérése a virtuális gép identitásával, és az Azure Resource Manager meghívása

Az oktatóanyag hátralévő részében a virtuális gépről dolgozik. Ebben a részben az Azure Resource Manager PowerShell-parancsmagjait kell használnia. Ha nincs telepítve a PowerShell, a folytatás előtt töltse le a legújabb verziót .

  1. Az Azure Portalon keresse meg a virtuális gépeket, nyissa meg a Windows rendszerű virtuális gépet, majd a felül található Áttekintés lapon válassza a Csatlakozás lehetőséget.

  2. Adja meg a Windows rendszerű virtuális gép létrehozásakor hozzáadott felhasználónevet és jelszót .

  3. Hozzon létre egy távoli asztali kapcsolatot a virtuális géppel.

  4. Nyissa meg a PowerShellt a távoli munkamenetben, majd a PowerShell-parancsmaggal Invoke-WebRequest szerezze be az Azure Resource Manager-jogkivonatot az Azure-erőforrások helyi felügyelt identitásából.

       $response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fmanagement.azure.com%2F' -Method GET -Headers @{Metadata="true"}
    

    Feljegyzés

    A paraméter értékének resource pontosan meg kell egyeznie a Microsoft Entra ID által várt értékkel. Az Azure Resource Manager erőforrás-azonosítójának használatakor a záró perjelet is szerepeltetni kell az URI-ban.

    Ezután bontsa ki a content JavaScript Object Notation (JSON) formátumú sztringként tárolt elemet az $response objektumban.

    $content = $response.Content | ConvertFrom-Json
    

    Ezután nyerje ki a hozzáférési jogkivonatot a válaszból.

    $ArmToken = $content.access_token
    

SAS-hitelesítő adatok lekérése az Azure Resource Managerből tárolóhívások indításához

Végül a PowerShell használatával hívja meg a Resource Managert az előző szakaszban lekért hozzáférési jogkivonat használatával. Ezzel a jogkivonattal hozhat létre tároló SAS-hitelesítő adatokat. Miután megkapta az SAS-hitelesítő adatokat, meghívhat más tárolási műveleteket is.

Ehhez a kéréshez használja a következő HTTP-kérési paramétereket az SAS-hitelesítő adatok létrehozásához:

{
    "canonicalizedResource":"/blob/<STORAGE ACCOUNT NAME>/<CONTAINER NAME>",
    "signedResource":"c",              // The kind of resource accessible with the SAS, in this case a container (c).
    "signedPermission":"rcw",          // Permissions for this SAS, in this case (r)ead, (c)reate, and (w)rite. Order is important.
    "signedProtocol":"https",          // Require the SAS be used on https protocol.
    "signedExpiry":"<EXPIRATION TIME>" // UTC expiration time for SAS in ISO 8601 format, for example 2017-09-22T00:06:00Z.
}

Az itt szereplő paraméterek szerepelnek az SAS-hitelesítő adatokra vonatkozó kérés POST törzsében. Az SAS-hitelesítő adatok létrehozásához szükséges paraméterekkel kapcsolatos további információkért tekintse meg a listázási szolgáltatás SAS REST-referenciaanyagát.

  1. Konvertálja a paramétereket JSON-ra, majd hívja meg a tárvégpontot listServiceSas az SAS-hitelesítő adatok létrehozásához:

    $params = @{canonicalizedResource="/blob/<STORAGE-ACCOUNT-NAME>/<CONTAINER-NAME>";signedResource="c";signedPermission="rcw";signedProtocol="https";signedExpiry="2017-09-23T00:00:00Z"}
    $jsonParams = $params | ConvertTo-Json
    
    $sasResponse = Invoke-WebRequest -Uri https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE-ACCOUNT-NAME>/listServiceSas/?api-version=2017-06-01 -Method POST -Body $jsonParams -Headers @{Authorization="Bearer $ArmToken"}
    

    Feljegyzés

    Az URL-cím megkülönbözteti a kis- és nagybetűket, ezért győződjön meg arról, hogy pontosan ugyanazt az esetet használja, amelyet az erőforráscsoport elnevezésekor használt, beleértve a "G" nagybetűt resourceGroupsis.

  2. Ezután nyerje ki az SAS-hitelesítő adatokat a válaszból:

    $sasContent = $sasResponse.Content | ConvertFrom-Json
    $sasCred = $sasContent.serviceSasToken
    
  3. Ha megvizsgálja az SAS-hitelesítő adatokat, a következőhöz hasonlót kell látnia:

    PS C:\> $sasCred
    sv=2015-04-05&sr=c&spr=https&se=2017-09-23T00%3A00%3A00Z&sp=rcw&sig=JVhIWG48nmxqhTIuN0uiFBppdzhwHdehdYan1W%2F4O0E%3D
    
  4. Hozzon létre egy test.txt nevű fájlt. Ezután használja az SAS hitelesítő adatokat a New-AzStorageContent parancsmaggal való hitelesítéshez, töltse fel a fájlt a blobtárolóba, majd töltse le a fájlt.

    echo "This is a test text file." > test.txt
    
  5. Először az Azure Storage-parancsmagokat telepítse az Install-Module Azure.Storage használatával. Ezután töltse fel az imént létrehozott blobot a PowerShell-parancsmag Set-AzStorageBlobContent használatával:

    $ctx = New-AzStorageContext -StorageAccountName <STORAGE-ACCOUNT-NAME> -SasToken $sasCred
    Set-AzStorageBlobContent -File test.txt -Container <CONTAINER-NAME> -Blob testblob -Context $ctx
    

    Válasz:

    ICloudBlob        : Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob
    BlobType          : BlockBlob
    Length            : 56
    ContentType       : application/octet-stream
    LastModified      : 9/21/2017 6:14:25 PM +00:00
    SnapshotTime      :
    ContinuationToken :
    Context           : Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext
    Name              : testblob
    
  6. A feltöltött blobot a PowerShell-parancsmaggal Get-AzStorageBlobContent is letöltheti:

    Get-AzStorageBlobContent -Blob testblob -Container <CONTAINER-NAME> -Destination test2.txt -Context $ctx
    

    Válasz:

    ICloudBlob        : Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob
    BlobType          : BlockBlob
    Length            : 56
    ContentType       : application/octet-stream
    LastModified      : 9/21/2017 6:14:25 PM +00:00
    SnapshotTime      :
    ContinuationToken :
    Context           : Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext
    Name              : testblob
    

Windows rendszerű virtuális gép által hozzárendelt felügyelt identitás használata az Azure SQL Database eléréséhez

Ez az oktatóanyag bemutatja, hogyan használhat rendszer által hozzárendelt identitást egy Windows rendszerű virtuális géphez (VM) az Azure SQL Database eléréséhez. A felügyelt szolgáltatásidentitásokat az Azure automatikusan felügyeli, és lehetővé teszi a Microsoft Entra-hitelesítést támogató szolgáltatások hitelesítését anélkül, hogy hitelesítő adatokat kellene beszúrnia a kódba.

A következőket fogja megtanulni:

  • Virtuális gép hozzáférésének biztosítása az Azure SQL Database-hez
  • A Microsoft Entra-hitelesítés engedélyezése
  • A virtuális gép rendszerhez hozzárendelt identitását képviselő tartalmazott felhasználó létrehozása az adatbázisban
  • Hozzáférési jogkivonat lekérése a virtuálisgép-identitással, és annak használata az Azure SQL Database lekérdezéséhez

Engedélyezés

A rendszer által hozzárendelt felügyelt identitás engedélyezése egy kattintásos felület. Ezt engedélyezheti a virtuális gép létrehozásakor vagy egy meglévő virtuális gép tulajdonságaiban.

Képernyőkép a rendszer által hozzárendelt virtuális géphez tartozó lapról, ahol bekapcsolhatja a rendszer által hozzárendelt állapotot.

Rendszer által hozzárendelt felügyelt identitás engedélyezése új virtuális gépen:

  1. Jelentkezzen be az Azure Portalra.

  2. Hozzon létre egy virtuális gépet, amelyen engedélyezve van a rendszer által hozzárendelt identitás.

Hozzáférés biztosítása

Ha hozzáférést szeretne adni a virtuális gépnek egy adatbázishoz az Azure SQL Database-ben, használjon egy meglévő logikai SQL-kiszolgálót , vagy hozzon létre egy újat. Ha új kiszolgálót és adatbázist szeretne létrehozni az Azure Portalon, kövesse az Azure SQL rövid útmutatóját. Az Azure SQL dokumentációjában olyan rövid útmutatók is vannak, amelyek az Azure CLI-t és az Azure PowerShellt használják.

Kövesse az alábbi lépéseket a virtuális gép adatbázishoz való hozzáférésének biztosításához:

  1. Engedélyezze a Microsoft Entra-hitelesítést a kiszolgálóhoz.
  2. Létre kell hozni egy, a virtuális gép rendszerhez hozzárendelt identitását képviselő tartalmazott felhasználót az adatbázisban.

A Microsoft Entra-hitelesítés engedélyezése

A Microsoft Entra-hitelesítés konfigurálása:

  1. Az Azure Portalon válassza az SQL Servert a bal oldali navigációs sávon.
  2. Válassza ki a Microsoft Entra-hitelesítéshez engedélyezni kívánt SQL-kiszolgálót.
  3. A panel Beállítások szakaszában válassza az Active Directory-rendszergazda lehetőséget.
  4. A parancssávon válassza a Rendszergazda beállítása lehetőséget.
  5. Válasszon ki egy Microsoft Entra-felhasználói fiókot, amely rendszergazdává szeretné tenni a kiszolgálót, majd válassza a Kiválasztás lehetőséget.
  6. A parancssávon válassza a Mentés lehetőséget .

Tartalmazott felhasználó létrehozása

Ez a szakasz bemutatja, hogyan hozhat létre tartalmazott felhasználót az adatbázisban, amely a virtuális gép rendszer által hozzárendelt identitását jelöli. Ehhez a lépéshez telepítenie kell a Microsoft SQL Server Management Studiót (SSMS). Mielőtt hozzákezdene, hasznos lehet áttekinteni az alábbi cikkeket a Microsoft Entra-integráció hátteréről:

Az SQL-adatbázisokhoz egyedi Microsoft Entra-azonosító megjelenítendő nevek szükségesek. Ezzel a Microsoft Entra-fiókokat, például a felhasználókat, csoportokat és szolgáltatásneveket (alkalmazásokat) és a felügyelt identitáshoz engedélyezett virtuálisgép-neveket egyedileg kell definiálni a Microsoft Entra-azonosítóban a megfelelő megjelenítendő nevekre vonatkozóan. Az SQL ellenőrzi a Microsoft Entra ID megjelenítendő neveit az ilyen felhasználók T-SQL létrehozása során. Ha a megjelenített nevek nem egyediek, a parancs meghiúsul, és kéri, hogy adjon meg egy egyedi Microsoft Entra-azonosító megjelenítendő nevet minden egyes fiókhoz.

Tartalmazott felhasználó létrehozása

  1. Nyissa meg az SQL Server Management Studiót.

  2. A Csatlakozás a kiszolgálóhoz párbeszédpanelen adja meg a kiszolgáló nevét a Kiszolgálónév mezőben.

  3. Az Authentication (Hitelesítés) mezőben válassza ki az Active Directory - Universal with MFA support (Active Directory – univerzális, MFA-támogatással) lehetőséget.

  4. A Felhasználónév mezőbe írja be a kiszolgálói rendszergazdaként beállított Microsoft Entra-fiók nevét, cjensen@fabrikam.compéldául.

  5. Válassza a Beállítások lehetőséget.

  6. A Connect to database (Csatlakozás az adatbázishoz) mezőbe írja be a konfigurálni kívánt, nem rendszerszintű adatbázis nevét.

  7. Válassza a Csatlakozás lehetőséget, majd fejezze be a bejelentkezési folyamatot.

  8. Az Object Explorerben bontsa ki a Databases (Adatbázisok) mappát.

  9. Kattintson a jobb gombbal egy felhasználói adatbázisra, majd válassza az Új lekérdezés lehetőséget.

  10. A lekérdezési ablakban adja meg a következő sort, és válassza a Végrehajtás lehetőséget az eszköztáron:

    Feljegyzés

    Az alábbi parancsban a VMName a virtuális gép neve, amelyen az előfeltételek szakaszban a rendszerhez hozzárendelt identitást engedélyezte.

    CREATE USER [VMName] FROM EXTERNAL PROVIDER
    

    A parancsnak sikeresen be kell fejeződnie a virtuális gép rendszer által hozzárendelt identitásához tartozó felhasználó létrehozásával.

  11. Törölje a lekérdezési ablakot, írja be a következő sort, és válassza a Végrehajtás lehetőséget az eszköztáron:

    Feljegyzés

    VMName az alábbi parancs annak a virtuális gépnek a neve, amelyen engedélyezte a rendszer által hozzárendelt identitást az előfeltételek szakaszban.

    Ha a "Principal VMName has a duplikált megjelenítendő név" hibaüzenet jelenik meg, fűzze hozzá a CREATE USER utasítást a WITH OBJECT_ID='xxx' kifejezéssel.

    ALTER ROLE db_datareader ADD MEMBER [VMName]
    

    A parancsnak sikeresen be kell fejeződnie azzal, hogy lehetővé teszi a benne foglalt felhasználó számára a teljes adatbázis olvasását.

A virtuális gépen futó kód mostantól lekérhet egy jogkivonatot a rendszer által hozzárendelt felügyelt identitással, és a jogkivonat használatával hitelesítheti a kiszolgálót.

Adatok elérése

Ez a szakasz bemutatja, hogyan szerezhet be hozzáférési jogkivonatot a virtuális gép rendszer által hozzárendelt felügyelt identitásával, és hogyan hívhatja meg az Azure SQL-t. Az Azure SQL natív módon támogatja a Microsoft Entra-hitelesítést, így közvetlenül elfogadhatja az Azure-erőforrások felügyelt identitásaiból beszerzett hozzáférési jogkivonatokat. Ez a módszer nem igényel hitelesítő adatokat a kapcsolati sztring.

Íme egy .NET-kód példa az SQL-kapcsolat Active Directory managed Identity-hitelesítéssel való megnyitására. A kódnak a virtuális gépen kell futnia, hogy hozzáférhessen a virtuális gép rendszer által hozzárendelt felügyelt identitásának végpontjához.

A módszer használatához .NET-keretrendszer 4.6.2 vagy újabb vagy .NET Core 3.1 vagy újabb verzió szükséges. Cserélje le az AZURE-SQL-SERVERNAME és a DATABASE értékeit ennek megfelelően, és adjon hozzá egy NuGet-hivatkozást a Microsoft.Data.SqlClient kódtárhoz.

using Microsoft.Data.SqlClient;

try
{
//
// Open a connection to the server using Active Directory Managed Identity authentication.
//
string connectionString = "Data Source=<AZURE-SQL-SERVERNAME>; Initial Catalog=<DATABASE>; Authentication=Active Directory Managed Identity; Encrypt=True";
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();

Feljegyzés

Az SDK-k használatával felügyelt identitásokat használhat, miközben más programozási lehetőségekkel is dolgozhat.

Vagy a PowerShell használatával tesztelheti a végpontok közötti beállítást anélkül, hogy alkalmazást kellene írnia és üzembe helyeznie a virtuális gépen.

  1. A portálon keresse meg a virtuális gépeket, nyissa meg a Windows rendszerű virtuális gépet, majd az Áttekintés területen válassza a Csatlakozás lehetőséget.

  2. Adja meg a Windows rendszerű virtuális gép létrehozásakor hozzáadott virtuálisgép-rendszergazdai hitelesítő adatait.

  3. Most, hogy létrehozott egy távoli asztali kapcsolatot a virtuális géppel, nyissa meg a PowerShellt egy távoli munkamenetben.

  4. A PowerShell-parancsmaggal Invoke-WebRequest kérje meg a helyi felügyelt identitás végpontját, hogy szerezze be az Azure SQL hozzáférési jogkivonatát.

        $response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fdatabase.windows.net%2F' -Method GET -Headers @{Metadata="true"}
    

    Konvertálja a választ JSON-objektumból PowerShell-objektummá.

    $content = $response.Content | ConvertFrom-Json
    

    Nyerje ki a hozzáférési jogkivonatot a válaszból.

    $AccessToken = $content.access_token
    
  5. Nyisson meg egy kapcsolatot a kiszolgálóval. Ne felejtse el lecserélni az AZURE-SQL-SERVERNAME és a DATABASE értékét.

    $SqlConnection = New-Object System.Data.SqlClient.SqlConnection
    $SqlConnection.ConnectionString = "Data Source = <AZURE-SQL-SERVERNAME>; Initial Catalog = <DATABASE>; Encrypt=True;"
    $SqlConnection.AccessToken = $AccessToken
    $SqlConnection.Open()
    

    Ezután hozzon létre és küldjön el egy lekérdezést a kiszolgálónak. Ne felejtse el lecserélni a TABLE értékét.

    $SqlCmd = New-Object System.Data.SqlClient.SqlCommand
    $SqlCmd.CommandText = "SELECT * from <TABLE>;"
    $SqlCmd.Connection = $SqlConnection
    $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
    $SqlAdapter.SelectCommand = $SqlCmd
    $DataSet = New-Object System.Data.DataSet
    $SqlAdapter.Fill($DataSet)
    

Végül vizsgálja meg a lekérdezés eredményeinek megtekintéséhez tartozó értéket $DataSet.Tables[0] .

Letiltás

Ha le szeretné tiltani a rendszer által hozzárendelt identitást a virtuális gépen, állítsa a rendszer által hozzárendelt identitás állapotát Ki értékre.

Képernyőkép a rendszer által hozzárendelt lapról egy virtuális géphez, ahol kikapcsolhatja a rendszer által hozzárendelt állapotot.

Hozzáférés az Azure Key Vaulthoz egy Windows VM-beli, rendszer által hozzárendelt felügyelt identitással

Ez az oktatóanyag bemutatja, hogyan férhet hozzá egy Windows rendszerű virtuális gép (VM) egy rendszer által hozzárendelt felügyelt identitással az Azure Key Vault eléréséhez. A Key Vault lehetővé teszi, hogy az ügyfélalkalmazás titkos kóddal férhessen hozzá a Microsoft Entra ID által nem védett erőforrásokhoz. A felügyelt identitásokat az Azure automatikusan felügyeli. Lehetővé teszik a Microsoft Entra-hitelesítést támogató szolgáltatások hitelesítését anélkül, hogy hitelesítési adatokat tartalmaznának a kódban.

A következőket fogja megtanulni:

  • Hozzáférés engedélyezése a VM számára a Key Vaultban tárolt titkos kódokhoz
  • Hozzáférési jogkivonat lekérése a VM identitásával, majd a titkos kód lekérése a Key Vaultból

Key Vault létrehozása

Tipp.

A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.

Ez a szakasz bemutatja, hogyan biztosíthat hozzáférést a virtuális gépnek egy Key Vaultban tárolt titkos kódhoz. Ha felügyelt identitásokat használ az Azure-erőforrásokhoz, a kód hozzáférési jogkivonatokat kaphat a Microsoft Entra-hitelesítést támogató erőforrások hitelesítéséhez. 

Azonban nem minden Azure-szolgáltatás támogatja a Microsoft Entra-hitelesítést. Az Azure-erőforrások felügyelt identitásainak ilyen szolgáltatásokkal való használatához tárolja el a szolgáltatás hitelesítő adatait az Azure Key Vaultban, és a virtuális gép felügyelt identitásával férjen hozzá a Key Vaulthoz, hogy le tudja kérni a hitelesítő adatokat.

Először létre kell hoznia egy Key Vaultot, és hozzáférést kell adnia a virtuális gép rendszer által hozzárendelt felügyelt identitásához a Key Vaulthoz.

  1. Jelentkezzen be az Azure Portalra.

  2. A bal oldali navigációs sáv tetején válassza az Erőforrás létrehozása lehetőséget.

  3. A Keresés a Piactéren mezőbe írja be a Key Vaultot, és nyomja le az Enter billentyűt.

  4. Válassza a Key Vaultot az eredmények közül, majd válassza a Létrehozás lehetőséget.

  5. Adja meg az új kulcstartó nevét.

    Képernyőkép a Key Vault létrehozása képernyőről.

  6. Töltse ki az összes szükséges információt. Győződjön meg arról, hogy az oktatóanyaghoz használt előfizetést és erőforráscsoportot választja.

  7. Válassza a Véleményezés+ létrehozás lehetőséget.

  8. Válassza a Létrehozás lehetőséget.

Titkos kulcs létrehozása

Ezután fel kell vennie egy titkos kulcsot a Key Vaultba, hogy később lekérhesse azt a virtuális gépen futó kód használatával. Ebben a szakaszban a PowerShellt használja, de ugyanezek a fogalmak vonatkoznak a virtuális gépen végrehajtott összes kódra.

  1. Lépjen az újonnan létrehozott Key Vaultra.

  2. Válassza a Titkos kulcsok lehetőséget, majd a Hozzáadás lehetőséget.

  3. Válassza a Generálás/importálás lehetőséget.

  4. A Titkos kód létrehozása képernyőn a Feltöltési beállítások között hagyja bejelölve a Kézi beállítást.

  5. Adja meg a titkos kód nevét és értékét. Az érték bármi lehet. 

  6. Hagyja az aktiválási és a lejárati dátumot üresen, az Engedélyezve beállítást pedig az Igen értéken. 

  7. Válassza a Létrehozás lehetőséget a titkos kód létrehozásához.

    Képernyőkép egy titkos kód létrehozásáról.

Hozzáférés biztosítása

A virtuális gép által használt felügyelt identitásnak hozzáférést kell biztosítani a Key Vault által tárolt titkos kód olvasásához.

  1. Lépjen az újonnan létrehozott Key Vaultra.

  2. Válassza az Access Policy lehetőséget a bal oldali menüből.

  3. Válassza a Hozzáférési szabályzat hozzáadása lehetőséget.

    Képernyőkép a Key Vault hozzáférési szabályzat képernyőről.

  4. A Hozzáférési szabályzat hozzáadása szakaszban a Konfigurálás sablonból (nem kötelező) területen válassza a Titkos kulcskezelés lehetőséget a legördülő menüben.

  5. Válassza az Egyszerű kiválasztása lehetőséget, majd a keresőmezőbe írja be a korábban létrehozott virtuális gép nevét. 

  6. Válassza ki a virtuális gépet az eredménylistában, majd válassza a Kiválasztás lehetőséget.

  7. Válassza a Hozzáadás lehetőséget.

  8. Válassza a Mentés lehetőséget.

Adatok elérése

Ez a szakasz bemutatja, hogyan szerezhet be hozzáférési jogkivonatot a virtuálisgép-identitás használatával, és hogyan kérdezheti le a titkos kulcsot a Key Vaultból. Ha nincs telepítve a PowerShell 4.3.1-es vagy újabb verziója, le kell töltenie és telepítenie kell a legújabb verziót.

Feljegyzés

A Titkos kulcs hitelesítése és lekérése a PowerShell használatával olyan helyzetekben ajánlott, ahol kifejezetten felügyelt identitásokra van szükség, vagy amikor a folyamatot egy alkalmazás kódjába ágyazza be.

Először a virtuális gép rendszer által hozzárendelt felügyelt identitásával szerezze be a hozzáférési jogkivonatot a Key Vaultban való hitelesítéshez:

  1. A portálon keresse meg a virtuális gépeket, és nyissa meg a Windows rendszerű virtuális gépet, majd az Áttekintés területen válassza a Csatlakozás lehetőséget.
  2. Adja meg a Windows rendszerű virtuális gép létrehozásakor hozzáadott felhasználónevet és jelszót.
  3. Most, hogy létrehozott egy távoli asztali kapcsolatot a virtuális géppel, nyissa meg a PowerShellt egy távoli munkamenetben.
  4. A PowerShellben hívjon meg egy webes kérést a bérlőn, amellyel lekéri a jogkivonatot a helyi gazdagéphez a virtuális gép adott portján.

Feljegyzés

Ha szuverén felhőt (például GCC-H-t) használ, használja a végpontot vault.usgovcloudapi.net a PowerShell-parancsmag helyett vault.azure.net .

Példa PowerShell-kérésre:

$Response = Invoke-RestMethod -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -Method GET -Headers @{Metadata="true"} 

Feljegyzés

Szuverén felhők használatakor módosítania kell a parancsmag végén megadott végpontot.

Az Azure Government Cloud használata során például vault.usgovcloudapi.net a következő végeredményt kell használni:

$Response = Invoke-RestMethod -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.usgovcloudapi.net' -Method GET -Headers @{Metadata="true"

Annak ellenőrzéséhez, hogy az utótag megegyezik-e a környezetével, tekintse át az Azure Key Vault biztonsági áttekintését ismertető cikket.

A válasznak így kell kinéznie:

Képernyőkép egy jogkivonat-választ tartalmazó kérésről.

Ezután nyerje ki a hozzáférési jogkivonatot a válaszból.

   $KeyVaultToken = $Response.access_token

Végül a PowerShell-parancsmaggal Invoke-WebRequest kérje le a Key Vaultban korábban létrehozott titkos kulcsot, és adja át a hozzáférési jogkivonatot az Engedélyezés fejlécben. Szüksége lesz a Key Vault URL-címére, amely a Key Vault Áttekintés lapjának Alapvető erőforrások szakaszában található.

Invoke-RestMethod -Uri https://<your-key-vault-URL>/secrets/<secret-name>?api-version=2016-10-01 -Method GET -Headers @{Authorization="Bearer $KeyVaultToken"}

A válasznak így kell kinéznie:

  value       id                                                                                    attributes
  -----       --                                                                                    ----------
  'My Secret' https://mi-lab-vault.vault.azure.net/secrets/mi-test/50644e90b13249b584c44b9f712f2e51 @{enabled=True; created=16…

Miután lekérte a titkos kódot a Key Vaultból, a használatával hitelesítést végezhet olyan szolgáltatásokban, amelyekhez név és jelszó szükséges.

Az erőforrások eltávolítása

Végül, ha törölni szeretné az erőforrásokat, jelentkezzen be az Azure Portalra, válassza ki az Erőforráscsoportokat, majd keresse meg és válassza ki az oktatóanyag során létrehozott erőforráscsoportot (példáulmi-test). Ezután használja az Erőforráscsoport törlése parancsot.

Az erőforrásokat a PowerShell vagy a parancssori felület használatával is törölheti.

Windows rendszerű virtuális gép által hozzárendelt felügyelt identitás használata a Resource Manager eléréséhez

Tipp.

A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.

Ez az oktatóanyag bemutatja, hogyan hozhat létre rendszer által hozzárendelt identitást, hogyan rendelheti hozzá egy Windows rendszerű virtuális géphez, majd hogyan férhet hozzá az Azure Resource Manager API-hoz. A felügyeltszolgáltatás-identitások kezelését az Azure automatikusan végzi. Engedélyezik a microsoft entra-hitelesítést támogató szolgáltatások hitelesítését anélkül, hogy hitelesítő adatokat kellene beágyazniuk a kódba.

A következőket fogja megtanulni:

  • Adjon hozzáférést a virtuális gépnek az Azure Resource Managerhez.
  • Hozzáférési jogkivonat beszerzése a virtuális gép rendszer által hozzárendelt felügyelt identitásával a Resource Manager eléréséhez.
  1. Jelentkezzen be az Azure Portalra a rendszergazdai fiókjával.

  2. Lépjen az Erőforráscsoportok lapra.

  3. Válassza ki azt az erőforráscsoportot , amelyet engedélyezni szeretne a virtuális gép felügyelt identitásához.

  4. A bal oldali panelen válassza a Hozzáférés-vezérlés (IAM) lehetőséget.

  5. Válassza a Hozzáadás, majd a Szerepkör-hozzárendelés hozzáadása lehetőséget.

  6. A Szerepkör lapon válassza az Olvasó lehetőséget. Ez a szerepkör lehetővé teszi az összes erőforrás megtekintését, de nem teszi lehetővé a módosításokat.

  7. A Tagok lapon a Hozzáférés hozzárendelése beállításnál válassza a Felügyelt identitás lehetőséget, majd a + Tagok kijelölése lehetőséget.

  8. Győződjön meg arról, hogy a megfelelő előfizetés szerepel az Előfizetés legördülő listában. Erőforráscsoport esetén válassza az Összes erőforráscsoport lehetőséget.

  9. Az Identitás kezelése legördülő menüben válassza a Virtuális gép lehetőséget.

  10. Válassza ki a virtuális gépet a legördülő listában, majd válassza a Mentés lehetőséget.

    Képernyőkép az olvasói szerepkör felügyelt identitáshoz való hozzáadásáról.

Hozzáférési jogkivonat lekérése

Használja a virtuális gép rendszer által hozzárendelt felügyelt identitását, és hívja meg a Resource Managert egy hozzáférési jogkivonat beszerzéséhez.

A lépések elvégzéséhez szüksége lesz egy SSH-ügyfélre. Windows használata esetén használhatja az SSH-ügyfelet a Linuxos Windows-alrendszer. Amennyiben segítségre van szüksége az SSH-ügyfél kulcsának konfigurálásához, Az SSH-kulcsok és a Windows együttes használata az Azure-ban vagy Nyilvános és titkos SSH-kulcspár létrehozása és használata az Azure-ban Linux rendszerű virtuális gépekhez című cikkekben talál további információt.

  1. A portálon lépjen a Linux rendszerű virtuális gépre, és az Áttekintés területen válassza a Csatlakozás lehetőséget.
  2. Csatlakozzon a virtuális géphez a választott SSH-ügyféllel.
  3. A terminálablakban curlkérést intézhet az Azure-erőforrások végpontjának helyi felügyelt identitásaihoz az Azure Resource Manager hozzáférési jogkivonatának lekéréséhez.   A curl hozzáférési jogkivonatra vonatkozó kérés alább található.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true

Feljegyzés

A paraméter értékének resource pontosan meg kell egyeznie a Microsoft Entra ID által várt értékkel. A Resource Manager erőforrás-azonosítója esetén a záró perjelet is meg kell adnia az URI-n.

A válasz tartalmazza az Azure Resource Manager eléréséhez szükséges hozzáférési jogkivonatot.

Válasz:

{
  "access_token":"eyJ0eXAiOi...",
  "refresh_token":"",
  "expires_in":"3599",
  "expires_on":"1504130527",
  "not_before":"1504126627",
  "resource":"https://management.azure.com",
  "token_type":"Bearer"
}

Ezzel a hozzáférési jogkivonattal érheti el az Azure Resource Managert; Például annak az erőforráscsoportnak a részleteinek elolvasásához, amelyhez korábban hozzáférést adott a virtuális géphez. Cserélje le a , <RESOURCE-GROUP>és <ACCESS-TOKEN> a korábban létrehozott értékeket<SUBSCRIPTION-ID>.

Feljegyzés

Az URL-cím megkülönbözteti a kis- és nagybetűket, ezért győződjön meg arról, hogy pontosan a korábban használt esetet használja, amikor elnevezte az erőforráscsoportot, valamint a "resourceGroup" nagybetűs "G" betűt.

curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>" 

A válasz vissza a megadott erőforráscsoport-információkkal:

{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
  "provisioningState":"Succeeded"
  }
} 

Felhasználó által hozzárendelt felügyelt identitás használata Windows rendszerű virtuális gépen az Azure Resource Manager eléréséhez

Ez az oktatóanyag bemutatja, hogyan hozhat létre felhasználó által hozzárendelt identitást, hogyan rendelheti hozzá egy Windows rendszerű virtuális géphez, majd hogyan férhet hozzá az Azure Resource Manager API-hoz. A felügyeltszolgáltatás-identitások kezelését az Azure automatikusan végzi. Engedélyezik a microsoft entra-hitelesítést támogató szolgáltatások hitelesítését anélkül, hogy hitelesítő adatokat kellene beágyazniuk a kódba.

A következőket fogja megtanulni:

  • Felhasználó által hozzárendelt felügyelt identitás létrehozása
  • Felhasználó által hozzárendelt identitás hozzárendelése Windows rendszerű virtuális géphez
  • Hozzáférés engedélyezése a felhasználó által hozzárendelt identitás számára az Azure Resource Manager erőforráscsoportjához
  • Hozzáférési jogkivonat lekérése a felhasználó által hozzárendelt identitás használatával, majd az Azure Resource Manager meghívása a jogkivonat használatával
  • Erőforráscsoport tulajdonságainak olvasása

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Az Azure PowerShell helyi konfigurálása

Ha szkripteket szeretne futtatni ebben a példában, két lehetősége van:

  • Használja az Azure Cloud Shellt, amelyet a kódblokkok jobb felső sarkában található Kipróbálás gombbal nyithat meg.
  • Futtassa helyileg a szkripteket az Azure PowerShell használatával, a következő szakaszban leírtak szerint.

Ha helyileg szeretné használni az Azure PowerShellt ehhez az oktatóanyaghoz (a Cloud Shell használata helyett), hajtsa végre a következő lépéseket:

  1. Ha még nem tette meg, telepítse az Azure PowerShell legújabb verzióját.

  2. Jelentkezzen be az Azure-ba:

    Connect-AzAccount
    
  3. Telepítse a PowerShellGet legújabb verzióját.

    Install-Module -Name PowerShellGet -AllowPrerelease
    

    Előfordulhat, hogy a következő lépésben Exit a parancs futtatása után ki kell lépnie az aktuális PowerShell-munkamenetből.

  4. Telepítse a modul kiadott verzióját Az.ManagedServiceIdentity . Erre van szüksége a felhasználó által hozzárendelt felügyelt identitásműveletek végrehajtásához ebben az oktatóanyagban:

    Install-Module -Name Az.ManagedServiceIdentity -AllowPrerelease
    

Engedélyezés

Felhasználó által hozzárendelt identitáson alapuló forgatókönyvek esetén az alábbi lépéseket kell végrehajtania ebben a szakaszban:

  1. Hozzon létre egy identitást.
  2. Rendelje hozzá az újonnan létrehozott identitást.

Identitás létrehozása

Ez a szakasz bemutatja, hogyan hozhat létre felhasználó által hozzárendelt identitást, amely önálló Azure-erőforrásként jön létre. A New-AzUserAssignedIdentity parancsmaggal az Azure létrehoz egy identitást a Microsoft Entra-bérlőben, amelyet hozzárendelhet egy vagy több Azure-szolgáltatáspéldányhoz.

Fontos

Felhasználó által hozzárendelt felügyelt identitások létrehozásakor a névnek betűvel vagy számmal kell kezdődnie, és tartalmazhat alfanumerikus karaktereket, kötőjeleket (-) és aláhúzásjeleket (_). Ahhoz, hogy a virtuális géphez vagy a virtuálisgép-méretezési csoporthoz való hozzárendelés megfelelően működjön, a név legfeljebb 24 karakter hosszúságú lehet. További információkért lásd a gyakori kérdéseket és az ismert problémákat.

New-AzUserAssignedIdentity -ResourceGroupName myResourceGroupVM -Name ID1

A válasz az alábbi példához hasonlóan tartalmazza a létrehozott felhasználó által hozzárendelt identitás részleteit. Adja meg a IdClientId felhasználó által hozzárendelt identitás értékeit és értékeit a következő lépésekben használt módon:

{
Id: /subscriptions/<SUBSCRIPTIONID>/resourcegroups/myResourceGroupVM/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1
ResourceGroupName : myResourceGroupVM
Name: ID1
Location: westus
TenantId: aaaabbbb-0000-cccc-1111-dddd2222eeee
PrincipalId: aaaaaaaa-bbbb-cccc-1111-222222222222
ClientId: 00001111-aaaa-2222-bbbb-3333cccc4444
ClientSecretUrl: https://control-westus.identity.azure.net/subscriptions/<SUBSCRIPTIONID>/resourcegroups/myResourceGroupVM/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1/credentials?tid=aaaabbbb-0000-cccc-1111-dddd2222eeee&oid=aaaaaaaa-bbbb-cccc-1111-222222222222&aid=00001111-aaaa-2222-bbbb-3333cccc4444
Type: Microsoft.ManagedIdentity/userAssignedIdentities
}

Identitás hozzárendelése

Ez a szakasz bemutatja, hogyan rendelheti hozzá a felhasználó által hozzárendelt identitást egy Windows rendszerű virtuális géphez. A felhasználó által hozzárendelt identitást az ügyfelek több Azure-erőforrás esetében is használhatják. Az alábbi parancsokkal rendelhet felhasználó által hozzárendelt identitást egyetlen virtuális géphez. Ehhez használja az előző lépésben az -IdentityID paraméter esetében visszaadott Id tulajdonságot.

$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Update-AzVM -ResourceGroupName TestRG -VM $vm -IdentityType "UserAssigned" -IdentityID "/subscriptions/<SUBSCRIPTIONID>/resourcegroups/myResourceGroupVM/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"

Hozzáférés biztosítása

Ez a szakasz bemutatja, hogyan biztosíthat hozzáférést a felhasználó által hozzárendelt identitásnak az Azure Resource Manager egy erőforráscsoportjához. Az Azure-erőforrások felügyelt identitásai olyan identitásokat biztosítanak, amelyekkel a kód hozzáférési jogkivonatokat kérhet a Microsoft Entra-hitelesítést támogató erőforrás-API-k hitelesítéséhez. Ebben az oktatóanyagban a kódot az Azure Resource Manager API-jának eléréséhez használjuk.

Ehhez azonban még engedélyeznie kell az identitás számára a hozzáférést az Azure Resource Manager erőforrásaihoz. Ebben az esetben ahhoz az erőforráscsoporthoz férhet hozzá, amelyhez a virtuális gépet tartalmazza. A környezetnek megfelelően frissítse a <SUBSCRIPTIONID> értékét.

$spID = (Get-AzUserAssignedIdentity -ResourceGroupName myResourceGroupVM -Name ID1).principalid
New-AzRoleAssignment -ObjectId $spID -RoleDefinitionName "Reader" -Scope "/subscriptions/<SUBSCRIPTIONID>/resourcegroups/myResourceGroupVM/"

A válasz tartalmazza az imént létrehozott szerepkör-hozzárendelés részleteit, az alábbi példához hasonlóan:

RoleAssignmentId: /subscriptions/<SUBSCRIPTIONID>/resourcegroups/myResourceGroupVM/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
Scope: /subscriptions/<SUBSCRIPTIONID>/resourcegroups/myResourceGroupVM
DisplayName: ID1
SignInName:
RoleDefinitionName: Reader
RoleDefinitionId: 00000000-0000-0000-0000-000000000000
ObjectId: aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
ObjectType: ServicePrincipal
CanDelegate: False

Adatok elérése

Tipp.

A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.

Hozzáférési jogkivonat lekérése

Az oktatóanyag hátralévő részében a korábban létrehozott virtuális gépről dolgozik.

  1. Jelentkezzen be az Azure Portalra.

  2. A portálon keresse meg a virtuális gépeket , és lépjen a Windows rendszerű virtuális gépre. Az Áttekintés területen válassza a Csatlakozás lehetőséget.

  3. Adja meg a Windows rendszerű virtuális gép létrehozásakor használt felhasználónevet és jelszót .

  4. Most, hogy létrehozott egy távoli asztali kapcsolatot a virtuális géppel, nyissa meg a PowerShellt egy távoli munkamenetben.

  5. A PowerShell-parancsmag Invoke-WebRequest használatával kérje meg az Azure-erőforrások végpontjának helyi felügyelt identitását, hogy lekérje az Azure Resource Manager hozzáférési jogkivonatát. Az client_id érték a felhasználó által hozzárendelt felügyelt identitás létrehozásakor visszaadott érték.

    $response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&client_id=00001111-aaaa-2222-bbbb-3333cccc4444&resource=https://management.azure.com/' -Method GET -Headers @{Metadata="true"}
    $content = $response.Content | ConvertFrom-Json
    $ArmToken = $content.access_token
    

Olvasási tulajdonságok

Végül használja az előző lépésben lekért hozzáférési jogkivonatot az Azure Resource Manager eléréséhez, majd olvassa el a felhasználó által hozzárendelt identitáshoz hozzáférést biztosító erőforráscsoport tulajdonságait. Cserélje le <SUBSCRIPTION ID> a környezet előfizetés-azonosítójára.

(Invoke-WebRequest -Uri https://management.azure.com/subscriptions/80c696ff-5efa-4909-a64d-f1b616f423ca/resourceGroups/myResourceGroupVM?api-version=2016-06-01 -Method GET -ContentType "application/json" -Headers @{Authorization ="Bearer $ArmToken"}).content

A válasz tartalmazza az adott erőforráscsoport adatait, az alábbi példához hasonlóan:

{"id":"/subscriptions/<SUBSCRIPTIONID>/resourceGroups/myResourceGroupVM","name":"myResourceGroupVM","location":"eastus","properties":{"provisioningState":"Succeeded"}}

További információ