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. Darüber hinaus wird erläutert, 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 kundenseitig verwalteten Schlüssel geschützt ist, der in Azure Key Vault oder in einem Azure Key Vault Managed Hardware Security Model (HSM) gespeichert ist. Zum Erstellen eines Verschlüsselungsbereichs mit einem kundenseitig verwalteten Schlüssel müssen Sie zunächst einen Schlüsseltresor oder ein 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. Das Speicherkonto und der Schlüsseltresor können sich, so oder so, in verschiedenen Regionen befinden.
Ein Verschlüsselungsbereich wird bei der Erstellung immer automatisch aktiviert. Nach der Erstellung des Verschlüsselungsbereichs können Sie diesen beim Erstellen eines Blobs angeben. Sie können beim Erstellen eines Containers auch einen Standardverschlüsselungsbereich angeben, der automatisch für alle Blobs im Container gilt.
Wenn Sie einen Verschlüsselungsbereich konfigurieren, wird Ihnen mindestens ein Monat (30 Tage) in Rechnung gestellt. Nach dem ersten Monat werden die 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 den gewünschten Typ der Verschlüsselungsschlüsselunterstützung aus: Von Microsoft verwaltete Schlüssel oder Kundenseitig 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 Kundenseitig verwaltete Schlüssel ausgewählt haben, wählen Sie ein Abonnement aus. Geben Sie dann einen Schlüsseltresor und einen Schlüssel an, die für diesen Verschlüsselungsbereich verwendet werden sollen. 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 wurde, wird sie für den neuen Verschlüsselungsbereich automatisch aktiviert. Andernfalls können Sie auswählen, ob die Infrastrukturverschlüsselung für den Verschlüsselungsbereich aktiviert werden soll.
Installieren Sie zum Erstellen eines Verschlüsselungsbereichs mithilfe von PowerShell das PowerShell-Modul Az.Storage, Version 3.4.0 oder höher.
Erstellen eines Verschlüsselungsbereichs, der durch von Microsoft verwaltete Schlüssel geschützt wird
Wenn Sie einen Verschlüsselungsbereich erstellen möchten, der durch von Microsoft verwaltete Schlüssel geschützt wird, rufen Sie den Befehl New-AzStorageEncryptionScope mit dem Parameter -StorageEncryption
auf.
Wenn die Infrastrukturverschlüsselung für das Speicherkonto aktiviert wurde, wird sie für den neuen Verschlüsselungsbereich automatisch aktiviert. Andernfalls können Sie auswählen, ob die Infrastrukturverschlüsselung für den Verschlüsselungsbereich aktiviert werden soll. Zum Erstellen des neuen Bereichs mit aktivierter Infrastrukturverschlüsselung beziehen Sie den Parameter -RequireInfrastructureEncryption
mit ein.
Denken Sie daran, die Platzhalterwerte in diesem Beispiel durch Ihre eigenen 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 in demselben Mandanten, der mit kundenseitig verwalteten Schlüsseln geschützt wird
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 eine systemseitig zugewiesene verwaltete Identität oder benutzerseitig 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 den verwalteten Identitätsberechtigungen für den Zugriff auf den Schlüsseltresor zu gewähren, weisen Sie der verwalteten Identität die Schlüsseltresor-Verschlüsselungsdienst-Rolle 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 in diesem Beispiel durch Ihre eigenen 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 Parameter -KeyvaultEncryption
auf, und geben Sie den Schlüssel-URI an. Das Einbeziehen der Schlüsselversion in den Schlüssel-URI ist optional. Wenn Sie die Schlüsselversion auslassen, verwendet der Verschlüsselungsbereich automatisch die neueste Schlüsselversion. Wenn Sie die Schlüsselversion mit einbeziehen, dann müssen Sie die Schlüsselversion manuell aktualisieren, um eine andere Version zu verwenden.
Das Format des Schlüssel-URI ähnelt den folgenden Beispielen und kann aus der VaultUri-Eigenschaft des Schlüsseltresors 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 wurde, wird sie für den neuen Verschlüsselungsbereich automatisch aktiviert. Andernfalls können Sie auswählen, ob die Infrastrukturverschlüsselung für den Verschlüsselungsbereich aktiviert werden soll. Zum Erstellen des neuen Bereichs mit aktivierter Infrastrukturverschlüsselung beziehen Sie den Parameter -RequireInfrastructureEncryption
mit ein.
Denken Sie daran, die Platzhalterwerte in diesem Beispiel durch Ihre eigenen 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, das über Berechtigungen für den Zugriff auf den Schlüsseltresor im anderen Mandanten verfügt, konfigurieren. 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 in diesem Beispiel durch Ihre eigenen 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
Installieren Sie zum Erstellen eines Verschlüsselungsbereichs mit der Azure CLI zunächst mindestens Version 2.20.0 der CLI.
Erstellen eines Verschlüsselungsbereichs, der durch von Microsoft verwaltete Schlüssel geschützt wird
Wenn Sie einen neuen Verschlüsselungsbereich erstellen möchten, der durch von Microsoft verwaltete Schlüssel geschützt wird, rufen Sie den Befehl az storage account encryption-scope create auf, und geben Sie dabei Microsoft.Storage
für den Parameter --key-source
an.
Wenn die Infrastrukturverschlüsselung für das Speicherkonto aktiviert wurde, wird sie für den neuen Verschlüsselungsbereich automatisch aktiviert. Andernfalls können Sie auswählen, ob die Infrastrukturverschlüsselung für den Verschlüsselungsbereich aktiviert werden soll. Zum Erstellen des neuen Bereichs mit aktivierter Infrastrukturverschlüsselung beziehen Sie den Parameter --require-infrastructure-encryption
mit ein, und legen Sie dessen Wert auf true
fest.
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 in demselben Mandanten, der mit kundenseitig verwalteten Schlüsseln geschützt wird
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 eine systemseitig zugewiesene verwaltete Identität oder benutzerseitig 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 den verwalteten Identitätsberechtigungen für den Zugriff auf den Schlüsseltresor zu gewähren, weisen Sie der verwalteten Identität die Schlüsseltresor-Verschlüsselungsdienst-Rolle 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 in diesem Beispiel durch Ihre eigenen 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 Parameter --key-uri
auf, und geben Sie den Schlüssel-URI an. Das Einbeziehen der Schlüsselversion in den Schlüssel-URI ist optional. Wenn Sie die Schlüsselversion auslassen, verwendet der Verschlüsselungsbereich automatisch die neueste Schlüsselversion. Wenn Sie die Schlüsselversion mit einbeziehen, dann müssen Sie die Schlüsselversion manuell aktualisieren, um eine andere Version zu verwenden.
Das Format des Schlüssel-URI ähnelt den folgenden Beispielen und kann aus der VaultUri-Eigenschaft des Schlüsseltresors 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 wurde, wird sie für den neuen Verschlüsselungsbereich automatisch aktiviert. Andernfalls können Sie auswählen, ob die Infrastrukturverschlüsselung für den Verschlüsselungsbereich aktiviert werden soll. Zum Erstellen des neuen Bereichs mit aktivierter Infrastrukturverschlüsselung beziehen Sie den Parameter --require-infrastructure-encryption
mit ein, und legen Sie dessen Wert auf true
fest.
Denken Sie daran, die Platzhalterwerte in diesem Beispiel 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.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, das über Berechtigungen für den Zugriff auf den Schlüsseltresor im anderen Mandanten verfügt, konfigurieren. 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 in diesem Beispiel 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.KeyVault \
--key-uri <key-uri>
Wenn Sie einen Container erstellen, können Sie einen standardmäßigen Verschlüsselungsbereich angeben. Blobs in diesem Container verwenden dann standardmäßig diesen Bereich.
Ein einzelnes Blob kann mit einem eigenen Verschlüsselungsbereich erstellt werden, sofern der Container nicht so konfiguriert ist, dass alle Blobs den Standardbereich verwenden. Weitere Informationen finden Sie unter Verschlüsselungsbereiche für Container und Blobs.
Versucht ein Client, einen Bereich anzugeben, wenn ein Blob in einen Container mit einem Standardverschlüsselungsbereich hochgeladen wird und der Container so konfiguriert ist, dass Blobs den Standardbereich nicht überschreiben können, tritt bei diesem Vorgang ein Fehler auf. Eine Meldung wird angezeigt, die angibt, dass die Anforderung durch die Containerverschlüsselungsrichtlinie untersagt wird.
Beim Hochladen eines Blobs können Sie einen Verschlüsselungsbereich für das Blob angeben oder den Standardverschlüsselungsbereich für den Container verwenden, sofern einer 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 neben dem Bereich, den Sie ändern möchten, die Schaltfläche Mehr aus.
- Im Bereich Verschlüsselungsbereich bearbeiten können Sie den Verschlüsselungstyp von „Von Microsoft verwaltete Schlüssel“ in „Kundenseitig verwaltete Schlüssel“ ändern und umgekehrt.
- Wählen Sie zum Auswählen eines neuen kundenseitig verwalteten Schlüssels die Option 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 Parameter -KeyUri
und -KeyvaultEncryption
:
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, und übergeben Sie den Parameter --key-uri
sowie den Parameter --key-source
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.