Hantering av Managed HSM-roller

Anteckning

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 kan du skapa 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 managed HSM-åtkomstkontrollmodellen finns i Hanterad HSM-åtkomstkontroll.

För att ett säkerhetsobjekt (till exempel en användare, ett huvudnamn för tjänsten, en grupp eller en hanterad identitet) ska kunna utföra hanterade HSM-dataplansåtgärder måste de tilldelas en roll som tillåter att dessa åtgärder utförs. Om du till exempel vill tillåta att ett program utför en teckenå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. Hanterad HSM lokal RBAC stöder två omfång, HSM-bred ( / eller ) och per nyckel ( /keys /keys/<keyname> ).

En lista över alla inbyggda roller för 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:

Använda 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 av ett kodblock. Om du väljer Prova kopieras koden inte automatiskt till Cloud Shell. Exempel på Prova för 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. Starta Cloud Shell i ett nytt fönster
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Cloud Shell-knappen i Azure Portal

Så här kör du koden i den här artikeln i Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Kopiera koden genom att klicka på knappen Kopiera på ett kodblock.

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

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

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 kommandot för att tilldela en az keyvault role assignment create hanterad HSM Crypto Officer-roll till användare som identifieras av användarens huvudnamn user2 @ contoso.com för alla nycklar (omfång ) i /keys ContosoHSM.

az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto Officer" --assignee user2@contoso.com  --scope /keys

Tilldela roll för en specifik nyckel

Använd kommandot för att tilldela en az keyvault role assignment create hanterad HSM Crypto Officer-roll till användare som identifieras av 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 Officer" --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 om 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

Anteckning

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 Managed HSM Crypto Officer för en specifik användare för en specifik nyckel user2@contoso.com 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 nyckeln myrsakey2.

az keyvault role assignment delete --hsm-name ContosoMHSM --role "Managed HSM Crypto Officer" --assignee user2@contoso.com  --scope /keys/myrsakey2

Lista 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 en 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 namnetmy-custom-role-definition.js 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 visa information om en specifik rolldefinition med hjälp av namn (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 visa information om en specifik rolldefinition med hjälp av namn (ett GUID).

az keyvault role definition delete --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Anteckning

Inbyggda roller kan inte tas bort. När anpassade roller tas bort blir alla rolltilldelningar som använder den anpassade rollen inaktiverade.

Nästa steg