Erstellen und Verwalten von Verschlüsselungsbereichen
Artikel
14 Minuten Lesedauer
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.
Erstellen eines Verschlüsselungsbereichs
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. Außerdem muss sich der Schlüsseltresor oder das verwaltete HSM in derselben Region befinden wie das Speicherkonto.
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.
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 die Einstellung 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, und geben Sie einen Schlüsseltresor oder ein verwaltetes HSM und einen Schlüssel an, die für diesen Verschlüsselungsbereich verwendet werden sollen.
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 neuen 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:
Erstellen eines Verschlüsselungsbereichs, der mit kundenseitig verwalteten Schlüsseln geschützt wird
Wenn Sie einen neuen Verschlüsselungsbereich erstellen möchten, der mit kundenseitig verwalteten Schlüsseln geschützt wird, die in einem Schlüsseltresor oder einem verwalteten HSM gespeichert sind, konfigurieren Sie zunächst kundenseitig verwaltete Schlüssel für das Speicherkonto. Sie müssen dem Speicherkonto eine verwaltete Identität zuweisen und dann die verwaltete Identität verwenden, um die Zugriffsrichtlinie für den Schlüsseltresor oder das verwaltete HSM so zu konfigurieren, dass das Speicherkonto über Zugriffsberechtigungen verfügt.
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. Der Schlüsseltresor oder das verwaltete HSM muss sich in derselben Region wie das Speicherkonto befinden.
Denken Sie daran, die Platzhalterwerte in diesem Beispiel durch Ihre eigenen Werte zu ersetzen:
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$keyVaultName = "<key-vault>"
$keyUri = "<key-uri>"
$scopeName2 = "customer2scope"
# Assign a system managed identity to the storage account.
$storageAccount = Set-AzStorageAccount -ResourceGroupName $rgName `
-Name $accountName `
-AssignIdentity
# Configure the access policy for the key vault.
Set-AzKeyVaultAccessPolicy `
-VaultName $keyVaultName `
-ObjectId $storageAccount.Identity.PrincipalId `
-PermissionsToKeys wrapkey,unwrapkey,get
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.
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:
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:
Erstellen eines Verschlüsselungsbereichs, der mit kundenseitig verwalteten Schlüsseln geschützt wird
Wenn Sie einen neuen Verschlüsselungsbereich erstellen möchten, der mit kundenseitig verwalteten Schlüsseln in einem Schlüsseltresor oder einem verwalteten HSM geschützt wird, konfigurieren Sie zunächst kundenseitig verwaltete Schlüssel für das Speicherkonto. Sie müssen dem Speicherkonto eine verwaltete Identität zuweisen und dann die verwaltete Identität verwenden, um die Zugriffsrichtlinie für den Schlüsseltresor so zu konfigurieren, dass das Speicherkonto über Zugriffsberechtigungen verfügt. Weitere Informationen finden Sie unter Kundenseitig verwaltete Schlüssel für die Azure Storage-Verschlüsselung.
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. Der Schlüsseltresor oder das verwaltete HSM muss sich in derselben Region wie das Speicherkonto befinden.
Denken Sie daran, die Platzhalterwerte in diesem Beispiel durch Ihre eigenen Werte zu ersetzen:
az login
az account set --subscription <subscription-id>
az storage account update \
--name <storage-account> \
--resource-group <resource_group> \
--assign-identity
storage_account_principal=$(az storage account show \
--name <storage-account> \
--resource-group <resource-group> \
--query identity.principalId \
--output tsv)
az keyvault set-policy \
--name <key-vault> \
--resource-group <resource_group> \
--object-id $storage_account_principal \
--key-permissions get unwrapKey wrapKey
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.
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:
Wie Sie die Azure Storage-Verschlüsselung mit kundenseitig verwalteten Schlüsseln in einem Schlüsseltresor oder verwalteten HSM konfigurieren können, erfahren Sie in den folgenden Artikeln:
Navigieren Sie zum Anzeigen der Verschlüsselungsbereiche für ein Speicherkonto im Azure-Portal zur Einstellung Verschlüsselungsbereiche für das Speicherkonto. In diesem Bereich können Sie einen Verschlüsselungsbereich aktivieren oder deaktivieren oder den Schlüssel für einen Verschlüsselungsbereich ändern.
Zum Anzeigen von Details für einen kundenseitig verwalteten Schlüssel, einschließlich Schlüssel-URI und -version und ob die Schlüsselversion automatisch aktualisiert wird, folgen Sie dem Link in der Spalte Schlüssel.
Rufen Sie den Befehl Get-AzStorageEncryptionScope auf, um die für ein Speicherkonto verfügbaren Verschlüsselungsbereiche mit PowerShell aufzulisten. Denken Sie daran, die Platzhalterwerte in diesem Beispiel durch Ihre eigenen Werte zu ersetzen:
Rufen Sie den Befehl az storage account encryption-scope list auf, um die für ein Speicherkonto verfügbaren Verschlüsselungsbereiche mit der Azure CLI aufzulisten. Denken Sie daran, die Platzhalterwerte in diesem Beispiel durch Ihre eigenen Werte zu ersetzen:
az storage account encryption-scope list \
--account-name <storage-account> \
--resource-group <resource-group>
Erstellen eines Containers mit einem Standardverschlüsselungsbereich
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.
Wenn Sie einen Container mit einem Standardverschlüsselungsbereich im Azure-Portal erstellen möchten, erstellen Sie zunächst den Verschlüsselungsbereich wie unter Erstellen eines Verschlüsselungsbereichs beschrieben. Führen Sie anschließend die folgenden Schritte aus, um den Container zu erstellen:
Navigieren Sie zur Liste der Container in Ihrem Speicherkonto, und wählen Sie die Schaltfläche Hinzufügen aus, um einen neuen Container zu erstellen.
Erweitern Sie im Bereich Neuer Container die Einstellungen unter Erweitert.
Wählen Sie in der Dropdownliste Verschlüsselungsbereich den Standardverschlüsselungsbereich für den Container aus.
Wenn alle Blobs im Container den Standardverschlüsselungsbereich verwenden sollen, aktivieren Sie das Kontrollkästchen Use this encryption scope for all blobs in the container (Diesen Verschlüsselungsbereich für alle Blobs im Container verwenden). Ist dieses Kontrollkästchen aktiviert, kann ein einzelnes Blob im Container den Verschlüsselungsbereich nicht überschreiben.
Wenn Sie einen Container mit einem Standardverschlüsselungsbereich mit PowerShell erstellen möchten, rufen Sie den Befehl New-AzStorageContainer auf, und geben Sie dabei den Bereich für den Parameter -DefaultEncryptionScope an. Legen Sie den Parameter -PreventEncryptionScopeOverride auf true fest, um zu erzwingen, dass alle Blobs in einem Container den Standardbereich des Containers verwenden.
$containerName1 = "container1"
$ctx = New-AzStorageContext -StorageAccountName $accountName -UseConnectedAccount
# Create a container with a default encryption scope that cannot be overridden.
New-AzStorageContainer -Name $containerName1 `
-Context $ctx `
-DefaultEncryptionScope $scopeName1 `
-PreventEncryptionScopeOverride $true
Wenn Sie einen Container mit einem Standardverschlüsselungsbereich mit der Azure CLI erstellen möchten, rufen Sie den Befehl az storage container create auf, und geben Sie dabei den Bereich für den Parameter --default-encryption-scope an. Legen Sie den Parameter --prevent-encryption-scope-override auf true fest, um zu erzwingen, dass alle Blobs in einem Container den Standardbereich des Containers verwenden.
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.
Hochladen eines Blobs mit einem Verschlüsselungsbereich
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.
Wenn Sie ein neues Blob mit einem Verschlüsselungsbereich hochladen, können Sie die Standardzugriffsebene für dieses Blob nicht ändern.
Wenn Sie ein Blob hochladen und den Verschlüsselungsbereich über das Azure-Portal angeben möchten, erstellen Sie zunächst den Verschlüsselungsbereich wie unter Erstellen eines Verschlüsselungsbereichs beschrieben. Führen Sie anschließend die folgenden Schritte aus, um das Blob zu erstellen:
Navigieren Sie zu dem Container, in den Sie das Blob hochladen möchten.
Wählen Sie die Schaltfläche Hochladen aus, und navigieren Sie zum hochzuladenden Blob.
Erweitern Sie im Bereich Blob hochladen die Einstellungen unter Erweitert.
Navigieren Sie zum Dropdownmenü im Abschnitt Verschlüsselungsbereich. Standardmäßig wird das Blob mit dem Standardverschlüsselungsbereich für den Container erstellt, sofern einer angegeben wurde. Wenn der Container erfordert, dass Blobs den Standardverschlüsselungsbereich verwenden, ist dieser Abschnitt deaktiviert.
Wenn Sie einen anderen Bereich für das hochzuladende Blob angeben möchten, wählen Sie Vorhandenen Bereich auswählen und dann in der Dropdownliste den gewünschten Bereich aus.
Wenn Sie ein Blob mit einem Verschlüsselungsbereich über PowerShell hochladen möchten, rufen Sie den Befehl Set-AzStorageBlobContent auf, und geben Sie den Verschlüsselungsbereich für das Blob an.
$containerName2 = "container2"
$localSrcFile = "C:\temp\helloworld.txt"
$ctx = New-AzStorageContext -StorageAccountName $accountName -UseConnectedAccount
# Create a new container with no default scope defined.
New-AzStorageContainer -Name $containerName2 -Context $ctx
# Upload a block upload with an encryption scope specified.
Set-AzStorageBlobContent -Context $ctx `
-Container $containerName2 `
-File $localSrcFile `
-Blob "helloworld.txt" `
-BlobType Block `
-EncryptionScope $scopeName2
Wenn Sie ein Blob mit einem Verschlüsselungsbereich über die Azure CLI hochladen möchten, rufen Sie den Befehl az storage blob upload auf, und geben Sie den Verschlüsselungsbereich für das Blob an.
Wenn Sie Azure Cloud Shell verwenden, führen Sie die unter Hochladen eines Blobs beschriebenen Schritte aus, um eine Datei im Stammverzeichnis zu erstellen. Anschließend können Sie diese Datei mithilfe des folgenden Beispiels in ein Blob hochladen:
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:
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:
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:
Wenn ein Verschlüsselungsbereich deaktiviert ist, wird Ihnen dieser nicht mehr in Rechnung gestellt. Deaktivieren Sie alle Verschlüsselungsbereiche, die nicht benötigt werden, um unnötige Gebühren zu vermeiden. Weitere Informationen finden Sie unter Azure Storage-Verschlüsselung für ruhende Daten.
Navigieren Sie zum Deaktivieren eines Verschlüsselungsbereichs im Azure-Portal zur Einstellung Verschlüsselungsbereiche für das Speicherkonto, und wählen Sie den gewünschten Verschlüsselungsbereich und dann Deaktivieren aus.
Rufen Sie zum Deaktivieren eines Verschlüsselungsbereichs mit PowerShell den Befehl „Update-AzStorageEncryptionScope“ auf, und fügen Sie den Parameter -State mit dem Wert disabled ein, wie im folgenden Beispiel gezeigt. Wenn Sie einen Verschlüsselungsbereich wieder aktivieren möchten, rufen Sie den gleichen Befehl auf. Legen Sie dabei den Parameter -State auf enabled fest. Denken Sie daran, die Platzhalterwerte in diesem Beispiel durch Ihre eigenen Werte zu ersetzen:
Rufen Sie zum Deaktivieren eines Verschlüsselungsbereichs mit der Azure CLI den Befehl az storage account encryption-scope update auf, und fügen Sie den Parameter --state mit dem Wert Disabled ein, wie im folgenden Beispiel gezeigt. Wenn Sie einen Verschlüsselungsbereich wieder aktivieren möchten, rufen Sie den gleichen Befehl auf. Legen Sie dabei den Parameter --state auf Enabled fest. Denken Sie daran, die Platzhalterwerte in diesem Beispiel durch Ihre eigenen Werte zu ersetzen:
Das Löschen eines Verschlüsselungsbereichs ist nicht möglich. Achten Sie darauf, alle derzeit nicht benötigten Verschlüsselungsbereiche zu deaktivieren, um unerwartete Kosten zu vermeiden.