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:

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

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