Kurz: Použití virtuálního počítače s Linuxem nebo VMSS pro přístup k prostředkům Azure
Spravované identity pro prostředky Azure jsou funkcí ID Microsoft Entra. Každá ze služeb Azure, které podporují spravované identity pro prostředky Azure, se řídí vlastní časovou osou. Než začnete, nezapomeňte zkontrolovat stav dostupnosti spravovaných identit pro váš prostředek a známé problémy.
Požadavky
- Znalost spravovaných identit. Pokud ještě neznáte funkci spravovaných identit pro prostředky Azure, podívejte se na tento přehled.
- Účet Azure, zaregistrujte si bezplatný účet.
- Oprávnění vlastníka v příslušném oboru (vaše předplatné nebo skupina prostředků) k provedení požadovaných kroků pro vytvoření prostředku a správu rolí. Pokud potřebujete pomoc s přiřazením role, přečtěte si téma Přiřazení rolí Azure ke správě přístupu k prostředkům předplatného Azure.
- Virtuální počítač s Linuxem, který má povolené spravované identity přiřazené systémem.
- Pokud potřebujete vytvořit virtuální počítač pro účely tohoto kurzu, přečtěte si téma Vytvoření virtuálního počítače s povolenou identitou přiřazenou systémem.
Použití spravované identity přiřazené systémem virtuálního počítače s Linuxem pro přístup k Azure Data Lake Storu
V tomto kurzu se dozvíte, jak pomocí spravované identity přiřazené systémem pro virtuální počítač s Linuxem získat přístup ke službě Azure Data Lake Store.
Získáte následující informace:
- Udělit přístup virtuálnímu počítači k Azure Data Lake Store.
- Získejte přístupový token pomocí spravované identity přiřazené systémem virtuálního počítače s Linuxem pro přístup k Azure Data Lake Storu.
Udělení přístupu
Tato část ukazuje, jak virtuálnímu počítači udělit přístup k souborům a složkám ve službě Azure Data Lake Store. Pro tento krok můžete použít stávající instanci Data Lake Store nebo vytvořit novou. Pokud chcete vytvořit instanci Data Lake Store na webu Azure Portal, postupujte podle tohoto článku Rychlý start ke službě Azure Data Lake Store. V dokumentaci ke službě Azure Data Lake Store také najdete články Rychlý start pro použití Azure CLI nebo Azure PowerShellu.
Ve službě Data Lake Store vytvořte novou složku a udělte spravované identitě přiřazené systémem na virtuálním počítači s Linuxem oprávnění ke čtení, zápisu a spouštění souborů v této složce:
- Na webu Azure Portal vyberte v levém podokně Data Lake Store.
- Vyberte instanci Data Lake Store, kterou chcete použít.
- Na panelu příkazů vyberte Průzkumník dat.
- Vybere se kořenová složka instance Data Lake Store. Na příkazovém řádku vyberte Přístup.
- Vyberte Přidat. Do pole Vybrat zadejte název virtuálního počítače, například DevTestVM. Ve výsledcích hledání vyberte virtuální počítač a pak vyberte Vybrat.
- Vyberte Vybrat oprávnění. Vyberte Možnost Číst a Spustit, přidejte ji do této složky, přidejte pouze jako přístupová oprávnění a pak vyberte OK. Oprávnění by mělo být úspěšně přidané.
- Zavřete podokno Přístup.
- Vytvořte novou složku a pak na panelu příkazů vyberte Možnost Nová složka a pojmenujte novou složku, například TestFolder a pak vyberte OK.
- Vyberte složku, kterou jste vytvořili, a pak na panelu příkazů vyberte Access .
- Vyberte Přidat a potom do pole Vybrat zadejte název virtuálního počítače.
- Ve výsledcích hledání vyberte virtuální počítač a pak vyberte Vybrat.
- Vyberte Vybrat oprávnění a pak vyberte Číst, Pak Zapisovat a Spouštět.
- Vyberte možnost přidat do této složky a pak jako položku oprávnění pro přístup a výchozí položku oprávnění a pak vyberte OK. Oprávnění by mělo být úspěšně přidané.
Spravované identity pro prostředky Azure teď můžou se soubory ve vytvořené složce provádět všechny operace. Další informace o správě přístupu ke službě Data Lake Store najdete v článku o řízení přístupu v Data Lake Store.
Získání přístupového tokenu
Tato část ukazuje, jak získat přístupový token a volat systém souborů Data Lake Store. Azure Data Lake Store nativně podporuje ověřování Microsoft Entra, takže může přímo přijímat přístupové tokeny získané pomocí spravovaných identit pro prostředky Azure.
Pokud se chcete ověřit v systému souborů Data Lake Store, odešlete přístupový token vystavený ID Microsoft Entra do koncového bodu systému souborů Data Lake Store. Přístupový token je v autorizační hlavičce ve formátu Bearer \<ACCESS_TOKEN_VALUE\>
. Další informace o podpoře ověřování Microsoft Entra ve službě Data Lake Store najdete v tématu Ověřování ve službě Data Lake Store pomocí MICROSOFT Entra ID.
Dále se ověříte v rozhraní REST API pro systém souborů Data Lake Store pomocí cURL k provádění požadavků REST.
Poznámka:
Klientské sady SDK systému souborů Data Lake Store zatím spravované identity pro prostředky Azure nepodporují.
K dokončení tohoto postupu potřebujete klienta SSH. Pokud používáte Windows, můžete použít klienta SSH v subsystému Windows pro Linux. Pokud potřebujete pomoc při konfiguraci klíčů klienta SSH, přečtěte si, jak na počítači s Windows v Azure používat klíče SSH nebo jak na linuxových virtuálních počítačích v Azure vytvářet a používat pár veřejného a privátního klíče SSH.
Na portálu přejděte na virtuální počítač s Linuxem a pak v části Přehled vyberte Připojit.
Připojte se vybraným klientem SSH k virtuálnímu počítači.
V okně terminálu pomocí cURL požádejte místní spravované identity Azure o koncový bod prostředků Azure pro získání přístupového tokenu pro systém souborů Data Lake Store. Identifikátor prostředku pro Data Lake Store je
https://datalake.azure.net/
. V identifikátoru prostředku musí být koncové lomítko.curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fdatalake.azure.net%2F' -H Metadata:true
V úspěšné odpovědi se vrátí přístupový token, který použijete při ověření přístupu k Data Lake Store:
{"access_token":"eyJ0eXAiOiJ...", "refresh_token":"", "expires_in":"3599", "expires_on":"1508119757", "not_before":"1508115857", "resource":"https://datalake.azure.net/", "token_type":"Bearer"}
Nástrojem cURL požádejte koncový bod REST systému souborů Data Lake Store o výpis složek v kořenové složce. Toto je nejlepší způsob, jak zkontrolovat, jestli je všechno správně nakonfigurované. Zkopírujte hodnotu přístupového tokenu z předchozího kroku. Je důležité, aby řetězec
Bearer
v autorizační hlavičce má velké písmeno B. Název instance Data Lake Store najdete v části Přehled podokna Data Lake Store na webu Azure Portal.curl https://<YOUR_ADLS_NAME>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS -H "Authorization: Bearer <ACCESS_TOKEN>"
Úspěšná odpověď vypadá takto:
{"FileStatuses":{"FileStatus":[{"length":0,"pathSuffix":"TestFolder","type":"DIRECTORY","blockSize":0,"accessTime":1507934941392,"modificationTime":1508105430590,"replication":0,"permission":"770","owner":"bd0e76d8-ad45-4fe1-8941-04a7bf27f071","group":"bd0e76d8-ad45-4fe1-8941-04a7bf27f071"}]}}
Teď nahrajte soubor do instance Data Lake Store. Nejprve vytvořte soubor, který chcete nahrát.
echo "Test file." > Test1.txt
Použijte cURL a požádejte koncový bod REST vašeho systému souborů Data Lake Store o nahrání souboru do dříve vytvořené složky. Součástí nahrání je i přesměrování. Nástroj cURL provede přesměrování automaticky.
curl -i -X PUT -L -T Test1.txt -H "Authorization: Bearer <ACCESS_TOKEN>" 'https://<YOUR_ADLS_NAME>.azuredatalakestore.net/webhdfs/v1/<FOLDER_NAME>/Test1.txt?op=CREATE'
Úspěšná odpověď vypadá takto:
HTTP/1.1 100 Continue HTTP/1.1 307 Temporary Redirect Cache-Control: no-cache, no-cache, no-store, max-age=0 Pragma: no-cache Expires: -1 Location: https://mytestadls.azuredatalakestore.net/webhdfs/v1/TestFolder/Test1.txt?op=CREATE&write=true x-ms-request-id: 756f6b24-0cca-47ef-aa12-52c3b45b954c ContentLength: 0 x-ms-webhdfs-version: 17.04.22.00 Status: 0x0 X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=15724800; includeSubDomains Date: Sun, 15 Oct 2017 22:10:30 GMT Content-Length: 0 HTTP/1.1 100 Continue HTTP/1.1 201 Created Cache-Control: no-cache, no-cache, no-store, max-age=0 Pragma: no-cache Expires: -1 Location: https://mytestadls.azuredatalakestore.net/webhdfs/v1/TestFolder/Test1.txt?op=CREATE&write=true x-ms-request-id: af5baa07-3c79-43af-a01a-71d63d53e6c4 ContentLength: 0 x-ms-webhdfs-version: 17.04.22.00 Status: 0x0 X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=15724800; includeSubDomains Date: Sun, 15 Oct 2017 22:10:30 GMT Content-Length: 0
Nakonec můžete použít další rozhraní API pro systém souborů Data Lake Store k připojení k souborům, stahování souborů a dalším funkcím.
Použití spravované identity přiřazené systémem na virtuální počítači s Linuxem pro přístup k Azure Storage
V tomto kurzu se dozvíte, jak pomocí spravované identity přiřazené systémem na virtuálním počítači s Linuxem získat přístup ke službě Azure Storage.
Získáte následující informace:
- Vytvoření účtu úložiště
- Vytvoření kontejneru objektů blob v účtu úložiště
- Udělení přístupu spravované identitě virtuálního počítače s Linuxem ke kontejneru Azure Storage
- Získání přístupového tokenu a jeho použití k volání Azure Storage
Vytvoření účtu úložiště
Pokud chcete spustit skripty rozhraní příkazového řádku v tomto příkladu, máte dvě možnosti:
- Azure Cloud Shell můžete použít buď z webu Azure Portal, nebo pomocí tlačítka Vyzkoušet, které se nachází v pravém horním rohu každého bloku kódu.
- Pokud upřednostňujete práci v místní konzole rozhraní příkazového řádku, nainstalujte nejnovější verzi CLI 2.0 (2.0.23 nebo novější).
Nejprve vytvořte účet úložiště.
V levém horním rohu webu Azure Portal vyberte tlačítko + Vytvořit prostředek.
Vyberte Storage, pak Účet úložiště – objekt blob, soubor, tabulka, fronta.
V části Název zadejte název účtu úložiště.
V polích Model nasazení a Druh účtu nastavte Resource manager a Úložiště (v1 pro obecné účely).
Ověřte, že pole Předplatné a Skupina prostředků se shodují s údaji zadanými při vytvoření virtuálního počítače v předchozím kroku.
Vyberte Vytvořit.
Vytvoření kontejneru objektů blob a nahrání souboru do účtu úložiště
Soubory vyžadují úložiště objektů blob. Proto potřebujete vytvořit kontejner objektů blob, do kterého soubor uložíte. Potom soubor nahrajete do kontejneru objektů blob v novém účtu úložiště.
Přejděte na nově vytvořený účet úložiště.
Vyberte službu Blob Service a pak kontejnery.
V horní části stránky vyberte + Kontejner .
Vyberte Nový kontejner a zadejte název kontejneru.
Ujistěte se, že je výchozí hodnota úroveň veřejného přístupu.
Na místním počítači vytvořte ve vámi vybraném editoru soubor s názvem hello world.txt. Otevřete soubor a přidejte text Hello world! a pak ho uložte.
Vyberte název kontejneru a pak nahrajte. Tím se soubor nahraje do nově vytvořeného kontejneru.
V podokně Nahrát objekt blob v části Soubory vyberte ikonu složky a přejděte na soubor hello_world.txt na místním počítači.
Vyberte soubor a pak vyberte Nahrát.
Udělení přístupu virtuálnímu počítači ke kontejneru Azure Storage
Spravovanou identitu virtuálního počítače můžete použít k načtení dat, která jsou v úložišti Azure Storage Blob. Spravované identity pro prostředky Azure se dají použít k ověření prostředků, které podporují ověřování Microsoft Entra. Udělení přístupu přiřazením role čtenáře objektů blob-blob-data-ke spravované identitě v oboru skupiny prostředků, která obsahuje váš účet úložiště.
Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.
Získání přístupového tokenu a jeho použití k volání Azure Storage
Azure Storage nativně podporuje ověřování Microsoft Entra, takže může přímo přijímat přístupové tokeny získané pomocí spravované identity. Je to součást integrace služby Azure Storage s ID Microsoft Entra a liší se od zadávání přihlašovacích údajů v připojovací řetězec.
K dokončení následujícího postupu musíte použít dříve vytvořený virtuální počítač. Abyste se k němu mohli připojit, potřebujete také klienta SSH.
Pokud používáte Windows, můžete použít klienta SSH v subsystému Windows pro Linux. Pokud potřebujete pomoc při konfiguraci klíčů klienta SSH, přečtěte si, jak na počítači s Windows v Azure používat klíče SSH nebo jak na linuxových virtuálních počítačích v Azure vytvářet a používat pár veřejného a privátního klíče SSH.
Na webu Azure Portal přejděte na Virtuální počítače, přejděte na virtuální počítač s Linuxem a pak na stránce Přehled vyberte Připojit. Zkopírujte řetězec pro připojení k vašemu virtuálnímu počítači.
Připojte se vybraným klientem SSH k virtuálnímu počítači.
V okně terminálu pomocí nástroje CURL vytvořte požadavek na místní koncový bod spravované identity, abyste získali přístupový token pro Azure Storage.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fstorage.azure.com%2F' -H Metadata:true
Pro přístup ke službě Azure Storage použijte přístupový token. Pokud chcete například přečíst obsah ukázkového souboru, který jste předtím nahráli do kontejneru, nahraďte hodnoty
<STORAGE ACCOUNT>
,<CONTAINER NAME>
a<FILE NAME>
hodnotami, které jste zadali dříve, a<ACCESS TOKEN>
tokenem vráceným v předchozím kroku.curl https://<STORAGE ACCOUNT>.blob.core.windows.net/<CONTAINER NAME>/<FILE NAME> -H "x-ms-version: 2017-11-09" -H "Authorization: Bearer <ACCESS TOKEN>"
Odpověď bude obsahovat obsah souboru:
Hello world! :)
Nakonec můžete token uložit do proměnné a předat ho druhému příkazu, jak je znázorněno na obrázku:
# Run the first curl command and capture its output in a variable
access_token=$(curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fstorage.azure.com%2F' -H Metadata:true | jq -r '.access_token')
# Run the second curl command with the access token
curl "https://<STORAGE ACCOUNT>.blob.core.windows.net/<CONTAINER NAME>/<FILE NAME>" \
-H "x-ms-version: 2017-11-09" \
-H "Authorization: Bearer $access_token"
Použití spravované identity přiřazené systémem na virtuálním počítači s Linuxem pro přístup ke službě Azure Storage prostřednictvím přihlašovacích údajů SAS
V tomto kurzu se dozvíte, jak pomocí spravované identity přiřazené systémem pro virtuální počítač s Linuxem získat přihlašovací údaje sdíleného přístupového podpisu úložiště (SAS). konkrétně přihlašovací údaje SAS služby.
Poznámka:
Klíč SAS vygenerovaný v tomto kurzu nebude omezen nebo vázán na virtuální počítač.
Sdílený přístupový podpis (SAS) služby umožňuje omezený přístup k objektům v účtu úložiště bez ohrožení přístupového klíče účtu. Přístup je možné udělit jen na omezenou dobu a pro určitou službu. Při operacích úložiště můžete použít přihlašovací údaje SAS jako obvykle. Například při použití sady SDK služby Storage. V tomto kurzu nahrajete a stáhnete objekt blob pomocí Azure Storage CLI.
Získáte následující informace:
- Vytvoření účtu úložiště
- Vytvoření kontejneru objektů blob v účtu úložiště
- Udělení přístupu k SAS účtu úložiště v Resource Manageru pro virtuální počítač
- Získání přístupového tokenu pomocí identity virtuálního počítače a jeho použití k načtení SAS z Resource Manageru
Vytvoření účtu úložiště
Pokud ho ještě nemáte, budete muset vytvořit účet úložiště. Tento krok můžete přeskočit a udělit spravované identitě přiřazené systémem virtuálního počítače přístup ke klíčům existujícího účtu úložiště.
Vyberte tlačítko +/Vytvořit novou službu umístěné v levém horním rohu webu Azure Portal.
Vyberte Úložiště a pak účet úložiště a pak se zobrazí panel Vytvořit účet úložiště.
Zadejte název účtu úložiště. Tento název si zapamatujte, protože ho budete potřebovat později.
Ujistěte se, že je model nasazení nastavený na Resource Manager a typ účtu je nastavený na Obecné účely.
Ujistěte se, že předplatné a skupina prostředků odpovídají těm, které jste zadali při vytváření virtuálního počítače.
Výběrem možnosti Vytvořit dokončíte vytváření účtu úložiště.
Vytvoření kontejneru objektů blob v účtu úložiště
Později v tomto kurzu nahrajete a stáhnete soubor do nového účtu úložiště. Vzhledem k tomu, že soubory vyžadují úložiště objektů blob, musíte vytvořit kontejner objektů blob, do kterého chcete soubor uložit.
Přejděte na nově vytvořený účet úložiště.
V části Blob Service vyberte odkaz Kontejnery na levém panelu.
V horní části stránky vyberte + Kontejner a zobrazí se panel Nový kontejner .
Zadejte název kontejneru, vyberte úroveň přístupu a pak vyberte OK. Název, který jste zadali později v kurzu, budete potřebovat.
Udělení přístupu k použití SAS úložiště spravované identitě přiřazené systémem virtuálního počítače
Azure Storage nativně podporuje ověřování Microsoft Entra, takže můžete použít spravovanou identitu přiřazenou systémem virtuálního počítače k načtení SAS úložiště z Resource Manageru. Pak můžete použít SAS pro přístup k úložišti.
V této části udělíte spravované identitě přiřazené systémem virtuálního počítače přístup k SAS účtu úložiště. Přiřaďte roli Přispěvatel účtu úložiště spravované identitě v oboru skupiny prostředků, která obsahuje váš účet úložiště.
Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.
Poznámka:
Další informace o různých rolích, které můžete použít k udělení oprávnění ke kontrole oprávnění k autorizaci přístupu k objektům blob a frontám pomocí MICROSOFT Entra ID.
Získání přístupového tokenu pomocí identity virtuálního počítače a jeho použití k volání Azure Resource Manageru
Ve zbývající části tohoto kurzu budete pracovat z virtuálního počítače, který jste vytvořili dříve.
K provedení těchto kroků potřebujete klienta SSH. Pokud používáte Windows, můžete použít klienta SSH v Subsystém Windows pro Linux. Pokud potřebujete pomoc s konfigurací klíčů klienta SSH, přečtěte si téma:
- Jak použít klíče SSH s Windows v Azure
- Vytvoření a použití páru veřejného a privátního klíče SSH pro virtuální počítače s Linuxem v Azure
Jakmile budete mít klienta SSH, postupujte takto:
- Na webu Azure Portal přejděte na Virtuální počítače a pak přejděte na virtuální počítač s Linuxem.
- Na stránce Přehled vyberte Připojit v horní části obrazovky.
- Zkopírujte řetězec pro připojení k vašemu virtuálnímu počítači.
- Použijte klienta SSH a připojte se ke svému virtuálnímu počítači.
- Zadejte heslo, které jste přidali při vytváření virtuálního počítače s Linuxem. Pak byste měli být přihlášeni.
- K získání přístupového tokenu Azure Resource Manageru použijte CURL.
Žádost CURL o přístupový token i odpověď jsou níže:
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fmanagement.azure.com%2F' -H Metadata:true
Poznámka:
V předchozím požadavku musí být hodnota parametru resource
přesnou shodou s tím, co očekává ID Microsoft Entra. Při použití ID prostředku Azure Resource Manageru musí být v identifikátoru URI koncové lomítko.
V následující odpovědi byl prvek access_token zkrácen pro stručnost.
{
"access_token":"eyJ0eXAiOiJ...",
"refresh_token":"",
"expires_in":"3599",
"expires_on":"1504130527",
"not_before":"1504126627",
"resource":"https://management.azure.com",
"token_type":"Bearer"
}
Získání pověření SAS z Azure Resource Manageru kvůli volání úložiště
Dále použijte CURL k volání Resource Manageru pomocí přístupového tokenu, který jsme získali v předchozí části. Použijte k vytvoření přihlašovacích údajů SAS úložiště. Jakmile budete mít přihlašovací údaje SAS, můžete volat operace nahrávání a stahování úložiště.
Pro tento požadavek použijte následující parametry požadavku HTTP k vytvoření přihlašovacích údajů SAS:
{
"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.
}
Zahrňte tyto parametry do textu požadavku POST pro přihlašovací údaje SAS. Další informace o parametrech pro vytvoření pověření SAS najdete v referenčních informacích k REST pro výpis SAS služby.
Pomocí následujícího požadavku CURL získejte pověření SAS. Nezapomeňte nahradit hodnoty parametrů <SUBSCRIPTION ID>
, <RESOURCE GROUP>
, <STORAGE ACCOUNT NAME>
, <CONTAINER NAME>
a <EXPIRATION TIME>
vlastními hodnotami. Hodnotu <ACCESS TOKEN>
nahraďte dříve získaným přístupovým tokenem:
curl https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>/listServiceSas/?api-version=2017-06-01 -X POST -d "{\"canonicalizedResource\":\"/blob/<STORAGE ACCOUNT NAME>/<CONTAINER NAME>\",\"signedResource\":\"c\",\"signedPermission\":\"rcw\",\"signedProtocol\":\"https\",\"signedExpiry\":\"<EXPIRATION TIME>\"}" -H "Authorization: Bearer <ACCESS TOKEN>"
Poznámka:
V textu v předchozí adrese URL se rozlišují malá a velká písmena, proto se ujistěte, že pro skupiny prostředků používáte velká písmena, abyste je odpovídajícím způsobem odráželi. Je také důležité vědět, že se jedná o požadavek POST, ne o požadavek GET.
V odpovědi CURL se vrátí pověření SAS:
{"serviceSasToken":"sv=2015-04-05&sr=c&spr=https&st=2017-09-22T00%3A10%3A00Z&se=2017-09-22T02%3A00%3A00Z&sp=rcw&sig=QcVwljccgWcNMbe9roAJbD8J5oEkYoq%2F0cUPlgriBn0%3D"}
Na virtuálním počítači s Linuxem vytvořte ukázkový soubor objektu blob pro nahrání do kontejneru úložiště objektů blob pomocí následujícího příkazu:
echo "This is a test file." > test.txt
Pak se pomocí přihlašovacích údajů SAS ověřte pomocí příkazu rozhraní příkazového řádku az storage
a pak soubor nahrajte do kontejneru objektů blob. V tomto kroku budete muset na virtuální počítač nainstalovat nejnovější Azure CLI , pokud jste to ještě neudělali.
az storage blob upload --container-name
--file
--name
--account-name
--sas-token
Odpověď:
Finished[#############################################################] 100.0000%
{
"etag": "\"0x8D4F9929765C139\"",
"lastModified": "2017-09-21T03:58:56+00:00"
}
Soubor si můžete stáhnout také pomocí Azure CLI a ověření pomocí přihlašovacích údajů SAS.
Požadavek:
az storage blob download --container-name
--file
--name
--account-name
--sas-token
Odpověď:
{
"content": null,
"metadata": {},
"name": "testblob",
"properties": {
"appendBlobCommittedBlockCount": null,
"blobType": "BlockBlob",
"contentLength": 16,
"contentRange": "bytes 0-15/16",
"contentSettings": {
"cacheControl": null,
"contentDisposition": null,
"contentEncoding": null,
"contentLanguage": null,
"contentMd5": "Aryr///Rb+D8JQ8IytleDA==",
"contentType": "text/plain"
},
"copy": {
"completionTime": null,
"id": null,
"progress": null,
"source": null,
"status": null,
"statusDescription": null
},
"etag": "\"0x8D4F9929765C139\"",
"lastModified": "2017-09-21T03:58:56+00:00",
"lease": {
"duration": null,
"state": "available",
"status": "unlocked"
},
"pageBlobSequenceNumber": null,
"serverEncrypted": false
},
"snapshot": null
}
Použití spravované identity přiřazené systémem na virtuálním počítači s Linuxem pro přístup ke službě Azure Storage prostřednictvím přístupového klíče
V tomto kurzu se dozvíte, jak pomocí spravované identity přiřazené systémem na virtuálním počítači s Linuxem načíst přístupové klíče k účtu úložiště. Při operacích úložiště můžete použít přístupový klíč úložiště jako obvykle; Například při použití sady SDK služby Storage. Pro účely tohoto kurzu nahrajete a stáhnete objekty blob pomocí Azure CLI.
Získáte následující informace:
- Udělit virtuálnímu počítači přístup k přístupovým klíčům účtu úložiště v Resource Manageru.
- Získat přístupový token pomocí identity virtuálního počítače a použít ho k načtení přístupových klíčů k úložišti z Resource Manageru.
Vytvoření účtu úložiště
Pokud ještě před zahájením tohoto kurzu nemáte existující účet úložiště, musíte si ho vytvořit. Pokud máte existující účet úložiště, následujícím postupem udělte spravované identitě přiřazené systémem virtuálního počítače přístup ke klíčům vašeho stávajícího účtu úložiště.
Vyberte tlačítko +/Vytvořit novou službu umístěné v levém horním rohu webu Azure Portal.
Vyberte Úložiště a pak účet úložiště a pak se zobrazí panel Vytvořit účet úložiště.
Zadejte název účtu úložiště. Tento název si zapamatujte, protože ho budete potřebovat později.
Ujistěte se, že je model nasazení nastavený na Resource Manager a typ účtu je nastavený na Obecné účely.
Ujistěte se, že předplatné a skupina prostředků odpovídají těm, které jste zadali při vytváření virtuálního počítače.
Výběrem možnosti Vytvořit dokončíte vytváření účtu úložiště.
Vytvoření kontejneru objektů blob v účtu úložiště
Později v tomto kurzu nahrajete a stáhnete soubor do nového účtu úložiště. Vzhledem k tomu, že soubory vyžadují úložiště objektů blob, musíte vytvořit kontejner objektů blob, do kterého chcete soubor uložit.
Přejděte na nově vytvořený účet úložiště.
V části Blob Service vyberte odkaz Kontejnery na levém panelu.
V horní části stránky vyberte + Kontejner a zobrazí se panel Nový kontejner .
Zadejte název kontejneru, vyberte úroveň přístupu a pak vyberte OK. Název, který jste zadali později v kurzu, budete potřebovat.
Udělení přístupu pro použití přístupových klíčů k účtu úložiště spravované identitě přiřazené systémem na virtuálním počítači
Azure Storage nativně nepodporuje ověřování Microsoft Entra. Spravovanou identitu přiřazenou systémem virtuálního počítače ale můžete použít k načtení SAS úložiště z Resource Manageru a pak použít SAS pro přístup k úložišti. V tomto kroku udělíte spravované identitě přiřazené systémem virtuálního počítače přístup k SAS účtu úložiště. Udělení přístupu přiřazením role Přispěvatel účtu úložiště spravované identitě v oboru skupiny prostředků, která obsahuje váš účet úložiště.
Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.
Poznámka:
Další informace o různých rolích, které můžete použít k udělení oprávnění ke kontrole oprávnění k autorizaci přístupu k objektům blob a frontám pomocí MICROSOFT Entra ID.
Získání přístupového tokenu pomocí identity virtuálního počítače a jeho použití k volání Azure Resource Manageru
Ve zbývající části kurzu pracujeme z virtuálního počítače, který jsme vytvořili dříve.
K dokončení tohoto postupu potřebujete klienta SSH. Pokud používáte Windows, můžete použít klienta SSH v subsystému Windows pro Linux. Pokud potřebujete pomoc při konfiguraci klíčů klienta SSH, přečtěte si, jak na počítači s Windows v Azure používat klíče SSH nebo jak na linuxových virtuálních počítačích v Azure vytvářet a používat pár veřejného a privátního klíče SSH.
Na webu Azure Portal přejděte na Virtuální počítače, vyberte virtuální počítač s Linuxem a pak na stránce Přehled vyberte Připojit v horní části. Zkopírujte řetězec pro připojení k vašemu virtuálnímu počítači.
Použijte klienta SSH a připojte se ke svému virtuálnímu počítači.
Dále musíte zadat heslo, které jste přidali při vytváření virtuálního počítače s Linuxem.
K získání přístupového tokenu Azure Resource Manageru použijte CURL.
Žádost CURL o přístupový token i odpověď jsou níže:
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fmanagement.azure.com%2F' -H Metadata:true
Poznámka:
V předchozím požadavku musí být hodnota parametru "resource" přesnou shodou s tím, co očekává ID Microsoft Entra. Při použití ID prostředku Azure Resource Manageru musí být v identifikátoru URI koncové lomítko. V následující odpovědi byl kvůli stručnosti prvek access_token zkrácen.
{ "access_token": "eyJ0eXAiOiJ...", "refresh_token": "", "expires_in": "3599", "expires_on": "1504130527", "not_before": "1504126627", "resource": "https://management.azure.com", "token_type": "Bearer" }
Získání přístupových klíčů k účtu úložiště z Azure Resource Manageru kvůli volání úložiště
Teď použijte CURL k volání Resource Manageru. Použijte přístupový token, který jste načetli v předchozí části, a načtěte přístupový klíč k úložišti. Jakmile máte přístupový klíč k úložišti, můžete volat operace nahrávání do úložiště nebo stahování z úložiště. Nezapomeňte nahradit hodnoty parametrů <SUBSCRIPTION ID>
, <RESOURCE GROUP>
a <STORAGE ACCOUNT NAME>
vlastními hodnotami. Hodnotu <ACCESS TOKEN>
nahraďte dříve získaným přístupovým tokenem:
curl https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>/listKeys?api-version=2016-12-01 --request POST -d "" -H "Authorization: Bearer <ACCESS TOKEN>"
Poznámka:
V textu předchozí adresy URL se rozlišují velká a malá písmena. Proto zkontrolujte, že jste je u svých skupin prostředků zadali správně. Je také důležité vědět, že se jedná o požadavek POST, a nikoli o požadavek GET. Ujistěte se, že parametrem -d předáte hodnotu, která zachycuje limit délky. Tato hodnota může být NULL.
V odpovědi CURL získáte seznam klíčů:
{"keys":[{"keyName":"key1","permissions":"Full","value":"iqDPNt..."},{"keyName":"key2","permissions":"Full","value":"U+uI0B..."}]}
Vytvořte ukázkový soubor objektu blob, který nahrajete do kontejneru úložiště objektů blob. Na virtuálním počítači s Linuxem to můžete provést pomocí následujícího příkazu.
echo "This is a test file." > test.txt
Potom použijte k ověření příkaz az storage
rozhraní CLI a přístupový klíč k úložišti a nahrajte soubor do kontejneru objektů blob. V tomto kroku musíte na virtuální počítač nainstalovat nejnovější Azure CLI , pokud jste to ještě neudělali.
az storage blob upload -c <CONTAINER NAME> -n test.txt -f test.txt --account-name <STORAGE ACCOUNT NAME> --account-key <STORAGE ACCOUNT KEY>
Odpověď:
Finished[#############################################################] 100.0000%
{
"etag": "\"0x8D4F9929765C139\"",
"lastModified": "2017-09-12T03:58:56+00:00"
}
Ke stažení souboru také můžete použít Azure CLI a k ověření přístupový klíč k úložišti.
Požadavek:
az storage blob download -c <CONTAINER NAME> -n test.txt -f test-download.txt --account-name <STORAGE ACCOUNT NAME> --account-key <STORAGE ACCOUNT KEY>
Odpověď:
{
"content": null,
"metadata": {},
"name": "test.txt",
"properties": {
"appendBlobCommittedBlockCount": null,
"blobType": "BlockBlob",
"contentLength": 21,
"contentRange": "bytes 0-20/21",
"contentSettings": {
"cacheControl": null,
"contentDisposition": null,
"contentEncoding": null,
"contentLanguage": null,
"contentMd5": "LSghAvpnElYyfUdn7CO8aw==",
"contentType": "text/plain"
},
"copy": {
"completionTime": null,
"id": null,
"progress": null,
"source": null,
"status": null,
"statusDescription": null
},
"etag": "\"0x8D5067F30D0C283\"",
"lastModified": "2017-09-28T14:42:49+00:00",
"lease": {
"duration": null,
"state": "available",
"status": "unlocked"
},
"pageBlobSequenceNumber": null,
"serverEncrypted": false
},
"snapshot": null
}
Použití spravované identity přiřazené systémem na virtuálním počítači s Linuxem pro přístup k Azure Key Vaultu
V tomto kurzu se dozvíte, jak může virtuální počítač s Linuxem používat spravovanou identitu přiřazenou systémem pro přístup ke službě Azure Key Vault. Key Vault umožňuje klientské aplikaci použít tajný kód pro přístup k prostředkům, které nejsou zabezpečené pomocí ID Microsoft Entra. Identity spravované služby se automaticky spravují v Azure a umožňují ověřování ve službách, které podporují ověřování Microsoft Entra, bez zahrnutí ověřovacích informací do kódu.
Získáte následující informace:
- Udělení přístupu virtuálnímu počítači k tajnému kódu uloženému ve službě Key Vault
- Získání přístupového tokenu pomocí identity virtuálního počítače a jeho použití k načtení tajného kódu ze služby Key Vault
Vytvoření služby Key Vault
Potřebujete také virtuální počítač s Linuxem, který má povolené spravované identity přiřazené systémem.
- Pokud potřebujete vytvořit virtuální počítač pro účely tohoto kurzu, můžete postupovat podle článku s názvem Vytvoření virtuálního počítače s Linuxem pomocí webu Azure Portal.
Tip
Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.
V této části se dozvíte, jak virtuálnímu počítači udělit přístup k tajnému kódu uloženému ve službě Key Vault. Pomocí spravovaných identit pro prostředky Azure může váš kód získat přístupové tokeny pro ověřování prostředků, které podporují ověřování Microsoft Entra.
Ne všechny služby Azure však podporují ověřování Microsoft Entra. Pokud chcete používat spravované identity pro prostředky Azure s těmito službami, uložte přihlašovací údaje služby do Azure Key Vaultu a použijte spravovanou identitu virtuálního počítače k získání přístupu ke Key Vaultu, abyste načetli přihlašovací údaje.
Nejprve musíte vytvořit službu Key Vault a udělit spravované identitě přiřazené systémem virtuálního počítače přístup ke službě Key Vault.
Přihlaste se k portálu Azure.
V horní části levého navigačního panelu vyberte Vytvořit prostředek.
Do pole Hledat na Marketplace zadejte Key Vault a stiskněte Enter.
Ve výsledcích vyberte Key Vault .
Vyberte Vytvořit.
Zadejte název nového trezoru klíčů.
Vyplňte všechny požadované informace a ujistěte se, že jste zvolili předplatné a skupinu prostředků, ve které jste vytvořili virtuální počítač, který používáte pro účely tohoto kurzu.
Vyberte Zkontrolovat a vytvořit a pak vyberte Vytvořit.
Vytvoření tajného kódu
Dále musíte do služby Key Vault přidat tajný kód, abyste ho mohli později načíst pomocí kódu spuštěného na virtuálním počítači. V této části použijete PowerShell. Stejné koncepty se ale vztahují na jakýkoli kód spuštěný v tomto virtuálním počítači.
Přejděte do nově vytvořené služby Key Vault.
Vyberte Tajné kódy a pak vyberte Přidat.
Vyberte Generovat/importovat.
V části Vytvořit tajný kód přejděte na Možnosti nahrání a ujistěte se, že je vybraná možnost Ruční.
Zadejte název a hodnotu tajného kódu. Může jít o libovolnou hodnotu.
Nechejte datum aktivace a datum vypršení platnosti nezaškrtnuto a ujistěte se, že je Povoleno nastaveno na Ano.
Vyberte Vytvořit a vytvořte tajný kód.
Udělení přístupu
Spravovaná identita používaná virtuálním počítačem potřebuje přístup ke čtení tajného kódu uloženého ve službě Key Vault.
Přejděte do nově vytvořené služby Key Vault.
V levém navigačním panelu vyberte Zásady přístupu.
Vyberte Přidat zásady přístupu.
V části Přidat zásadu přístupu v části Konfigurovat ze šablony (volitelné) zvolte v rozevírací nabídce správa tajných kódů.
Zvolte Vybrat objekt zabezpečení a potom do vyhledávacího pole zadejte název virtuálního počítače, který jste vytvořili dříve. V seznamu výsledků vyberte virtuální počítač a pak vyberte.
Vyberte přidat.
Zvolte Uložit.
Přístup k datům
K dokončení tohoto postupu potřebujete klienta SSH. Pokud používáte Windows, můžete použít klienta SSH v subsystému Windows pro Linux. Pokud potřebujete pomoc při konfiguraci klíčů klienta SSH, přečtěte si, jak na počítači s Windows v Azure používat klíče SSH nebo jak na linuxových virtuálních počítačích v Azure vytvářet a používat pár veřejného a privátního klíče SSH.
Důležité
Všechny sady Azure SDK podporují knihovnu Azure.Identity, která usnadňuje získání tokenů Microsoft Entra pro přístup k cílovým službám. Přečtěte si další informace o sadách Azure SDK a přístupu ke knihovně Azure.Identity.
- Na portálu přejděte na virtuální počítač s Linuxem a v přehledu vyberte Připojit.
- Připojte se vybraným klientem SSH k virtuálnímu počítači.
- V okně terminálu pomocí cURL vytvořte požadavek na místní spravované identity pro koncový bod prostředků Azure, abyste získali přístupový token pro Azure Key Vault. Žádost CURL o přístupový token je níže.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -H Metadata:true
```
The response includes the access token you need to access Resource Manager.
Response:
```bash
{"access_token":"eyJ0eXAi...",
"refresh_token":"",
"expires_in":"3599",
"expires_on":"1504130527",
"not_before":"1504126627",
"resource":"https://vault.azure.net",
"token_type":"Bearer"}
Tento přístupový token můžete použít k ověření přístupu do služby Azure Key Vault. V další žádosti CURL je vidět, jak přečíst tajný kód z Key Vault pomocí CURL a rozhraní REST API služby Key Vault. Potřebujete adresu URL služby Key Vault, která je v části Základy na stránce Přehled služby Key Vault. Potřebujete také přístupový token, který jste získali při předchozím volání.
curl 'https://<YOUR-KEY-VAULT-URL>/secrets/<secret-name>?api-version=2016-10-01' -H "Authorization: Bearer <ACCESS TOKEN>"
Odpověď vypadá takto:
{"value":"p@ssw0rd!","id":"https://mytestkeyvault.vault.azure.net/secrets/MyTestSecret/7c2204c6093c4d859bc5b9eff8f29050","attributes":{"enabled":true,"created":1505088747,"updated":1505088747,"recoveryLevel":"Purgeable"}}
Po načtení tajného kódu ze služby Key Vault ho můžete použít k ověření ve službě, která vyžaduje jméno a heslo.
Vyčištění prostředků
Až budete připraveni vyčistit prostředky, přihlaste se k webu Azure Portal, vyberte skupiny prostředků a pak vyhledejte a vyberte skupinu prostředků, kterou jste vytvořili v procesu tohoto kurzu, například mi-test
. Můžete použít příkaz Odstranit skupinu prostředků nebo powershell nebo rozhraní příkazového řádku.
Použití spravované identity přiřazené systémem na virtuálním počítači s Linuxem pro přístup ke skupině prostředků v Resource Manageru
Tip
Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.
Tento kurz vysvětluje, jak vytvořit identitu přiřazenou systémem, přiřadit ji k virtuálnímu počítači s Linuxem a pak tuto identitu použít pro přístup k rozhraní API Azure Resource Manageru. Identity spravovaných služeb se spravují automaticky v Azure. Umožňují ověřování pro služby, které podporují ověřování Microsoft Entra, aniž by museli vkládat přihlašovací údaje do kódu.
Získáte informace pro:
- Udělte virtuálnímu počítači přístup k Azure Resource Manageru.
- Získejte přístupový token pomocí spravované identity přiřazené systémem virtuálního počítače pro přístup k Resource Manageru.
Přihlaste se k webu Azure Portal pomocí účtu správce.
Přejděte na kartu Skupiny prostředků.
Vyberte skupinu prostředků, ke které chcete udělit přístup spravované identity virtuálního počítače.
Na levém panelu vyberte Řízení přístupu (IAM).
Vyberte Přidat a pak vyberte Přidat přiřazení role.
Na kartě Role vyberte Čtenář. Tato role umožňuje zobrazit všechny prostředky, ale neumožňuje provádět žádné změny.
Na kartě Členové v možnosti Přiřadit přístup vyberte Spravovaná identita a pak vyberte + Vybrat členy.
Ujistěte se, že je v rozevíracím seznamu Předplatné uvedené správné předplatné. V případě skupiny prostředků vyberte Všechny skupiny prostředků.
V rozevíracím seznamu Spravovat identitu vyberte Virtuální počítač.
V možnosti Vybrat zvolte virtuální počítač v rozevíracím seznamu a pak vyberte Uložit.
Získání přístupového tokenu
Použijte spravovanou identitu přiřazenou systémem virtuálního počítače a pomocí správce prostředků získejte přístupový token.
K dokončení tohoto postupu potřebujete klienta SSH. Pokud používáte Windows, můžete použít klienta SSH v Subsystém Windows pro Linux. Pokud potřebujete pomoc při konfiguraci klíčů klienta SSH, přečtěte si, jak na počítači s Windows v Azure používat klíče SSH nebo jak na linuxových virtuálních počítačích v Azure vytvářet a používat pár veřejného a privátního klíče SSH.
- Na webu Azure Portal přejděte na virtuální počítač s Linuxem.
- V přehledu vyberte Připojit.
- Připojte se vybraným klientem SSH k virtuálnímu počítači.
- V okně terminálu pomocí nástroje
curl
< a0/> vytvořte požadavek na místní spravované identity pro koncový bod prostředků Azure, abyste získali přístupový token pro Azure Resource Manager. Požadavekcurl
na přístupový token je uvedený níže.
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/' -H Metadata:true
Poznámka:
Hodnota parametru resource
musí být přesná shoda s tím, co očekává ID Microsoft Entra. V případě ID prostředku Resource Manageru musíte do identifikátoru URI zahrnout koncové lomítko.
Odpověď zahrnuje přístupový token, který potřebujete pro přístup k Azure Resource Manageru.
Odpověď:
{
"access_token":"eyJ0eXAiOi...",
"refresh_token":"",
"expires_in":"3599",
"expires_on":"1504130527",
"not_before":"1504126627",
"resource":"https://management.azure.com",
"token_type":"Bearer"
}
Tento přístupový token použijte pro přístup k Azure Resource Manageru. Pokud chcete například přečíst podrobnosti o skupině prostředků, ke které jste dříve udělili přístup k tomuto virtuálnímu počítači. Nahraďte hodnoty , <SUBSCRIPTION-ID>
a <ACCESS-TOKEN>
nahraďte hodnotami, <RESOURCE-GROUP>
které jste vytvořili dříve.
Poznámka:
V adrese URL se rozlišují malá a velká písmena, proto se ujistěte, že používáte přesný případ, který jste použili dříve při pojmenování skupiny prostředků, a velká písmena "G" v resourceGroup
.
curl https://management.azure.com/subscriptions/<SUBSCRIPTION-ID>/resourceGroups/<RESOURCE-GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS-TOKEN>"
Odpověď zpět s konkrétními informacemi o skupině prostředků:
{
"id":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DevTest",
"name":"DevTest",
"location":"westus",
"properties":
{
"provisioningState":"Succeeded"
}
}
Použití spravované identity přiřazené uživatelem virtuálního počítače s Linuxem pro přístup ke skupině prostředků v Resource Manageru
Tip
Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.
Tento kurz vysvětluje, jak vytvořit identitu přiřazenou uživatelem, přiřadit ji k virtuálnímu počítači s Linuxem a pak tuto identitu použít pro přístup k rozhraní API Azure Resource Manageru. Identity spravovaných služeb se spravují automaticky v Azure. Umožňují ověřování pro služby, které podporují ověřování Microsoft Entra, aniž by museli vkládat přihlašovací údaje do kódu.
Získáte následující informace:
- Udělte virtuálnímu počítači přístup k Azure Resource Manageru.
- Získejte přístupový token pomocí spravované identity přiřazené systémem virtuálního počítače pro přístup k Resource Manageru.
Vytvořte spravovanou identitu přiřazenou uživatelem pomocí příkazu az identity create. Parametr -g
určuje skupinu prostředků, ve které se spravovaná identita přiřazená uživatelem vytvoří, a parametr -n
určuje její název. Nezapomeňte nahradit hodnoty parametrů <RESOURCE GROUP>
a <UAMI NAME>
vlastními hodnotami:
Důležité
Při vytváření spravovaných identit přiřazených uživatelem musí název začínat písmenem nebo číslem a může obsahovat kombinaci alfanumerických znaků, pomlček (-) a podtržítka (_). Aby přiřazení k virtuálnímu počítači nebo škálovací sadě virtuálních počítačů fungovalo správně, je název omezen na 24 znaků. Další informace najdete v tématu Nejčastější dotazy a známé problémy.
az identity create -g <RESOURCE GROUP> -n <UAMI NAME>
Odpověď bude obsahovat podrobnosti o vytvořené spravované identitě přiřazené uživatelem podobně jako v následujícím příkladu. Poznamenejte si hodnotu id
pro vaši spravovanou identitu přiřazenou uživatelem, protože ji použijete v dalším kroku:
{
"clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<UAMI NAME>/credentials?tid=5678&oid=9012&aid=aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<UAMI NAME>",
"location": "westcentralus",
"name": "<UAMI NAME>",
"principalId": "9012",
"resourceGroup": "<RESOURCE GROUP>",
"tags": {},
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "Microsoft.ManagedIdentity/userAssignedIdentities"
}
Přiřazení identity k virtuálnímu počítači s Linuxem
Klienti můžou spravovanou identitu přiřazenou uživatelem používat pro několik prostředků Azure. Pomocí následujících příkazů přiřaďte spravovanou identitu přiřazenou uživatelem k jednomu virtuálnímu počítači. Jako hodnotu parametru -IdentityID
použijte vlastnost Id
vrácenou v předchozím kroku.
Přiřaďte spravovanou identitu přiřazenou uživatelem k virtuálnímu počítači s Linuxem pomocí příkazu az vm identity assign. Nezapomeňte nahradit hodnoty parametrů <RESOURCE GROUP>
a <VM NAME>
vlastními hodnotami. Jako hodnotu parametru --identities
použijte vlastnost id
vrácenou v předchozím kroku.
az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<UAMI NAME>"
Udělení přístupu ke skupině prostředků v Azure Resource Manageru
Spravované identity jsou identity, které váš kód může použít k vyžádání přístupových tokenů k ověření v rozhraních API prostředků, která podporují ověřování Microsoft Entra. V tomto kurzu budete v kódu přistupovat k rozhraní API Azure Resource Manageru.
Než bude mít kód přístup k rozhraní API, je potřeba udělit identitě přístup k prostředku v Azure Resource Manageru. V tomto případě skupina prostředků, ve které je virtuální počítač obsažen. Aktualizujte hodnoty <SUBSCRIPTION ID>
a <RESOURCE GROUP>
odpovídajícím způsobem pro vaše prostředí. Kromě toho nahraďte <UAMI PRINCIPALID>
vlastností principalId
vrácenou příkazem az identity create
v části Vytvoření spravované identity přiřazené uživatelem:
az role assignment create --assignee <UAMI PRINCIPALID> --role 'Reader' --scope "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP> "
Odpověď bude obsahovat podrobnosti o vytvořeném přiřazení role podobně jako v následujícím příkladu:
{
"id": "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"properties": {
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"roleDefinitionId": "/subscriptions/<SUBSCRIPTION ID>/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
"scope": "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>"
},
"resourceGroup": "<RESOURCE GROUP>",
"type": "Microsoft.Authorization/roleAssignments"
}
Získání přístupového tokenu pomocí identity virtuálního počítače a jeho použití k volání Resource Manageru
Tip
Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.
Ve zbývající části kurzu budete pracovat z virtuálního počítače, který jste vytvořili dříve.
K dokončení tohoto postupu potřebujete klienta SSH. Pokud používáte Windows, můžete použít klienta SSH v subsystému Windows pro Linux.
Přihlaste se k portálu Azure.
Na portálu přejděte na Virtuální počítače, přejděte ke svému virtuálnímu počítači s Linuxem a v části Přehled klikněte na Připojit. Zkopírujte řetězec pro připojení k vašemu virtuálnímu počítači.
Připojte se vybraným klientem SSH k virtuálnímu počítači. Pokud používáte Windows, můžete použít klienta SSH v subsystému Windows pro Linux. Pokud potřebujete pomoc při konfiguraci klíčů klienta SSH, přečtěte si, jak na počítači s Windows v Azure používat klíče SSH nebo jak na linuxových virtuálních počítačích v Azure vytvářet a používat pár veřejného a privátního klíče SSH.
V okně terminálu pomocí nástroje CURL vytvořte požadavek na koncový bod identity služby Azure Instance Metadata Service (IMDS), abyste získali přístupový token pro Azure Resource Manager.
Požadavek CURL pro získání přístupového tokenu je znázorněný v následujícím příkladu. Nezapomeňte nahradit
<CLIENT ID>
vlastnostíclientId
vrácenou příkazemaz identity create
v části Vytvoření spravované identity přiřazené uživatelem:curl -H Metadata:true "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fmanagement.azure.com/&client_id=<UAMI CLIENT ID>"
Poznámka:
Hodnota parametru
resource
musí být přesná shoda s tím, co očekává ID Microsoft Entra. Pokud použijete ID prostředku Resource Manageru, musíte v identifikátoru URI zahrnout koncové lomítko.V odpovědi je přístupový token, který potřebujete pro přístup k Azure Resource Manageru.
Příklad odpovědi:
{ "access_token":"eyJ0eXAiOi...", "refresh_token":"", "expires_in":"3599", "expires_on":"1504130527", "not_before":"1504126627", "resource":"https://management.azure.com", "token_type":"Bearer" }
Použijte přístupový token pro přístup k Azure Resource Manageru a přečtěte si vlastnosti skupiny prostředků, ke které jste dříve udělili přístup spravované identity přiřazené uživatelem. Nezapomeňte nahradit
<SUBSCRIPTION ID>
a<RESOURCE GROUP>
hodnotami, které jste zadali dříve, a<ACCESS TOKEN>
tokenem vráceným v předchozím kroku.Poznámka:
V adrese URL se rozlišují malá a velká písmena, proto nezapomeňte použít stejný případ, který jste použili dříve při pojmenování skupiny prostředků, a velká písmena "G" v
resourceGroups
.curl https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>?api-version=2016-09-01 -H "Authorization: Bearer <ACCESS TOKEN>"
Odpověď obsahuje konkrétní informace o skupině prostředků, podobně jako v následujícím příkladu:
{ "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/DevTest", "name":"DevTest", "location":"westus", "properties":{"provisioningState":"Succeeded"} }