Hantera en hanterad HSM med hjälp av Azure CLI

Kommentar

Key Vault har stöd för två typer av resurser: valv och hanterade HSM:er. Den här artikeln handlar om Managed HSM. Om du vill lära dig hur du hanterar ett valv kan du läsa Hantera Key Vault med hjälp av Azure CLI.

En översikt över Managed HSM finns i Vad är Hanterad HSM?

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Förutsättningar

För att slutföra stegen i den här artikeln måste du ha följande:

Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Button to launch Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Screenshot that shows the Cloud Shell button in the Azure portal

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

Logga in på Azure

Du kan logga in i Azure via CLI genom att skriva:

az login

Mer information om inloggningsalternativ via CLI finns i logga in med Azure CLI

Kommentar

Alla kommandon nedan visar två användningsmetoder. En som använder parametrarna --hsm-name och --name (för nyckelnamn) och en annan med parametern --id där du kan ange hela URL:en inklusive nyckelnamnet där det är lämpligt. Den senare metoden är användbar när anroparen (en användare eller ett program) inte har läsåtkomst på kontrollplanet och endast begränsad åtkomst på dataplanet.

Kommentar

Vissa interaktioner med nyckelmaterial kräver specifika lokala RBAC-behörigheter. En fullständig lista över inbyggda lokala RBAC-roller och -behörigheter finns i Inbyggda roller för managed HSM local RBAC. Information om hur du tilldelar dessa behörigheter till en användare finns i Säker åtkomst till dina hanterade HSM:er

Skapa en HSM-nyckel

Kommentar

Det går inte att exportera nyckeln som genereras eller importeras till Managed HSM. Se rekommenderade metodtips för viktig portabilitet och hållbarhet.

Använd az keyvault key create kommandot för att skapa en nyckel.

Skapa en RSA-nyckel

Exemplet nedan visar hur du skapar en 3072-bitars RSA-nyckel som endast ska användas för wrapKey- och unwrapKey-åtgärder (--ops).

az keyvault key create --hsm-name ContosoMHSM --name myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072

## OR
# Note the key name (myrsakey) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072

Observera att åtgärden get endast returnerar de offentliga nyckel- och nyckelattributen. Den returnerar inte den privata nyckeln (om det gäller asymmetrisk nyckel eller nyckelmaterialet (om det gäller symmetrisk nyckel).

Skapa en EC-nyckel

Exemplet nedan visar hur du skapar en EC-nyckel med P-256-kurva som endast används för att signera och verifiera åtgärder (--ops) och har två taggar, användning och appnamn. Taggar hjälper dig att lägga till ytterligare metadata till nyckeln för spårning och hantering.

az keyvault key create --hsm-name ContosoMHSM --name myec256key --ops sign verify  --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256

## OR
# Note the key name (myec256key) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myec256key --ops sign verify  --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256

Skapa en 256-bitars symmetrisk nyckel

Exemplet nedan visar hur du skapar en 256-bitars symmetrisk nyckel som endast ska användas för krypterings- och dekrypteringsåtgärder (--ops).

az keyvault key create --hsm-name ContosoMHSM --name myaeskey --ops encrypt decrypt  --tags --kty oct-HSM --size 256

## OR
# Note the key name (myaeskey) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt  --tags ‘usage=signing] appname=myapp’ --kty oct-HSM --size 256

Visa nyckelattribut och taggar

Använd az keyvault key show kommandot för att visa attribut, versioner och taggar för en nyckel.

az keyvault key show --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key show --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey

Visa en lista med nycklar

Använd az keyvault key list kommandot för att visa alla nycklar i en hanterad HSM.

az keyvault key list --hsm-name ContosoHSM

## OR
# use full URI

az keyvault key list --id https://ContosoMHSM.managedhsm.azure.net/

Ta bort en nyckel

Använd az keyvault key delete kommandot för att ta bort en nyckel från en hanterad HSM. Observera att mjuk borttagning alltid är aktiverat. Därför förblir en borttagen nyckel i borttaget tillstånd och kan återställas tills antalet kvarhållningsdagar har passerat när nyckeln rensas (tas bort permanent) utan någon återställning möjlig.

az keyvault key delete --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key delete --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey

Lista borttagna nycklar

Använd az keyvault key list-deleted kommandot för att visa alla nycklar i borttaget tillstånd i din hanterade HSM.

az keyvault key list-deleted --hsm-name ContosoHSM

## OR
# use full URI

az keyvault key list-deleted --id https://ContosoMHSM.managedhsm.azure.net/

Återställa (ångra borttagning) en borttagen nyckel

Använd az keyvault key list-deleted kommandot för att visa alla nycklar i borttaget tillstånd i din hanterade HSM. Om du behöver återställa (ta bort) en nyckel med parametern --id när du återställer en borttagen recoveryId nyckel måste du notera värdet för den borttagna nyckeln som hämtas från az keyvault key list-deleted kommandot.

az keyvault key recover --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey

Rensa (ta bort permanent) en nyckel

Använd az keyvault key purge kommandot för att rensa (ta bort permanent) en nyckel.

Kommentar

Om den hanterade HSM:en har rensningsskydd aktiverat tillåts inte rensningsåtgärden. Nyckeln rensas automatiskt när kvarhållningsperioden har passerat.

az keyvault key purge --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key purge --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey

Skapa en säkerhetskopia med en enda nyckel

Använd az keyvault key backup för att skapa en nyckelsäkerhetskopia. Säkerhetskopieringsfilen är en krypterad blob som kryptografiskt är kopplad till säkerhetsdomänen för källans HSM. Det kan bara återställas i HSM:er som delar samma säkerhetsdomän. Läs mer om säkerhetsdomän.

az keyvault key backup --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup

## OR
# Note the key name (myaeskey) in the URI

az keyvault key backup --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey  --file myrsakey.backup

Återställa en enda nyckel från en säkerhetskopia

Använd az keyvault key restore för att återställa en enda nyckel. Den HSM-källa där säkerhetskopian skapades måste dela samma säkerhetsdomän som mål-HSM där nyckeln återställs.

Kommentar

Återställningen lyckas inte om en nyckel med samma namn finns i aktivt eller borttaget tillstånd.

az keyvault key restore --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup

## OR
# Note the key name (myaeskey) in the URI

az keyvault key restore --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup

Importera en nyckel från en fil

Använd az keyvault key import kommandot för att importera en nyckel (endast RSA och EC) från en fil. Certifikatfilen måste ha en privat nyckel och måste använda PEM-kodning (enligt definitionen i RFCs 1421, 1422, 1423, 1424).

az keyvault key import --hsm-name ContosoHSM --name myrsakey --pem-file mycert.key --password 'mypassword'

## OR
# Note the key name (myaeskey) in the URI

az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --pem-file mycert.key --password 'mypassword'

Information om hur du importerar en nyckel från din lokala HSM till hanterad HSM finns i Importera HSM-skyddade nycklar till Managed HSM (BYOK)

Nästa steg