Verschlüsselungsbereiche ermöglichen die Verwaltung der Verschlüsselung auf der Ebene einzelner Blobs oder Container. Sie können Verschlüsselungsbereiche verwenden, um sichere Grenzen zwischen Daten zu erstellen, die sich im selben Speicherkonto befinden, aber zu unterschiedlichen Kunden gehören. Weitere Informationen zu Verschlüsselungsbereichen finden Sie unter Verschlüsselungsbereiche für Blobspeicher.
In diesem Artikel wird gezeigt, wie Sie einen Verschlüsselungsbereich erstellen. Außerdem wird gezeigt, wie Sie beim Erstellen eines Blobs oder Containers einen Verschlüsselungsbereich angeben.
Sie können einen Verschlüsselungsbereich erstellen, der mit einem von Microsoft verwalteten Schlüssel oder mit einem vom Kunden verwalteten Schlüssel geschützt ist, der in einem Azure Key Vault oder in einem von Azure Key Vault verwalteten Hardwaresicherheitsmodell (Managed Hardware Security Model, HSM) gespeichert ist. Um einen Verschlüsselungsbereich mit einem vom Kunden verwalteten Schlüssel zu erstellen, müssen Sie zuerst einen Schlüsseltresor oder verwaltetes HSM erstellen und den Schlüssel hinzufügen, den Sie für den Bereich verwenden möchten. Für den Schlüsseltresor oder das verwaltete HSM muss der Löschschutz aktiviert sein.
Das Speicherkonto und der Schlüsseltresor können sich im selben Mandanten oder in verschiedenen Mandanten befinden. In beiden Fällen können sich das Speicherkonto und der Schlüsseltresor in verschiedenen Regionen befinden.
Ein Verschlüsselungsbereich wird automatisch aktiviert, wenn Sie ihn erstellen. Nachdem Sie den Verschlüsselungsbereich erstellt haben, können Sie ihn angeben, wenn Sie ein Blob erstellen. Sie können auch einen Standardverschlüsselungsbereich angeben, wenn Sie einen Container erstellen, der automatisch für alle Blobs im Container gilt.
Wenn Sie einen Verschlüsselungsbereich konfigurieren, werden Sie mindestens einen Monat in Rechnung gestellt (30 Tage). Nach dem ersten Monat werden Gebühren für einen Verschlüsselungsbereich stündlich anteilig berechnet. Weitere Informationen finden Sie unter Abrechnung für Verschlüsselungsbereiche.
Führen Sie die folgenden Schritte aus, um einen Verschlüsselungsbereich im Azure-Portal zu erstellen:
Navigieren Sie zum Speicherkonto im Azure-Portal.
Wählen Sie unter "Sicherheit + Netzwerk" die Option "Verschlüsselung" aus.
Wählen Sie die Registerkarte "Verschlüsselungsbereiche" aus .
Klicken Sie auf die Schaltfläche "Hinzufügen ", um einen neuen Verschlüsselungsbereich hinzuzufügen.
Geben Sie im Bereich " Verschlüsselungsbereich erstellen " einen Namen für den neuen Bereich ein.
Wählen Sie die gewünschte Art von Verschlüsselungsschlüsselunterstützung aus, entweder von Microsoft verwaltete Schlüssel oder vom Kunden verwaltete Schlüssel.
- Wenn Sie von Microsoft verwaltete Schlüssel ausgewählt haben, klicken Sie auf "Erstellen ", um den Verschlüsselungsbereich zu erstellen.
- Wenn Sie vom Kunden verwaltete Schlüssel ausgewählt haben, wählen Sie ein Abonnement aus, und geben Sie einen Schlüsseltresor und einen Schlüssel an, der für diesen Verschlüsselungsbereich verwendet werden soll. Wenn sich der gewünschte Schlüsseltresor in einer anderen Region befindet, wählen Sie "Schlüssel-URI eingeben " aus, und geben Sie den Schlüssel-URI an.
Wenn die Infrastrukturverschlüsselung für das Speicherkonto aktiviert ist, wird sie automatisch für den neuen Verschlüsselungsbereich aktiviert. Andernfalls können Sie auswählen, ob die Infrastrukturverschlüsselung für den Verschlüsselungsbereich aktiviert werden soll.
Um einen Verschlüsselungsbereich mit PowerShell zu erstellen, installieren Sie das Az.Storage PowerShell-Modul, Version 3.4.0 oder höher.
Erstellen eines Verschlüsselungsbereichs, der durch von Microsoft verwaltete Schlüssel geschützt ist
Rufen Sie zum Erstellen eines Verschlüsselungsbereichs, der durch von Microsoft verwaltete Schlüssel geschützt ist, den Befehl "New-AzStorageEncryptionScope " mit dem -StorageEncryption
Parameter auf.
Wenn die Infrastrukturverschlüsselung für das Speicherkonto aktiviert ist, wird sie automatisch für den neuen Verschlüsselungsbereich aktiviert. Andernfalls können Sie auswählen, ob die Infrastrukturverschlüsselung für den Verschlüsselungsbereich aktiviert werden soll. Um den neuen Bereich mit aktivierter Infrastrukturverschlüsselung zu erstellen, schließen Sie den -RequireInfrastructureEncryption
Parameter ein.
Denken Sie daran, die Platzhalterwerte im Beispiel durch eigene Werte zu ersetzen:
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$scopeName = "<encryption-scope>"
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName1 `
-StorageEncryption
Erstellen eines Verschlüsselungsbereichs, der durch vom Kunden verwaltete Schlüssel im selben Mandanten geschützt ist
Um einen Verschlüsselungsbereich zu erstellen, der durch vom Kunden verwaltete Schlüssel geschützt ist, die in einem Schlüsseltresor oder verwaltetem HSM gespeichert sind, das sich im selben Mandanten wie das Speicherkonto befindet, konfigurieren Sie zuerst vom Kunden verwaltete Schlüssel für das Speicherkonto. Sie müssen dem Speicherkonto, das über Berechtigungen für den Zugriff auf den Schlüsseltresor verfügt, eine verwaltete Identität zuweisen. Die verwaltete Identität kann entweder eine vom Benutzer zugewiesene verwaltete Identität oder eine vom System zugewiesene verwaltete Identität sein. Weitere Informationen zum Konfigurieren von vom Kunden verwalteten Schlüsseln finden Sie unter Konfigurieren von vom Kunden verwalteten Schlüsseln im selben Mandanten für ein vorhandenes Speicherkonto.
Um der verwalteten Identität Berechtigungen für den Zugriff auf den Schlüsseltresor zu erteilen, weisen Sie der verwalteten Identität die Rolle Key Vault Crypto Service Encryption User zu.
Zum Konfigurieren von kundenseitig verwalteten Schlüsseln für die Verwendung mit einem Verschlüsselungsbereich muss der Löschschutz für den Schlüsseltresor oder das verwaltete HSM aktiviert werden.
Das folgende Beispiel zeigt, wie Sie einen Verschlüsselungsbereich mit einer vom System zugewiesenen verwalteten Identität konfigurieren. Denken Sie daran, die Platzhalterwerte im Beispiel durch eigene Werte zu ersetzen:
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$keyVaultName = "<key-vault>"
$scopeName = "<encryption-scope>"
# Assign a system-assigned managed identity to the storage account.
$storageAccount = Set-AzStorageAccount -ResourceGroupName $rgName `
-Name $accountName `
-AssignIdentity
# Assign the necessary permissions to the managed identity
# so that it can access the key vault.
$principalId = $storageAccount.Identity.PrincipalId
$keyVault = Get-AzKeyVault $keyVaultName
New-AzRoleAssignment -ObjectId $storageAccount.Identity.PrincipalId `
-RoleDefinitionName "Key Vault Crypto Service Encryption User" `
-Scope $keyVault.ResourceId
Rufen Sie als Nächstes den Befehl New-AzStorageEncryptionScope mit dem -KeyvaultEncryption
Parameter auf, und geben Sie den Schlüssel-URI an. Das Einfügen der Schlüsselversion in der Schlüssel-URI ist optional. Wenn Sie die Schlüsselversion weglassen, verwendet der Verschlüsselungsbereich automatisch die neueste Schlüsselversion. Wenn Sie die Schlüsselversion einschließen, müssen Sie die Schlüsselversion manuell aktualisieren, um eine andere Version zu verwenden.
Das Format der Schlüssel-URI ähnelt den folgenden Beispielen und kann aus der Eigenschaft VaultUri des Schlüsseltresors und dem Schlüsselnamen konstruiert werden.
# Without the key version
https://<key-vault>.vault.azure.net/keys/<key>
# With the key version
https://<key-vault>.vault.azure.net/keys/<key>/<version>
Wenn die Infrastrukturverschlüsselung für das Speicherkonto aktiviert ist, wird sie automatisch für den neuen Verschlüsselungsbereich aktiviert. Andernfalls können Sie auswählen, ob die Infrastrukturverschlüsselung für den Verschlüsselungsbereich aktiviert werden soll. Um den neuen Bereich mit aktivierter Infrastrukturverschlüsselung zu erstellen, schließen Sie den -RequireInfrastructureEncryption
Parameter ein.
Denken Sie daran, die Platzhalterwerte im Beispiel durch eigene Werte zu ersetzen:
$keyUri = $keyVault.VaultUri + "keys/" + $keyName
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName `
-KeyUri $keyUri `
-KeyvaultEncryption
Erstellen eines Verschlüsselungsbereichs, der durch vom Kunden verwaltete Schlüssel in einem anderen Mandanten geschützt ist
Um einen Verschlüsselungsbereich zu erstellen, der durch vom Kunden verwaltete Schlüssel geschützt ist, die in einem Schlüsseltresor oder verwaltetem HSM gespeichert sind, das sich in einem anderen Mandanten als dem Speicherkonto befindet, konfigurieren Sie zuerst vom Kunden verwaltete Schlüssel für das Speicherkonto. Sie müssen eine vom Benutzer zugewiesene verwaltete Identität für das Speicherkonto konfigurieren, das über Berechtigungen für den Zugriff auf den Schlüsseltresor im anderen Mandanten verfügt. Weitere Informationen zum Konfigurieren mandantenübergreifender vom Kunden verwalteter Schlüssel finden Sie unter Konfigurieren mandantenübergreifender vom Kunden verwalteter Schlüssel für ein vorhandenes Speicherkonto.
Zum Konfigurieren von kundenseitig verwalteten Schlüsseln für die Verwendung mit einem Verschlüsselungsbereich muss der Löschschutz für den Schlüsseltresor oder das verwaltete HSM aktiviert werden.
Nachdem Sie mandantenübergreifende vom Kunden verwaltete Schlüssel für das Speicherkonto konfiguriert haben, können Sie einen Verschlüsselungsbereich für das Speicherkonto in einem Mandanten erstellen, der auf einen Schlüssel in einem Schlüsseltresor im anderen Mandanten ausgelegt ist. Sie benötigen den Schlüssel-URI, um den mandantenübergreifenden Verschlüsselungsbereich zu erstellen.
Denken Sie daran, die Platzhalterwerte im Beispiel durch eigene Werte zu ersetzen:
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$scopeName = "<encryption-scope>"
# Construct the key URI from the key vault URI and key name.
$keyUri = $kvUri + "keys/" + $keyName
New-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName `
-KeyUri $keyUri `
-KeyvaultEncryption
Um einen Verschlüsselungsbereich mit Azure CLI zu erstellen, installieren Sie zuerst Azure CLI, Version 2.20.0 oder höher.
Erstellen eines Verschlüsselungsbereichs, der durch von Microsoft verwaltete Schlüssel geschützt ist
Rufen Sie zum Erstellen eines Verschlüsselungsbereichs, der durch von Microsoft verwaltete Schlüssel geschützt ist, den Befehl " az storage account encryption-scope create " auf, und geben Sie den --key-source
Parameter als Microsoft.Storage
an.
Wenn die Infrastrukturverschlüsselung für das Speicherkonto aktiviert ist, wird sie automatisch für den neuen Verschlüsselungsbereich aktiviert. Andernfalls können Sie auswählen, ob die Infrastrukturverschlüsselung für den Verschlüsselungsbereich aktiviert werden soll. Um den neuen Bereich mit aktivierter Infrastrukturverschlüsselung zu erstellen, schließen Sie den --require-infrastructure-encryption
Parameter ein, und legen Sie dessen Wert auf true
.
Denken Sie daran, die Platzhalterwerte durch Ihre eigenen Werte zu ersetzen:
az storage account encryption-scope create \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.Storage
Erstellen eines Verschlüsselungsbereichs, der durch vom Kunden verwaltete Schlüssel im selben Mandanten geschützt ist
Um einen Verschlüsselungsbereich zu erstellen, der durch vom Kunden verwaltete Schlüssel geschützt ist, die in einem Schlüsseltresor oder verwaltetem HSM gespeichert sind, das sich im selben Mandanten wie das Speicherkonto befindet, konfigurieren Sie zuerst vom Kunden verwaltete Schlüssel für das Speicherkonto. Sie müssen dem Speicherkonto, das über Berechtigungen für den Zugriff auf den Schlüsseltresor verfügt, eine verwaltete Identität zuweisen. Die verwaltete Identität kann entweder eine vom Benutzer zugewiesene verwaltete Identität oder eine vom System zugewiesene verwaltete Identität sein. Weitere Informationen zum Konfigurieren von vom Kunden verwalteten Schlüsseln finden Sie unter Konfigurieren von vom Kunden verwalteten Schlüsseln im selben Mandanten für ein vorhandenes Speicherkonto.
Um der verwalteten Identität Berechtigungen für den Zugriff auf den Schlüsseltresor zu erteilen, weisen Sie der verwalteten Identität die Rolle Key Vault Crypto Service Encryption User zu.
Zum Konfigurieren von kundenseitig verwalteten Schlüsseln für die Verwendung mit einem Verschlüsselungsbereich muss der Löschschutz für den Schlüsseltresor oder das verwaltete HSM aktiviert werden.
Das folgende Beispiel zeigt, wie Sie einen Verschlüsselungsbereich mit einer vom System zugewiesenen verwalteten Identität konfigurieren. Denken Sie daran, die Platzhalterwerte im Beispiel durch eigene Werte zu ersetzen:
az storage account update \
--name <storage-account> \
--resource-group <resource_group> \
--assign-identity
principalId=$(az storage account show --name <storage-account> \
--resource-group <resource_group> \
--query identity.principalId \
--output tsv)
$kvResourceId=$(az keyvault show \
--resource-group <resource-group> \
--name <key-vault> \
--query id \
--output tsv)
az role assignment create --assignee-object-id $principalId \
--role "Key Vault Crypto Service Encryption User" \
--scope $kvResourceId
Rufen Sie als Nächstes den Befehl " az storage account encryption-scope " mit dem --key-uri
Parameter auf, und geben Sie den Schlüssel-URI an. Das Einfügen der Schlüsselversion in der Schlüssel-URI ist optional. Wenn Sie die Schlüsselversion weglassen, verwendet der Verschlüsselungsbereich automatisch die neueste Schlüsselversion. Wenn Sie die Schlüsselversion einschließen, müssen Sie die Schlüsselversion manuell aktualisieren, um eine andere Version zu verwenden.
Das Format der URI des Schlüssels ähnelt den folgenden Beispielen und kann aus der vaultUri-Eigenschaft des Schlüsselspeichers und dem Schlüsselnamen erstellt werden.
# Without the key version
https://<key-vault>.vault.azure.net/keys/<key>
# With the key version
https://<key-vault>.vault.azure.net/keys/<key>/<version>
Wenn die Infrastrukturverschlüsselung für das Speicherkonto aktiviert ist, wird sie automatisch für den neuen Verschlüsselungsbereich aktiviert. Andernfalls können Sie auswählen, ob die Infrastrukturverschlüsselung für den Verschlüsselungsbereich aktiviert werden soll. Um den neuen Bereich mit aktivierter Infrastrukturverschlüsselung zu erstellen, schließen Sie den --require-infrastructure-encryption
Parameter ein, und legen Sie dessen Wert auf true
.
Denken Sie daran, die Platzhalterwerte im Beispiel durch eigene Werte zu ersetzen:
az storage account encryption-scope create \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.KeyVault \
--key-uri <key-uri>
Erstellen eines Verschlüsselungsbereichs, der durch vom Kunden verwaltete Schlüssel in einem anderen Mandanten geschützt ist
Um einen Verschlüsselungsbereich zu erstellen, der durch vom Kunden verwaltete Schlüssel geschützt ist, die in einem Schlüsseltresor oder verwaltetem HSM gespeichert sind, das sich in einem anderen Mandanten als dem Speicherkonto befindet, konfigurieren Sie zuerst vom Kunden verwaltete Schlüssel für das Speicherkonto. Sie müssen eine vom Benutzer zugewiesene verwaltete Identität für das Speicherkonto konfigurieren, das über Berechtigungen für den Zugriff auf den Schlüsseltresor im anderen Mandanten verfügt. Weitere Informationen zum Konfigurieren mandantenübergreifender vom Kunden verwalteter Schlüssel finden Sie unter Konfigurieren mandantenübergreifender vom Kunden verwalteter Schlüssel für ein vorhandenes Speicherkonto.
Zum Konfigurieren von kundenseitig verwalteten Schlüsseln für die Verwendung mit einem Verschlüsselungsbereich muss der Löschschutz für den Schlüsseltresor oder das verwaltete HSM aktiviert werden.
Nachdem Sie mandantenübergreifende vom Kunden verwaltete Schlüssel für das Speicherkonto konfiguriert haben, können Sie einen Verschlüsselungsbereich für das Speicherkonto in einem Mandanten erstellen, der auf einen Schlüssel in einem Schlüsseltresor im anderen Mandanten ausgelegt ist. Sie benötigen den Schlüssel-URI, um den mandantenübergreifenden Verschlüsselungsbereich zu erstellen.
Denken Sie daran, die Platzhalterwerte im Beispiel durch eigene Werte zu ersetzen:
az storage account encryption-scope create \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.KeyVault \
--key-uri <key-uri>
Wenn Sie einen Container erstellen, können Sie einen Standardverschlüsselungsbereich angeben. Blobs in diesem Container verwenden dann standardmäßig diesen Bereich.
Ein einzelnes Blob kann mit einem eigenen Verschlüsselungsbereich erstellt werden, es sei denn, der Container ist so konfiguriert, dass alle Blobs den Standardbereich verwenden. Weitere Informationen finden Sie unter Verschlüsselungsbereiche für Container und Blobs.
Wenn ein Client versucht, einen Bereich beim Hochladen eines Blobs in einen Container mit einem Standardverschlüsselungsbereich anzugeben und der Container so konfiguriert ist, dass Blobs den Standardbereich nicht außer Kraft setzen, schlägt der Vorgang mit einer Meldung fehl, die angibt, dass die Anforderung durch die Containerverschlüsselungsrichtlinie verboten ist.
Wenn Sie ein Blob hochladen, können Sie einen Verschlüsselungsbereich für dieses Blob angeben oder den Standardverschlüsselungsbereich für den Container verwenden, sofern eine angegeben wurde.
Führen Sie die folgenden Schritte aus, um den Schlüssel zu ändern, der einen Bereich im Azure-Portal schützt:
- Navigieren Sie zur Registerkarte "Verschlüsselungsbereiche ", um die Liste der Verschlüsselungsbereiche für das Speicherkonto anzuzeigen.
- Wählen Sie die Schaltfläche "Weitere " neben dem Bereich aus, den Sie ändern möchten.
- Im Bereich "Verschlüsselungsbereich bearbeiten " können Sie den Verschlüsselungstyp von von Microsoft verwaltetem Schlüssel in vom Kunden verwalteten Schlüssel ändern oder umgekehrt.
- Um einen neuen vom Kunden verwalteten Schlüssel auszuwählen, wählen Sie "Neuen Schlüssel verwenden " aus, und geben Sie den Schlüsseltresor, den Schlüssel und die Schlüsselversion an.
Wenn Sie mit PowerShell den Schlüssel, der einen Verschlüsselungsbereich schützt, von einem kundenseitig verwalteten Schlüssel in einen von Microsoft verwalteten Schlüssel ändern möchten, rufen Sie den Befehl Update-AzStorageEncryptionScope auf, und übergeben Sie den Parameter -StorageEncryption
:
Update-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName2 `
-StorageEncryption
Rufen Sie als Nächstes den Befehl "Update-AzStorageEncryptionScope " auf, und übergeben Sie die folgenden -KeyUri
-KeyvaultEncryption
Parameter:
Update-AzStorageEncryptionScope -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-EncryptionScopeName $scopeName1 `
-KeyUri $keyUri `
-KeyvaultEncryption
Wenn Sie mit der Azure CLI den Schlüssel, der einen Verschlüsselungsbereich schützt, von einem kundenseitig verwalteten Schlüssel in einen von Microsoft verwalteten Schlüssel ändern möchten, rufen Sie den Befehl az storage account encryption-scope update auf, und übergeben Sie den Parameter --key-source
mit dem Wert Microsoft.Storage
:
az storage account encryption-scope update \
--account-name <storage-account> \
--resource-group <resource-group>
--name <encryption-scope> \
--key-source Microsoft.Storage
Rufen Sie als Nächstes den Befehl " az storage account encryption-scope update" auf, übergeben Sie den --key-uri
Parameter, und übergeben Sie den --key-source
Parameter mit dem Wert Microsoft.KeyVault
:
az storage account encryption-scope update \
--resource-group <resource-group> \
--account-name <storage-account> \
--name <encryption-scope> \
--key-source Microsoft.KeyVault \
--key-uri <key-uri>
Deaktivieren Sie alle Verschlüsselungsbereiche, die nicht benötigt werden, um unnötige Gebühren zu vermeiden. Weitere Informationen finden Sie unter Abrechnung für Verschlüsselungsbereiche.