Dieser Artikel enthält praktische Anweisungen zum Verwalten von Rollen und Rollenzuweisungen für ein verwaltetes HSM. Es implementiert das rollenbasierte Zugriffssteuerungsmodell, das in der Zugriffssteuerung für verwaltetes HSM beschrieben wird, indem die integrierten Rollen verwendet werden, die in lokalen RBAC-integrierten Rollen für verwaltetes HSM dokumentiert sind.
Eine Übersicht über verwaltetes HSM finden Sie unter Was ist verwaltetes HSM?. Wenn Sie noch kein Azure-Abonnement haben, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
Damit ein Sicherheitsprinzipal (z. B. ein Benutzer, ein Dienstprinzipal, eine Gruppe oder eine verwaltete Identität) verwaltete HSM-Datenebenenvorgänge ausführen kann, weisen Sie ihm eine Rolle zu, die diese Vorgänge zulässt. Wenn Sie beispielsweise zulassen möchten, dass eine Anwendung einen Signiervorgang mithilfe eines Schlüssels ausführt, weisen Sie sie einer Rolle zu, die den Microsoft.KeyVault/managedHSM/keys/sign/action als eine der Datenaktionen enthält. Weisen Sie eine Rolle in einem bestimmten Bereich zu. Die lokale RBAC für verwaltete HSMs unterstützt zwei Bereiche: HSM-weit (/ oder /keys) und schlüsselspezifisch (/keys/<key-name>).
Eine Liste mit allen integrierten Rollen für verwaltete HSMs sowie mit den zulässigen Vorgängen finden Sie unter Integrierte Rollen der lokalen RBAC für verwaltete HSMs.
Voraussetzungen
Ein Azure-Abonnement ist erforderlich. Falls Sie kein Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Außerdem benötigen Sie:
Erstellen einer neuen Rollenzuweisung
Navigieren Sie im Azure-Portal zu Ihrer verwalteten HSM-Ressource.
Wählen Sie im Menü links unter Einstellungen die Option Lokale RBAC aus.
Wählen Sie "Rollenzuweisung hinzufügen", wählen Sie "Rolle", "Bereich" und "Prinzipal" und dann "Speichern" aus.
Zuweisen von Rollen für alle Schlüssel
Verwenden Sie den az keyvault role assignment create Befehl, um einem Benutzer die Rolle eines Managed HSM Crypto Users zuzuweisen, der durch den Benutzerprinzipalnamen <user-principal-name> für alle Schlüssel (Bereich /keys) im <hsm-name> identifiziert ist.
az keyvault role assignment create --hsm-name <hsm-name> --role "Managed HSM Crypto User" --assignee <user-principal-name> --scope /keys
Zuweisen einer Rolle für einen bestimmten Schlüssel
Verwenden Sie az keyvault role assignment create den Befehl, um eine verwaltete HSM Crypto User-Rolle dem Benutzer zuzuweisen, der durch den Benutzerprinzipalnamen <user-principal-name> für einen bestimmten Schlüssel mit dem Namen identifiziert <key-name>wird.
az keyvault role assignment create --hsm-name <hsm-name> --role "Managed HSM Crypto User" --assignee <user-principal-name> --scope /keys/<key-name>
Zuweisen von Rollen für alle Schlüssel
Verwenden Sie das New-AzKeyVaultRoleAssignment Cmdlet, um einem Benutzer eine verwaltete HSM Crypto-Benutzerrolle für alle Schlüssel (Bereich /keys) zuzuweisen.
New-AzKeyVaultRoleAssignment -HsmName <hsm-name> -RoleDefinitionName "Managed HSM Crypto User" -SignInName <user-principal-name> -Scope /keys
Zuweisen einer Rolle für einen bestimmten Schlüssel
New-AzKeyVaultRoleAssignment -HsmName <hsm-name> -RoleDefinitionName "Managed HSM Crypto User" -SignInName <user-principal-name> -Scope /keys/<key-name>
Auflisten der vorhandenen Rollenzuweisungen
Navigieren Sie im Azure-Portal zu Ihrer verwalteten HSM-Ressource.
Wählen Sie im Menü links unter Einstellungen die Option Lokale RBAC aus.
Im Portal werden alle Rollenzuweisungen für das verwaltete HSM angezeigt. Sie können nach Rolle oder Geltungsbereich filtern.
Alle Rollenzuweisungen im Bereich „/“ (Standard ohne Angabe von „--scope“) für alle Benutzer (Standard ohne Angabe von „--assignee“):
az keyvault role assignment list --hsm-name <hsm-name>
Alle Rollenzuweisungen auf der HSM-Ebene für eine*n bestimmte*n Benutzer*in (<user-principal-name>):
az keyvault role assignment list --hsm-name <hsm-name> --assignee <user-principal-name>
Hinweis
Wird für Bereich „/“ (oder „/keys“) festgelegt, werden mit dem Auflistungsbefehl nur alle Rollenzuweisungen auf der obersten Ebene aufgeführt, aber keine Rollenzuweisungen auf der Ebene einzelner Schlüssel.
Alle Rollenzuweisungen für einen bestimmten Benutzer <user-principal-name> für einen bestimmten Schlüssel <key-name>.
az keyvault role assignment list --hsm-name <hsm-name> --assignee <user-principal-name> --scope /keys/<key-name>
Eine spezifische Rollenzuweisung für die Rolle Managed HSM Crypto Officer für einen bestimmten Benutzer <user-principal-name> für einen bestimmten Schlüssel <key-name>
az keyvault role assignment list --hsm-name <hsm-name> --assignee <user-principal-name> --scope /keys/<key-name> --role "Managed HSM Crypto Officer"
Alle Rollenzuweisungen für das Managed HSM auflisten:
Get-AzKeyVaultRoleAssignment -HsmName <hsm-name>
Auflisten aller Rollenzuweisungen für einen bestimmten Benutzer:
Get-AzKeyVaultRoleAssignment -HsmName <hsm-name> -SignInName <user-principal-name>
Auflisten von Rollenzuweisungen für einen bestimmten Benutzer in einem bestimmten Schlüsselbereich:
Get-AzKeyVaultRoleAssignment -HsmName <hsm-name> -SignInName <user-principal-name> -Scope /keys/<key-name>
Löschen einer Rollenzuweisung
Navigieren Sie im Azure-Portal zu Ihrer verwalteten HSM-Ressource.
Wählen Sie im Menü links unter Einstellungen die Option Lokale RBAC aus.
Suchen Sie die Rollenzuweisung, die Sie entfernen möchten.
Wählen Sie das Symbol "Löschen " (Papierkorb) neben der Aufgabe aus.
Bestätigen Sie das Löschen, wenn Sie dazu aufgefordert werden.
Verwenden Sie az keyvault role assignment delete den Befehl, um eine verwaltete HSM Crypto Officer-Rolle zu löschen, die dem Benutzer <user-principal-name> für schlüssel <key-name>zugewiesen ist.
az keyvault role assignment delete --hsm-name <hsm-name> --role "Managed HSM Crypto Officer" --assignee <user-principal-name> --scope /keys/<key-name>
Verwenden Sie das Remove-AzKeyVaultRoleAssignment Cmdlet, um eine Rollenzuweisung zu löschen:
Remove-AzKeyVaultRoleAssignment -HsmName <hsm-name> -RoleDefinitionName "Managed HSM Crypto Officer" -SignInName <user-principal-name> -Scope /keys/<key-name>
Auflisten aller verfügbaren Rollendefinitionen
Navigieren Sie im Azure-Portal zu Ihrer verwalteten HSM-Ressource.
Wählen Sie im Menü links unter Einstellungen die Option Lokale RBAC aus.
Wählen Sie die Registerkarte "Rollen " aus, um alle verfügbaren integrierten und benutzerdefinierten Rollendefinitionen anzuzeigen.
Verwenden Sie den Befehl az keyvault role definition list, um alle Rollendefinitionen aufzulisten:
az keyvault role definition list --hsm-name <hsm-name>
Verwenden Sie das Get-AzKeyVaultRoleDefinition Cmdlet, um alle Rollendefinitionen aufzulisten:
Get-AzKeyVaultRoleDefinition -HsmName <hsm-name>
Erstellen einer neuen Rollendefinition
Hinweis
Benutzerdefinierte Rollendefinitionen können nur mithilfe von Azure CLI oder Azure PowerShell verwaltet werden.
Verwaltetes HSM verfügt über mehrere integrierte (vordefinierte) Rollen, die für die gängigsten Verwendungsszenarien nützlich sind. Sie können eine eigene Rolle mit einer Liste spezifischer Aktionen definieren, die die Rolle ausführen darf. Anschließend können Sie diese Rolle Prinzipalen zuweisen, um Ihnen die Berechtigungen für die angegebenen Aktionen zu erteilen.
Die Erstellung benutzerdefinierter Rollen ist derzeit im Azure-Portal nicht verfügbar. Verwenden Sie die Azure CLI oder Azure PowerShell.
Führen Sie unter Verwendung einer JSON-Zeichenfolge den Befehl az keyvault role definition create für eine Rolle namens My Custom Role aus.
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": []
}'
Verwenden Sie den Befehl az keyvault role definition create für eine Rolle aus einer Datei mit dem Namen my-custom-role-definition.json, die die JSON-Zeichenfolge für eine Rollendefinition enthält. Siehe Beispiel oben.
az keyvault role definition create --hsm-name <hsm-name> --role-definition @my-custom-role-definition.json
Verwenden Sie das New-AzKeyVaultRoleDefinition Cmdlet, um eine benutzerdefinierte Rolle aus einer JSON-Datei zu erstellen:
New-AzKeyVaultRoleDefinition -HsmName <hsm-name> -InputFile ./my-custom-role-definition.json
Anzeigen der Details einer Rollendefinition
Das Anzeigen benutzerdefinierter Rollendefinitionsdetails ist derzeit im Azure-Portal nicht verfügbar. Verwenden Sie die Azure CLI oder Azure PowerShell.
Verwenden Sie den Befehl az keyvault role definition show, um mithilfe des Namens (GUID) Details zu einer bestimmten Rollendefinition anzuzeigen.
az keyvault role definition show --hsm-name <hsm-name> --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Verwenden Sie das Get-AzKeyVaultRoleDefinition Cmdlet, um Rollendefinitionen anzuzeigen. So zeigen Sie eine bestimmte benutzerdefinierte Rolle anhand des Namens an:
Get-AzKeyVaultRoleDefinition -HsmName <hsm-name> -RoleDefinitionName "My Custom Role"
Aktualisieren einer benutzerdefinierten Rollendefinition
Das Aktualisieren benutzerdefinierter Rollendefinitionen ist derzeit im Azure-Portal nicht verfügbar. Verwenden Sie die Azure CLI oder Azure PowerShell.
Verwenden Sie den Befehl az keyvault role definition update, um mithilfe einer JSON-Zeichenfolge eine Rolle namens My Custom Role zu aktualisieren.
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": []
}'
Um eine benutzerdefinierte Rolle zu aktualisieren, ändern Sie das Rollenobjekt, und erstellen Sie sie erneut:
$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
Löschen von benutzerdefinierten Rollendefinition
Das Löschen benutzerdefinierter Rollendefinitionen ist derzeit im Azure-Portal nicht verfügbar. Verwenden Sie die Azure CLI oder Azure PowerShell.
Verwenden Sie den Azure CLI-Befehl az keyvault role definition delete, um eine benutzerdefinierte Rollendefinition mit einem Namen (GUID) zu löschen.
az keyvault role definition delete --hsm-name <hsm-name> --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Verwenden Sie das Remove-AzKeyVaultRoleDefinition Cmdlet, um eine benutzerdefinierte Rollendefinition zu löschen:
Remove-AzKeyVaultRoleDefinition -HsmName <hsm-name> -RoleName "My Custom Role"
Hinweis
Integrierte Rollen können nicht gelöscht werden. Wenn benutzerdefinierte Rollen gelöscht werden, werden alle Rollenzuweisungen, die diese benutzerdefinierte Rolle verwenden, außer Kraft gesetzt.
Nächste Schritte