Rolbeheer van beheerde HSM

Notitie

Key Vault ondersteunt twee typen resources: kluizen en beheerde HSM's. Dit artikel gaat over beheerde HSM. Als u wilt weten hoe u een kluis beheert, raadpleegt u Key Vault beheren met de Azure CLI.

Zie Wat is beheerde HSM? voor een overzicht van beheerde HSM. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

In dit artikel leest u hoe u rollen beheert voor een beheerd HSM-gegevensvlak. Zie Toegangsbeheer van beheerde HSM voor meer informatie over het toegangsbeheermodel voor beheerde HSM's.

Als u een beveiligingsprincipal (zoals een gebruiker, een service-principal, groep of een beheerde identiteit) wilt toestaan om bewerkingen op het beheerde HSM-gegevensvlak uit te voeren, moet aan hen een rol worden toegewezen die het uitvoeren van deze bewerkingen toestaat. Als u bijvoorbeeld een toepassing wilt toestaan een tekenbewerking uit te voeren met een sleutel, moet er een rol worden toegewezen die de gegevensactie Microsoft.KeyVault/managedHSM/keys/sign/action bevat. Een rol kan worden toegewezen aan een specifiek bereik. Lokaal op rollen gebaseerd toegangsbeheer voor beheerde HSM ondersteunt twee bereiken: HSM-breed (/ of /keys) en per sleutel (/keys/<keyname>).

Zie Ingebouwde rollen van de beheerde HSM voor een lijst met alle ingebouwde rollen van de beheerde HSM en de bewerkingen die met deze rollen zijn toestaan.

Vereisten

Als u de Azure CLI-opdrachten in dit artikel wilt gebruiken, hebt u het volgende nodig:

Azure Cloud Shell

Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.

Om Azure Cloud Shell op te starten:

Optie Voorbeeld/koppeling
Selecteer Uitproberen in de rechterbovenhoek van een code- of opdrachtblok. Als u Try It selecteert, wordt de code of opdracht niet automatisch gekopieerd naar Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. Button to launch Azure Cloud Shell.
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell gebruiken:

  1. Start Cloud Shell.

  2. Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.

  3. Plak de code of opdracht in de Cloud Shell-sessie door Ctrl+Shift+V in Windows en Linux te selecteren of door Cmd+Shift+V te selecteren in macOS.

  4. Selecteer Enter om de code of opdracht uit te voeren.

Aanmelden bij Azure

Als u zich wilt aanmelden bij Azure met behulp van de CLI, typt u:

az login

Zie Aanmelden met de Azure CLI voor meer informatie over opties voor aanmelding via de CLI

Een nieuwe roltoewijzing maken

Rollen toewijzen voor alle sleutels

Gebruik az keyvault role assignment create de opdracht om een cryptogebruikersrol voor beheerde HSM toe te wijzen aan de gebruiker die is geïdentificeerd door de user principal name user2@contoso.com voor alle sleutels (bereik /keys) in de ContosoHSM.

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

Rol toewijzen voor een specifieke sleutel

Gebruik az keyvault role assignment create de opdracht om een cryptogebruikersrol voor beheerde HSM toe te wijzen aan de gebruiker die is geïdentificeerd door de user principal name user2@contoso.com voor een specifieke sleutel met de naam myrsakey.

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

Bestaande roltoewijzingen weergeven

Gebruik az keyvault role assignment list om een lijst met roltoewijzingen weer te geven.

Alle roltoewijzingen in het bereik / (standaard als er geen bereik is opgegeven) voor alle gebruikers (standaard als er geen gebruiker is opgegeven)

az keyvault role assignment list --hsm-name ContosoMHSM

Alle roltoewijzingen op het HSM-niveau voor de specifieke gebruiker user1@contoso.com.

az keyvault role assignment list --hsm-name ContosoMHSM --assignee user@contoso.com

Notitie

Wanneer het bereik /(of /keys) is, geeft de lijstopdracht alleen alle roltoewijzingen op het hoogste niveau weer en worden geen roltoewijzingen weergegeven op afzonderlijk sleutelniveau.

Alle roltoewijzingen voor de specifieke gebruiker user2@contoso.com voor de specifieke sleutel myrsakey-.

az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey

Een specifieke roltoewijzing voor de rol Crypto Officer van beheerde HSM voor de specifieke gebruiker user2@contoso.com voor de specifieke sleutel myrsakey

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

Een roltoewijzing verwijderen

Gebruik de opdracht az keyvault role assignment delete om de rol Crypto Officer van beheerde HSM die is toegewezen aan de gebruiker user2@contoso.com voor de sleutel myrsakey2 te verwijderen.

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

Alle beschikbare roldefinities weergeven

Gebruik de opdracht az keyvault role definition list om alle roldefinities weer te geven.

az keyvault role definition list --hsm-name ContosoMHSM

Een nieuwe roldefinitie maken

Beheerde HSM heeft verschillende ingebouwde (vooraf gedefinieerde) rollen die nuttig zijn voor de meest voorkomende gebruiksscenario's. U kunt uw eigen rol definiëren met een lijst met specifieke acties die door de rol mogen worden uitgevoerd. Vervolgens kunt u deze rol toewijzen aan principals om ze de machtiging te verlenen voor de opgegeven acties.

Gebruik az keyvault role definition create de opdracht voor een rol met de naam Mijn aangepaste rol met behulp van een JSON-tekenreeks.

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": []
}'

Gebruik az keyvault role definition create de opdracht voor een rol uit een bestand met de naam my-custom-role-definition.json met de JSON-tekenreeks voor een roldefinitie. Zie het bovenstaande voorbeeld.

az keyvault role definition create --hsm-name ContosoMHSM --role-definition @my-custom-role-definition.json

Details van een roldefinitie weergeven

Gebruik az keyvault role definition show de opdracht om details van een specifieke roldefinitie te bekijken met behulp van de naam (een GUID).

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

Een aangepaste roldefinitie bijwerken

Gebruik az keyvault role definition update de opdracht om een rol met de naam Mijn aangepaste rol bij te werken met behulp van een JSON-tekenreeks.

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": []
        }'

Aangepaste roldefinitie verwijderen

Gebruik az keyvault role definition delete de opdracht om details van een specifieke roldefinitie te bekijken met behulp van de naam (een GUID).

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

Notitie

Ingebouwde rollen kunnen niet worden verwijderd. Wanneer aangepaste rollen worden verwijderd, worden alle roltoewijzingen die gebruikmaken van die aangepaste rol, in gebruik.

Volgende stappen