Hantering av Managed HSM-roller
Kommentar
Key Vault stöder 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.
Den här artikeln visar hur du hanterar roller för ett hanterat HSM-dataplan. Mer information om hanterad HSM-åtkomstkontrollmodell finns i Hanterad HSM-åtkomstkontroll.
Om du vill tillåta att ett säkerhetsobjekt (till exempel en användare, ett huvudnamn för tjänsten, en grupp eller en hanterad identitet) utför hanterade HSM-dataplansåtgärder måste de tilldelas en roll som tillåter att åtgärderna utförs. Om du till exempel vill tillåta att ett program utför en signeringsåtgärd med hjälp av en nyckel, måste det tilldelas en roll som innehåller "Microsoft.KeyVault/managedHSM/keys/sign/action" som en av dataåtgärderna. En roll kan tilldelas i ett specifikt omfång. Managed HSM local RBAC stöder två omfång, HSM-wide (/
eller /keys
) och per nyckel (/keys/<keyname>
).
En lista över alla inbyggda roller i Managed HSM och de åtgärder som de tillåter finns i Inbyggda roller för Managed HSM.
Förutsättningar
Om du vill använda Azure CLI-kommandona 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
Skapa en ny rolltilldelning
Tilldela roller för alla nycklar
Använd az keyvault role assignment create
kommandot för att tilldela en hanterad HSM Crypto User-roll till användare som identifieras med användarens huvudnamn user2@contoso.com för alla nycklar (omfång /keys
) i ContosoHSM.
az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com --scope /keys
Tilldela roll för en specifik nyckel
Använd az keyvault role assignment create
kommandot för att tilldela en hanterad HSM Crypto User-roll till användare som identifieras med användarens huvudnamn user2@contoso.com för en specifik nyckel med namnet myrsakey.
az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com --scope /keys/myrsakey
Visa en lista över befintliga rolltilldelningar
Använd az keyvault role assignment list
för att lista rolltilldelningar.
Alla rolltilldelningar i omfång/ (standard när inget --scope har angetts) för alla användare (standard när ingen --assignee har angetts)
az keyvault role assignment list --hsm-name ContosoMHSM
Alla rolltilldelningar på HSM-nivå för en specifik användare user1@contoso.com.
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user@contoso.com
Kommentar
När omfånget är/ (eller /keys) visar listkommandot endast alla rolltilldelningar på den översta nivån och visar inte rolltilldelningar på enskild nyckelnivå.
Alla rolltilldelningar för en specifik användare user2@contoso.com för en specifik nyckel myrsakey.
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey
En specifik rolltilldelning för rollen Hanterad HSM Crypto Officer för en specifik användare user2@contoso.com för en specifik nyckel myrsakey
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey --role "Managed HSM Crypto Officer"
Ta bort en rolltilldelning
Använd az keyvault role assignment delete
kommandot för att ta bort en hanterad HSM Crypto Officer-roll som tilldelats användaren user2@contoso.com för nyckel myrsakey2.
az keyvault role assignment delete --hsm-name ContosoMHSM --role "Managed HSM Crypto Officer" --assignee user2@contoso.com --scope /keys/myrsakey2
Visa en lista över alla tillgängliga rolldefinitioner
Använd az keyvault role definition list
kommandot för att lista alla rolldefinitioner.
az keyvault role definition list --hsm-name ContosoMHSM
Skapa en ny rolldefinition
Managed HSM har flera inbyggda (fördefinierade) roller som är användbara för de vanligaste användningsscenarierna. Du kan definiera din egen roll med en lista över specifika åtgärder som rollen tillåts utföra. Sedan kan du tilldela den här rollen till huvudnamn för att ge dem behörighet till de angivna åtgärderna.
Använd az keyvault role definition create
kommandot till en roll med namnet Min anpassade roll med hjälp av en JSON-sträng.
az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
"roleName": "My Custom Role",
"description": "The description of the custom rule.",
"actions": [],
"notActions": [],
"dataActions": [
"Microsoft.KeyVault/managedHsm/keys/read/action"
],
"notDataActions": []
}'
Använd az keyvault role definition create
kommandot till en roll från en fil med namnet my-custom-role-definition.json som innehåller JSON-strängen för en rolldefinition. Se exemplet ovan.
az keyvault role definition create --hsm-name ContosoMHSM --role-definition @my-custom-role-definition.json
Visa information om en rolldefinition
Använd az keyvault role definition show
kommandot för att se information om en specifik rolldefinition med hjälp av namnet (ett GUID).
az keyvault role definition show --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Uppdatera en anpassad rolldefinition
Använd az keyvault role definition update
kommandot för att uppdatera en roll med namnet Min anpassade roll med hjälp av en JSON-sträng.
az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
"roleName": "My Custom Role",
"name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/xxxxxxxx-
xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"description": "The description of the custom rule.",
"actions": [],
"notActions": [],
"dataActions": [
"Microsoft.KeyVault/managedHsm/keys/read/action",
"Microsoft.KeyVault/managedHsm/keys/write/action",
"Microsoft.KeyVault/managedHsm/keys/backup/action",
"Microsoft.KeyVault/managedHsm/keys/create"
],
"notDataActions": []
}'
Ta bort anpassad rolldefinition
Använd az keyvault role definition delete
kommandot för att se information om en specifik rolldefinition med hjälp av namnet (ett GUID).
az keyvault role definition delete --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Kommentar
Inbyggda roller kan inte tas bort. När anpassade roller tas bort blir alla rolltilldelningar som använder den anpassade rollen nedlagda.
Nästa steg
- Se en översikt över rollbaserad åtkomstkontroll i Azure (Azure RBAC).
- Se en självstudie om hanterad HSM-rollhantering
- Läs mer om hanterad HSM-åtkomstkontrollmodell
- Se alla inbyggda roller för managed HSM local RBAC