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:
- En prenumeration till Microsoft Azure. Om du inte har ett konto kan du registrera dig för en kostnadsfri utvärderingsversion.
- Azure CLI version 2.25.0 eller senare. Kör
az --version
för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa informationen i Installera Azure CLI. - En hanterad HSM i din prenumeration. Se Snabbstart: Etablera och aktivera en hanterad HSM med Azure CLI för att etablera och aktivera en hanterad HSM.
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. | |
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. | |
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. |
Så här använder du Azure Cloud Shell:
Starta Cloud Shell.
Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.
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.
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 --pem-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
- Fullständig Azure CLI-referens för key vault-kommandon finns i Key Vault CLI-referens.
- Programmeringsreferenser finns i utvecklarhandboken för Azure Key Vault
- Läs mer om hanterad HSM-rollhantering
- Läs mer om metodtips för Managed HSM