Dit artikel bevat praktische instructies voor het beheren van rollen en roltoewijzingen voor een beheerde HSM. Hiermee wordt het op rollen gebaseerde toegangsbeheermodel geïmplementeerd dat wordt beschreven in Toegangsbeheer voor beheerde HSM met behulp van de ingebouwde rollen in lokale RBAC-ingebouwde rollen voor beheerde HSM.
Zie What is Managed HSM? Als u nog geen Azure abonnement hebt, maakt u een vrij account voordat u begint voor een overzicht van beheerde HSM.
Als u een beveiligingsprincipaal (zoals een gebruiker, een service-principal, groep of een beheerde identiteit) wilt toestaan om beheerde HSM-gegevensvlakbewerkingen uit te voeren, wijst u deze een rol toe waarmee deze bewerkingen worden toegestaan. Als u bijvoorbeeld wilt toestaan dat een toepassing een tekenbewerking uitvoert met behulp van een sleutel, wijst u deze een rol toe die de Microsoft.KeyVault/managedHSM/keys/sign/action als een van de gegevensacties bevat. Wijs een rol toe bij een specifieke scope. Het lokaal op rollen gebaseerde toegangsbeheer voor beheerde HSM ondersteunt twee reikwijdten: HSM-breed (/ of /keys) en per sleutel (/keys/<key-name>).
Zie Ingebouwde rollen van beheerde HSM voor een lijst met alle ingebouwde HSM-rollen en de bewerkingen die ze toestaan.
Vereiste voorwaarden
Er is een Azure-abonnement vereist. Als u nog geen account hebt, maakt u een gratis account voordat u begint.
U hebt ook het volgende nodig:
Een nieuwe roltoewijzing maken
Navigeer in de Azure-portal naar uw beheerde HSM-resource.
Selecteer onder Instellingenin het linkermenu Lokale RBAC.
Selecteer Roltoewijzing toevoegen, kies de rol, het bereik en de principal en sla deze op.
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 <user-principal-name> voor alle sleutels (bereik /keys) in de <hsm-name>.
az keyvault role assignment create --hsm-name <hsm-name> --role "Managed HSM Crypto User" --assignee <user-principal-name> --scope /keys
Rol toewijzen voor een specifieke sleutel
Gebruik az keyvault role assignment create de opdracht om een beheerde HSM Crypto-gebruikersrol toe te wijzen aan de gebruiker die is geïdentificeerd door de user principal name <user-principal-name> voor een specifieke sleutel met de naam <key-name>.
az keyvault role assignment create --hsm-name <hsm-name> --role "Managed HSM Crypto User" --assignee <user-principal-name> --scope /keys/<key-name>
Rollen toewijzen voor alle sleutels
Gebruik de New-AzKeyVaultRoleAssignment cmdlet om een rol van Managed HSM cryptogebruiker toe te wijzen aan een gebruiker voor alle sleutels (bereik /keys).
New-AzKeyVaultRoleAssignment -HsmName <hsm-name> -RoleDefinitionName "Managed HSM Crypto User" -SignInName <user-principal-name> -Scope /keys
Rol toewijzen voor een specifieke sleutel
New-AzKeyVaultRoleAssignment -HsmName <hsm-name> -RoleDefinitionName "Managed HSM Crypto User" -SignInName <user-principal-name> -Scope /keys/<key-name>
Bestaande roltoewijzingen weergeven
Navigeer in de Azure-portal naar uw beheerde HSM-resource.
Selecteer onder Instellingenin het linkermenu Lokale RBAC.
In de portal worden alle roltoewijzingen voor de beheerde HSM weergegeven. U kunt filteren op principal of bereik.
Alle roltoewijzingen in de scope / (standaard als er geen scope is opgegeven) voor alle gebruikers (standaard als er geen toegewezene is opgegeven)
az keyvault role assignment list --hsm-name <hsm-name>
Alle roltoewijzingen op het HSM-niveau voor de specifieke gebruiker <user-principal-name>.
az keyvault role assignment list --hsm-name <hsm-name> --assignee <user-principal-name>
Opmerking
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 een specifieke gebruiker <user-principal-name> voor een specifieke sleutel <key-name>.
az keyvault role assignment list --hsm-name <hsm-name> --assignee <user-principal-name> --scope /keys/<key-name>
Een specifieke roltoewijzing voor de rol Managed HSM Crypto Officer voor een specifieke gebruiker <user-principal-name> voor een specifieke sleutel <key-name>
az keyvault role assignment list --hsm-name <hsm-name> --assignee <user-principal-name> --scope /keys/<key-name> --role "Managed HSM Crypto Officer"
Geef alle roltoewijzingen voor de beheerde HSM weer:
Get-AzKeyVaultRoleAssignment -HsmName <hsm-name>
Alle roltoewijzingen voor een specifieke gebruiker weergeven:
Get-AzKeyVaultRoleAssignment -HsmName <hsm-name> -SignInName <user-principal-name>
Roltoewijzingen voor een specifieke gebruiker weergeven op een specifiek sleutelbereik:
Get-AzKeyVaultRoleAssignment -HsmName <hsm-name> -SignInName <user-principal-name> -Scope /keys/<key-name>
Een roltoewijzing verwijderen
Navigeer in de Azure-portal naar uw beheerde HSM-resource.
Selecteer onder Instellingenin het linkermenu Lokale RBAC.
Zoek de roltoewijzing die u wilt verwijderen.
Selecteer het pictogram Verwijderen (prullenbak) naast de opdracht.
Bevestig de verwijdering wanneer hierom wordt gevraagd.
Gebruik de az keyvault role assignment delete opdracht om een Managed HSM Crypto Officer rol die is toegewezen aan gebruiker <user-principal-name> te verwijderen voor sleutel <key-name>.
az keyvault role assignment delete --hsm-name <hsm-name> --role "Managed HSM Crypto Officer" --assignee <user-principal-name> --scope /keys/<key-name>
Gebruik de Remove-AzKeyVaultRoleAssignment cmdlet om een roltoewijzing te verwijderen:
Remove-AzKeyVaultRoleAssignment -HsmName <hsm-name> -RoleDefinitionName "Managed HSM Crypto Officer" -SignInName <user-principal-name> -Scope /keys/<key-name>
Alle beschikbare roldefinities weergeven
Navigeer in de Azure-portal naar uw beheerde HSM-resource.
Selecteer onder Instellingenin het linkermenu Lokale RBAC.
Selecteer het tabblad Rollen om alle beschikbare ingebouwde en aangepaste roldefinities weer te geven.
Gebruik de opdracht az keyvault role definition list om alle roldefinities weer te geven.
az keyvault role definition list --hsm-name <hsm-name>
Gebruik de Get-AzKeyVaultRoleDefinition cmdlet om alle roldefinities weer te geven:
Get-AzKeyVaultRoleDefinition -HsmName <hsm-name>
Een nieuwe roldefinitie maken
Opmerking
Aangepaste roldefinities kunnen alleen worden beheerd met behulp van Azure CLI of Azure PowerShell.
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.
Het maken van aangepaste rollen is momenteel niet beschikbaar in de Azure-portal. Gebruik de Azure CLI of Azure PowerShell.
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 <hsm-name> --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 naammy-custom-role-definition.json met de JSON-tekenreeks voor een roldefinitie. Zie het bovenstaande voorbeeld.
az keyvault role definition create --hsm-name <hsm-name> --role-definition @my-custom-role-definition.json
Gebruik de New-AzKeyVaultRoleDefinition cmdlet om een aangepaste rol te maken op basis van een JSON-bestand:
New-AzKeyVaultRoleDefinition -HsmName <hsm-name> -InputFile ./my-custom-role-definition.json
Details van een roldefinitie weergeven
Het weergeven van details van aangepaste roldefinities is momenteel niet beschikbaar in de Azure-portal. Gebruik de Azure CLI of Azure PowerShell.
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 <hsm-name> --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Gebruik de Get-AzKeyVaultRoleDefinition cmdlet om roldefinities weer te geven. Een specifieke aangepaste rol weergeven op naam:
Get-AzKeyVaultRoleDefinition -HsmName <hsm-name> -RoleDefinitionName "My Custom Role"
Een aangepaste roldefinitie bijwerken
Het bijwerken van aangepaste roldefinities is momenteel niet beschikbaar in de Azure-portal. Gebruik de Azure CLI of Azure PowerShell.
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 <hsm-name> --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": []
}'
Als u een aangepaste rol wilt bijwerken, wijzigt u het rolobject en maakt u het opnieuw:
$role = Get-AzKeyVaultRoleDefinition -HsmName <hsm-name> -RoleDefinitionName "My Custom Role"
$role.Permissions[0].DataActions = @("Microsoft.KeyVault/managedHsm/keys/read/action", "Microsoft.KeyVault/managedHsm/keys/write/action", "Microsoft.KeyVault/managedHsm/keys/backup/action", "Microsoft.KeyVault/managedHsm/keys/create")
New-AzKeyVaultRoleDefinition -HsmName <hsm-name> -Role $role
Aangepaste roldefinitie verwijderen
Het verwijderen van aangepaste roldefinities is momenteel niet beschikbaar in de Azure-portal. Gebruik de Azure CLI of Azure PowerShell.
Gebruik de opdracht Azure CLI az keyvault role definition delete om een aangepaste roldefinitie te verwijderen met behulp van de naam (een GUID).
az keyvault role definition delete --hsm-name <hsm-name> --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Gebruik de Remove-AzKeyVaultRoleDefinition cmdlet om een aangepaste roldefinitie te verwijderen:
Remove-AzKeyVaultRoleDefinition -HsmName <hsm-name> -RoleName "My Custom Role"
Opmerking
Ingebouwde rollen kunnen niet worden verwijderd. Wanneer aangepaste rollen worden verwijderd, worden alle roltoewijzingen die gebruikmaken van die aangepaste rol, ongeldig.
Volgende stappen